[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "taxbrainai-mcp" version = "0.1.1" description = "Standalone MCP server: 8 deterministic Indian income-tax tools over the taxbrainai-compute engine + a vendored statute graph." readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } authors = [{ name = "Harshil" }] keywords = ["mcp", "model-context-protocol", "india", "income-tax", "tax", "decimal", "115BAC"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Office/Business :: Financial :: Accounting", ] dependencies = [ "taxbrainai-compute>=0.1.0", "pydantic>=2", ] [project.optional-dependencies] # The MCP SDK (FastMCP). The tool core imports without it; only the server wrapper needs it. mcp = ["mcp>=1.10"] dev = ["pytest>=8", "ruff>=0.6", "mcp>=1.10"] [project.scripts] taxbrainai-mcp = "taxbrainai_mcp.server:main" [project.urls] Homepage = "https://github.com/harshil-projects/taxbrainai-mcp" Source = "https://github.com/harshil-projects/taxbrainai-mcp" Issues = "https://github.com/harshil-projects/taxbrainai-mcp/issues" [tool.hatch.build.targets.wheel] packages = ["src/taxbrainai_mcp"] [tool.hatch.build.targets.wheel.force-include] "src/taxbrainai_mcp/data/nodes.csv" = "taxbrainai_mcp/data/nodes.csv" "src/taxbrainai_mcp/data/edges.csv" = "taxbrainai_mcp/data/edges.csv" [tool.hatch.build.targets.sdist] exclude = [ ".pytest_cache", ".ruff_cache", "**/__pycache__", "*.egg-info", "/dist", ] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q" [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] # Default E (pycodestyle) + F (pyflakes). E702 is relaxed for the compact numeric # style inherited from the taxbrainai-compute-facing compute service. ignore = ["E702"]