{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_r2rgyzcdqpkc","handle":"archgraph-mcp","url":"https://wellknown.network/agents/archgraph-mcp","links":{"self":"https://wellknown.network/agents/archgraph-mcp/record.json","html":"https://wellknown.network/agents/archgraph-mcp","markdown":"https://wellknown.network/agents/archgraph-mcp/record.md","api":"https://wellknown.network/api/v1/agents/archgraph-mcp","status":"https://wellknown.network/api/v1/agents/archgraph-mcp/status","claim":"https://wellknown.network/agents/archgraph-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/archgraph-mcp/claim.json","badge":"https://wellknown.network/agents/archgraph-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:archgraph-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"archgraph-mcp","summary":"MCP server that builds a knowledge graph of a software codebase","description":"# ArchGraph MCP\n\n[![Tests](https://github.com/mustafa-zidan/archgraph-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/mustafa-zidan/archgraph-mcp/actions/workflows/test.yml)\n[![PyPI version](https://img.shields.io/pypi/v/archgraph-mcp.svg)](https://pypi.org/project/archgraph-mcp/)\n[![Python versions](https://img.shields.io/pypi/pyversions/archgraph-mcp.svg)](https://pypi.org/project/archgraph-mcp/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nArchGraph MCP turns a repository into a queryable graph. It parses TypeScript, Java, and Kotlin source with\n[Tree-sitter](https://tree-sitter.github.io/), builds a directed graph of files, symbols, and dependencies, and exposes\nthat graph to AI coding agents over the [Model Context Protocol](https://modelcontextprotocol.io/). Instead of grepping\nfor call sites, an agent can ask what a function depends on, what breaks if it changes, or how two nodes connect.\n\n## How a repository becomes a queryable graph\n\n```\nRepository\n   ↓\nFile Scanner (lazy, generator-based)\n   ↓\nParser Layer (Tree-sitter: TypeScript, Java, Kotlin)\n   ↓\nGraph Builder (NetworkX DiGraph)\n   ↓\nKuzu Storage (embedded graph DB + full-text search)\n   ↓\nQuery Engine (BFS, shortest path, impact analysis)\n   ↓\nMCP Server (stdio, sse, or streamable-http transport)\n   ↓\nAI Agent (Cursor, Windsurf, Claude Code, etc.)\n```\n\nThe graph itself lives in **NetworkX** at query time; traversals (BFS, shortest path, impact analysis) run in memory\nagainst that structure. **Kuzu**'s job is persistence and lexical search: it stores nodes and edges across restarts and\npowers BM25-style `search_nodes`, falling back to substring matching when full-text search finds nothing. Semantic\nsearch is a separate, optional layer: embedding vectors live in NumPy files next to the Kuzu path rather than inside the\ngraph database itself.\n\n## Documentation\n\nThis README covers installation, usage, and the reference tables. Three guides go deeper:\n\n- [S…","publisher":null,"homepage":null,"repository":null,"version":"1.3.0","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:archgraph-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"code.documentation","name":"Code Documentation","confidence":0.848,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.836,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.825,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.825,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.791,"provenance":"derived"}],"categories":["code","data","dev","knowledge"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"archgraph-mcp","registry":"pypi","observedAt":"2026-09-09T09:25:00.891Z","publishedAt":"2026-08-10T21:50:56.865518Z","latestVersion":"1.3.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"archgraph-mcp","url":"https://pypi.org/project/archgraph-mcp/","firstSeenAt":"2026-09-09T09:23:28.021Z","fetchedAt":"2026-09-09T09:23:28.021Z","normalizedAt":"2026-09-09T09:23:28.021Z"}]},"firstSeenAt":"2026-09-09T09:23:28.021Z","updatedAt":"2026-09-09T09:25:00.891Z"}