codegraph-ai

codegraph-ai

Serves structured code context via MCP, enabling AI agents to understand codebases with dependency graphs and significantly reduce token usage.

Category
Visit Server

README

CodeGraph (codegraph-ai)

Context engine for AI coding agents. Parses your codebase with tree-sitter, builds a dependency graph, and serves structured context via MCP.

npm package: codegraph-ai — install with npx codegraph-ai

Works with: Claude Code, Cursor, Windsurf, Cline, and any MCP-compatible client.

Result: Your AI agent gets pre-analyzed context instead of reading raw files. 96% fewer tokens on average.

Token savings (real benchmark)

Tested on a production Next.js project (82 files, 384 symbols):

Scenario Without With CodeGraph Reduction
Understand getAllServers + relationships 19,220 tk 637 tk 97%
Understand MCPServer (40 dependents) 40,742 tk 1,736 tk 96%
Search for "server" 4,716 tk 475 tk 90%
Understand project structure 15,145 tk 1,047 tk 93%
Total (8 operations) 126,488 tk 5,558 tk 96%

At 100 operations/day: ~$136/month saved on API costs.

Run the benchmark yourself: npx tsx src/benchmark.ts /path/to/project

How it works

Your codebase
    │
    ▼
[1. INDEX]    tree-sitter parses every file
    │          extracts: functions, classes, imports, exports, types
    ▼
[2. GRAPH]    resolves imports between files
    │          builds graph: node = symbol, edge = "uses/imports"
    ▼
[3. STORE]    SQLite + FTS5 full-text search (.codegraph.db)
    ▼
[4. SERVE]    MCP server (stdio) or web dashboard
    │
    ▼
Claude Code / Cursor / Windsurf / Cline
    receives only the relevant context, not entire files

Quick start

# Index your project
npx codegraph-ai index .

# Start MCP server (for AI agents)
npx codegraph-ai serve .

# Start web dashboard (for humans)
npx codegraph-ai dashboard .

# Query a symbol
npx codegraph-ai query getAllServers

# Run token savings benchmark
npx codegraph-ai benchmark .

MCP Tools

Tool Description
search Full-text search for symbols (functions, classes, types)
get_context Get a symbol with its dependencies and dependents
get_file_deps Get all imports and exports for a file
project_overview High-level stats: hub nodes, entry points, connections

Setup with your AI agent

Claude Code

{
  "mcpServers": {
    "codegraph": {
      "command": "npx",
      "args": ["codegraph-ai", "serve", "/path/to/your/project"]
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "codegraph": {
      "command": "npx",
      "args": ["codegraph-ai", "serve", "/path/to/your/project"]
    }
  }
}

Windsurf

Add to MCP settings:

{
  "mcpServers": {
    "codegraph": {
      "command": "npx",
      "args": ["codegraph-ai", "serve", "/path/to/your/project"]
    }
  }
}

Recommended CLAUDE.md instructions

Add this to your project's CLAUDE.md so your AI agent uses codegraph effectively:

## CodeGraph (read before exploring code)

This project has codegraph configured as MCP server. ALWAYS follow this flow:

1. **Before any task**: call `project_overview` to understand the structure
2. **Before searching code**: call `search` instead of grep/glob
3. **Before reading a file**: call `get_context` of the symbol you need — gives you code + dependencies + dependents without reading full files
4. **To understand a file**: call `get_file_deps` first — shows imports and exports
5. **Only read full files** when you need to edit code or codegraph context isn't enough

When NOT to use CodeGraph

CodeGraph is not always the right choice. Be aware of these limitations:

  • Stale index: If you don't use --watch and change code, the agent gets outdated info and may make wrong decisions. Always use serve --watch or re-index after changes.
  • Small projects: For projects with <20 files, it's faster to read files directly than making MCP calls. The overhead isn't worth it.
  • Editing code: When the agent needs to modify a file, it must read the full file anyway. CodeGraph helps with exploration, not editing.
  • Internal logic: CodeGraph only indexes exported symbols (functions, classes, types). Comments, configuration files, internal helper functions, and business logic details may not appear. Don't rely solely on codegraph for a full audit.

Rule of thumb: Use codegraph for understanding and navigating the codebase. Use file reads for editing and deep inspection.

Dashboard

Run codegraph dashboard to open an interactive visualization at http://localhost:3000:

  • Force-directed graph of your codebase
  • Click nodes to see dependencies and dependents
  • Search symbols with full-text search
  • Filter by type (functions, types, files)
  • Dark theme

Indexing performance

Step Time
Walk files 12ms
Parse all (82 files) 97ms
Store + build graph 54ms
Total 163ms

DB size: ~560 KB for 82 files / 384 symbols / 300 edges.

Supported languages

  • TypeScript (.ts, .tsx)
  • JavaScript (.js, .jsx)

Stack

  • tree-sitter (WASM) — parsing
  • better-sqlite3 — storage + FTS5
  • @modelcontextprotocol/sdk — MCP server
  • d3-force — graph visualization

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured