[project] name = "mcp-agent-selection" version = "0.1.0" description = "MCP service for intelligent Claude Code agent selection and project bootstrapping" authors = [ { name = "Agent Bootstrap Team", email = "agents@example.com" } ] readme = "README.md" license = { text = "MIT" } requires-python = ">=3.13" dependencies = [ "fastmcp>=2.12.2", "fastapi>=0.116.1", "pydantic>=2.11.7", "sqlalchemy>=2.0.43", "pyyaml>=6.0.0", "aiofiles>=24.1.0", "httpx>=0.27.0", "python-multipart>=0.0.12", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-html>=3.2.0", "allure-pytest>=2.13.0", "pytest-json-report>=1.5.0", "pytest-cov>=4.0.0", "ruff>=0.1.0", "watchfiles>=0.21.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src"] [tool.hatch.build.sources] "src" = "" [tool.ruff] line-length = 100 target-version = "py313" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP", "RUF"] ignore = ["E501"] [tool.pytest.ini_options] addopts = [ "-v", "--tb=short", "--html=reports/pytest_report.html", "--self-contained-html", "--json-report", "--json-report-file=reports/pytest_report.json", "--cov=src/mcp_agent_selection", "--cov-report=html:reports/coverage_html", "--alluredir=reports/allure-results" ] testpaths = ["tests"] markers = [ "unit: Unit tests", "integration: Integration tests", "smoke: Smoke tests for basic functionality" ] [project.scripts] agent-selection-server = "main:main" server = "main:main"