[project] name = "uk-break-clause-analyzer-mcp" version = "0.1.1" description = "A self-evaluating MCP server that assesses UK commercial-lease tenant break clauses, grounds every claim to verbatim source text, and publishes its own measured hallucination rate." readme = "README.md" requires-python = ">=3.12,<3.13" license = { text = "MIT" } authors = [{ name = "Ankur Sharma" }] keywords = ["mcp", "llm-evaluation", "hallucination", "grounding", "legal-tech", "break-clause"] classifiers = [ "Programming Language :: Python :: 3.12", "License :: OSI Approved :: MIT License", "Intended Audience :: Developers", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "fastmcp>=3.4,<4", "anthropic>=0.112,<1", "pydantic>=2.9,<3", "python-dateutil>=2.9,<3", ] [project.scripts] break-clause-analyzer = "break_clause_analyzer.server:main" [project.urls] Homepage = "https://github.com/Ankur-stockheads/rubo-mcp" Repository = "https://github.com/Ankur-stockheads/rubo-mcp" [dependency-groups] dev = [ "pytest>=9,<10", "pytest-recording>=0.13,<0.14", "pyyaml>=6,<7", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/break_clause_analyzer"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["."] addopts = "-q --tb=short" markers = [ "vcr: tests that replay recorded Anthropic API cassettes", ] [tool.uv] package = true