[project]
name = "bigkinds-mcp"
version = "3.0.0"
description = "BigKinds News MCP Server - Korean news search, analysis, and visualization"
readme = "README.md"
license = "MIT"
authors = [
    { name = "seolcoding", email = "seolcoding@gmail.com" }
]
keywords = ["mcp", "bigkinds", "korean-news", "news-search", "news-visualization", "data-journalism", "llm", "claude"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Text Processing :: General",
]
requires-python = ">=3.12"
dependencies = [
    "mcp>=1.0.0",
    "httpx>=0.27.0",
    "requests>=2.31.0",
    "beautifulsoup4>=4.12.0",
    "pydantic>=2.0.0",
    "cachetools>=5.0.0",
    "pandas>=2.0.0",
    "markdownify>=0.14.1",
    "kiwipiepy>=0.18.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.0.0",
    "pytest-asyncio>=0.23.0",
    "pytest-mock>=3.14.0",
    "pytest-cov>=6.0.0",
    "respx>=0.22.0",
]
remote = [
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.32.0",
    "redis>=5.0.0",
]

[project.urls]
Homepage = "https://github.com/seolcoding/bigkinds-mcp"
Repository = "https://github.com/seolcoding/bigkinds-mcp"
Issues = "https://github.com/seolcoding/bigkinds-mcp/issues"

[project.scripts]
bigkinds-mcp = "bigkinds_mcp.server:main"
bigkinds-mcp-remote = "bigkinds_mcp.remote_server:main"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/bigkinds_mcp", "bigkinds"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]

[dependency-groups]
dev = [
    "pytest>=9.0.2",
    "pytest-asyncio>=1.3.0",
]
