symgraph 2026.6.14

Semantic code intelligence library and MCP server - build knowledge graphs of codebases
Documentation
{
  "manifest_version": "1",
  "name": "symgraph",
  "version": "2026.6.14",
  "display_name": "Code Map",
  "description": "Semantic code intelligence - build knowledge graphs of codebases for AI-assisted exploration",
  "long_description": "Code Map uses tree-sitter to parse source code and build a knowledge graph of symbols and their relationships. It provides MCP tools for searching symbols, finding callers/callees, analyzing change impact, and building focused context for AI tasks.\n\nSupported languages: Rust, TypeScript, JavaScript, Python, Go, Java, C, C++",
  "author": {
    "name": "Graham",
    "url": "https://github.com/grahambrooks"
  },
  "repository": "https://github.com/grahambrooks/symgraph",
  "homepage": "https://github.com/grahambrooks/symgraph",
  "license": "MIT",
  "keywords": [
    "code-analysis",
    "semantic-search",
    "tree-sitter",
    "knowledge-graph",
    "rust",
    "typescript",
    "python"
  ],
  "server": {
    "type": "binary"
  },
  "mcp_config": {
    "command": "${__dirname}/bin/symgraph",
    "args": [
      "serve"
    ],
    "env": {},
    "platform_overrides": {
      "win32": {
        "command": "${__dirname}/bin/symgraph.exe"
      }
    }
  },
  "tools": [
    {
      "name": "symgraph-context",
      "description": "Build focused code context for a specific task. Returns entry points, related symbols, and code snippets."
    },
    {
      "name": "symgraph-search",
      "description": "Quick symbol search by name. Returns locations only (no code)."
    },
    {
      "name": "symgraph-callers",
      "description": "Find all functions/methods that call a specific symbol."
    },
    {
      "name": "symgraph-callees",
      "description": "Find all functions/methods that a specific symbol calls."
    },
    {
      "name": "symgraph-impact",
      "description": "Analyze the impact of changing a symbol. Breaks inbound coupling down by edge kind (method-call/contract, field-read/model, field-write/intrusive), counts inbound modules, and (with churn=true) annotates volatility. Supports format='json'."
    },
    {
      "name": "symgraph-definition",
      "description": "Get the full source code of a symbol with surrounding context lines."
    },
    {
      "name": "symgraph-file",
      "description": "List all symbols defined in a specific file."
    },
    {
      "name": "symgraph-references",
      "description": "Find all references to a symbol including calls, imports, type usages, and other relationships."
    },
    {
      "name": "symgraph-node",
      "description": "Get detailed information about a specific code symbol."
    },
    {
      "name": "symgraph-status",
      "description": "Get the status of the symgraph index. Shows statistics about indexed files, symbols, and relationships."
    },
    {
      "name": "symgraph-hierarchy",
      "description": "Get the parent/child contains hierarchy of a symbol (e.g., class contains methods)."
    },
    {
      "name": "symgraph-path",
      "description": "Find call paths from one symbol to another."
    },
    {
      "name": "symgraph-unused",
      "description": "Find unused symbols with no incoming references (dead code)."
    },
    {
      "name": "symgraph-implementations",
      "description": "Find all classes/structs that implement an interface or extend a trait/class."
    },
    {
      "name": "symgraph-diff-impact",
      "description": "Analyze the impact of changing a specific region of code or a git diff."
    },
    {
      "name": "symgraph-blame",
      "description": "Run git blame over the lines of a symbol's definition."
    },
    {
      "name": "symgraph-churn",
      "description": "Show file change frequency (churn) over a recent window — the volatility dimension."
    },
    {
      "name": "symgraph-module-graph",
      "description": "Aggregate the graph to a file/dir/module boundary: dependency adjacency, fan-in/fan-out, and cycles (SCCs). Supports format='json'."
    },
    {
      "name": "symgraph-coupling-score",
      "description": "Rank module-pair coupling on strength × distance × volatility (churn). Produces the hotspots table. Supports format='json'."
    },
    {
      "name": "symgraph-god-struct",
      "description": "Rank structs/classes by pub-field count × inbound-reference count × churn — the architectural-debt entry point. Supports format='json'."
    },
    {
      "name": "symgraph-dispatch-sites",
      "description": "Find every file that dispatches on a member of the given enum (control coupling). Supports format='json'."
    },
    {
      "name": "symgraph-reindex",
      "description": "Trigger incremental reindexing of the codebase. Runs in background."
    }
  ],
  "user_config": [
    {
      "id": "project_root",
      "name": "Project Root",
      "description": "Path to the project directory to index",
      "type": "string",
      "required": false,
      "env_var": "SYMGRAPH_ROOT"
    }
  ],
  "compatibility": {
    "platforms": [
      "darwin",
      "linux",
      "win32"
    ],
    "architectures": [
      "x64",
      "arm64"
    ]
  }
}