##################################################
# Main Project Environment
##################################################
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "konokenj.cdk-api-mcp-server"
dynamic = ["version"]
description = 'An MCP server provides AWS CDK API Reference'
readme = "README.md"
requires-python = ">=3.8"
license = "MIT"
keywords = []
authors = [
{ name = "Kenji Kono", email = "konoken@amazon.co.jp" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"fastmcp>=2.0.0",
"pydantic>=2.10.6",
]
[project.optional-dependencies]
dev = [
"mypy",
"PyGithub",
"semantic-version"
]
[project.urls]
Documentation = "https://github.com/konokenj/cdk-api-mcp-server#readme"
Issues = "https://github.com/konokenj/cdk-api-mcp-server/issues"
Source = "https://github.com/konokenj/cdk-api-mcp-server"
[project.scripts]
"konokenj.cdk-api-mcp-server" = "cdk_api_mcp_server.server:main"
[tool.hatch.version]
path = "cdk_api_mcp_server/__about__.py"
[tool.hatch.envs.default.scripts]
server = 'python cdk_api_mcp_server/server.py'
dev = 'npx @modelcontextprotocol/inspector hatch run python cdk_api_mcp_server/server.py'
debug-package = 'npx @modelcontextprotocol/inspector uvx konokenj.cdk-api-mcp-server'
[tool.hatch.build.targets.sdist]
include = [
"cdk_api_mcp_server/**/*.py",
]
[tool.hatch.build.targets.wheel]
packages = ["cdk_api_mcp_server"]
artifacts = [
"cdk_api_mcp_server/resources/**/*"
]
[tool.coverage.run]
source_pkgs = ["cdk_api_mcp_server", "cdk_api_downloader", "tests"]
branch = true
parallel = true
omit = [
"cdk_api_mcp_server/__about__.py",
]
[tool.coverage.paths]
cdk_api_mcp_server = ["cdk_api_mcp_server", "*/cdk-api-mcp-server/cdk_api_mcp_server"]
cdk_api_downloader = ["cdk_api_downloader", "*/cdk-api-mcp-server/cdk_api_downloader"]
tests = ["tests", "*/cdk-api-mcp-server/tests"]
[tool.coverage.report]
exclude_lines = [
"no cov",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"
##################################################
# Test Env (Hatch internal)
##################################################
[tool.hatch.envs.hatch-test]
default-args = ["tests/unit"]
extra-args = ["-o" , "asyncio_mode=auto"]
randomize = true
extra-dependencies = [
"fastmcp>=2.0.0",
"pydantic>=2.10.6",
"PyGithub",
"semantic-version",
"pytest-asyncio",
]
##################################################
# Dev Env
##################################################
[tool.hatch.envs.dev]
features = ["dev"]
[tool.hatch.envs.dev.scripts]
download = "python cdk_api_downloader/main.py"
check-updates = "python cdk_api_downloader/main.py --check"
typecheck = "mypy --install-types --non-interactive {args:cdk_api_mcp_server tests}"