[project]
name = "open-assembly-mcp"
version = "0.3.1"
description = "MCP server for Korean National Assembly Open API (open.assembly.go.kr) — bills, members, votes, committee composition, pending bills, plenary agenda, and per-member vote records"
readme = "README.md"
authors = [
    { name = "Kyusik Yang", email = "kyusik.yang@nyu.edu" }
]
requires-python = ">=3.10"
license = {text = "Apache-2.0"}
keywords = ["mcp", "korea", "assembly", "national-assembly", "open-assembly", "bills", "legislation", "voting", "api"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]
dependencies = [
    "httpx>=0.28.1",
    "mcp[cli]>=1.13.0",
    "python-dotenv>=1.1.1",
]

[project.urls]
Homepage = "https://github.com/kyusik-yang/open-assembly-mcp"
Repository = "https://github.com/kyusik-yang/open-assembly-mcp"
Documentation = "https://github.com/kyusik-yang/open-assembly-mcp#readme"
"Bug Tracker" = "https://github.com/kyusik-yang/open-assembly-mcp/issues"

[project.scripts]
"open-assembly-mcp" = "data_go_mcp.open_assembly.server:main"

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

[tool.hatch.build.targets.wheel]
packages = ["data_go_mcp"]

[dependency-groups]
dev = [
    "pytest>=8.4.1",
    "pytest-asyncio>=1.1.0",
    "pytest-cov>=4.1.0",
    "pytest-mock>=3.12.0",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
asyncio_default_fixture_loop_scope = "function"
