[project] name = "mcp-repo-graph" version = "0.4.21" description = "MCP server that gives LLMs a structural map of any codebase — entities, relationships, and flows — so they navigate to the right files without reading everything first." readme = "README.md" license = "MIT" requires-python = ">=3.11" authors = [ {name = "James Chahwan"}, ] keywords = ["mcp", "llm", "codebase", "graph", "navigation", "context", "ai"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries :: Python Modules", ] dependencies = [ "mcp[cli]>=1.0.0,<2", # 2.x renamed FastMCP → MCPServer; port before lifting "repo-graph-py>=0.4.18", "watchdog>=3.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0", "pytest-asyncio>=0.23", ] [project.urls] Homepage = "https://github.com/James-Chahwan/repo-graph" Repository = "https://github.com/James-Chahwan/repo-graph" Issues = "https://github.com/James-Chahwan/repo-graph/issues" [project.scripts] # `mcp-repo-graph` mirrors the PyPI package name so `uvx mcp-repo-graph` and # marketplace one-click installs (VS Code, Cursor, Claude registry) resolve a # launchable command. `repo-graph` is the historical name kept for existing # .mcp.json configs. mcp-repo-graph = "repo_graph.server:main" repo-graph = "repo_graph.server:main" repo-graph-init = "repo_graph.init:main" [tool.setuptools.packages.find] include = ["repo_graph*"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-ra --strict-markers" asyncio_mode = "auto" markers = [ "perf: performance regression gates (opt-in via -m perf)", "e2e: end-to-end MCP protocol tests (spawn server subprocess)", ] [build-system] requires = ["setuptools>=68.0"] build-backend = "setuptools.build_meta"