MCP server that builds a knowledge graph of a software codebase
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"archgraph-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# ArchGraph MCP [](https://github.com/mustafa-zidan/archgraph-mcp/actions/workflows/test.yml) [](https://pypi.org/project/archgraph-mcp/) [](https://pypi.org/project/archgraph-mcp/) [](LICENSE) ArchGraph MCP turns a repository into a queryable graph. It parses TypeScript, Java, and Kotlin source with [Tree-sitter](https://tree-sitter.github.io/), builds a directed graph of files, symbols, and dependencies, and exposes that graph to AI coding agents over the [Model Context Protocol](https://modelcontextprotocol.io/). Instead of grepping for call sites, an agent can ask what a function depends on, what breaks if it changes, or how two nodes connect. ## How a repository becomes a queryable graph ``` Repository ↓ File Scanner (lazy, generator-based) ↓ Parser Layer (Tree-sitter: TypeScript, Java, Kotlin) ↓ Graph Builder (NetworkX DiGraph) ↓ Kuzu Storage (embedded graph DB + full-text search) ↓ Query Engine (BFS, shortest path, impact analysis) ↓ MCP Server (stdio, sse, or streamable-http transport) ↓ AI Agent (Cursor, Windsurf, Claude Code, etc.) ``` The graph itself lives in **NetworkX** at query time; traversals (BFS, shortest path, impact analysis) run in memory against that structure. **Kuzu**'s job is persistence and lexical search: it stores nodes and edges across restarts and powers BM25-style `search_nodes`, falling back to substring matching when full-text search finds nothing. Semantic search is a separate, optional layer: embedding vectors live in NumPy files next to the Kuzu path rather than inside the graph database itself. ## Documentation This README covers installation, usage, and the reference tables. Three guides go deeper: - [S…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.