[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "hcm-mcp-server"
version = "0.2.0"
description = "A FastAPI-based Model Context Protocol (MCP) server for Highway Capacity Manual (HCM) analysis and transportation engineering calculations."
readme = "README.md"
requires-python = ">=3.12"
license = {file = "LICENSE"}
authors = [
{name = "raynbowy23", email = "tamaru@wisc.edu"},
]
keywords = [
"fastapi",
"mcp",
"transportation",
"hcm",
"server",
"api",
]
dependencies = [
"faiss-cpu==1.11.0",
"fastapi==0.116.1",
"fastapi-mcp==0.3.6",
"langchain==0.3.26",
"mcp[cli]==1.11.0",
"numpy>=2.2.4",
"pymupdf>=1.26.1",
"pymupdf4llm>=0.0.25",
"sentence-transformers==5.0.0",
"transportations_library>=0.1.5",
"python-dotenv==1.1.1",
"chromadb==1.0.15",
"supabase==2.18.0",
]
[dependency-groups]
dev = [
"ruff>=0.9.10",
"types-setuptools>=75.8.2.20250305",
"pytest>=8.3.5"
]
[project.urls]
Homepage = "https://github.com/crosstraffic/highway-capacity-manual-mcp"
Documentation = "https://crosstraffic.github.io/highway-capacity-manual-mcp/#readme"
"Bug Tracker" = "https://github.com/crosstraffic/highway-capacity-manual-mcp/issues"
"Source Code" = "https://github.com/crosstraffic/highway-capacity-manual-mcp"
[tool.hatch.build.targets.wheel]
packages = ["hcm_mcp_server"]
[tool.ruff]
line-length = 120
target-version = "py312"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
python_files = "test_*.py"