
Code Graph RAG
Analyzes codebases across 11 programming languages using Tree-sitter parsing and creates a semantic knowledge graph stored in SQLite. Enables natural language queries about code structure, relationships, and functionality with hybrid search combining graph traversal and vector similarity.
Provides advanced code graph analysis through specialized agents for parsing, indexing, querying, and semantic search across codebases with Tree-sitter parsing for multiple languages, SQLite vector storage, and hybrid search combining structural graph traversal with semantic similarity for code review workflows, refactoring analysis, and natural language codebase understanding.
What it does
- Parse and index codebases in 11+ programming languages
- Query code structure using natural language
- Search for functions, classes, and dependencies semantically
- Analyze code relationships and call graphs
- Generate graph visualizations of codebase architecture
- Perform hybrid search combining structural and semantic matching
Best for
About Code Graph RAG
Code Graph RAG is a community-built MCP server published by er77 that provides AI assistants with tools and capabilities via the Model Context Protocol. Code Graph RAG enables advanced code analysis with graph traversal, semantic search, and multi-language support for smar It is categorized under developer tools.
How to install
You can install Code Graph RAG in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Code Graph RAG is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Code Graph RAG MCP Server
Sponsor https://accelerator.slider-ai.ru/
Advanced Multi-Language Code Analysis with Semantic Intelligence
A powerful Model Context Protocol server that creates intelligent graph representations of your codebase with comprehensive semantic analysis capabilities.
π 11 Languages Supported | β‘ 5.5x Faster | π Semantic Search | π 26 MCP Methods
π Quick Start
Installation
LATEST VERSION ONLY FROM GitHub Realeases
do not use npm repository any more
# Install globally
npm install -g ./er77-code-graph-rag-mcp-2.7.12.tgz
code-graph-rag-mcp --version
Claude Desktop Integration
# Quick setup (recommended)
npx @modelcontextprotocol/inspector add code-graph-rag \
--command "npx" \
--args "@er77/code-graph-rag-mcp /path/to/your/codebase"
or
#
claude mcp add-json code-graph-rag ' {
"command": "npx",
"args": ["@er77/code-graph-rag-mcp", "/_work_fodler"],
"env": {
"MCP_TIMEOUT": "80000"
}
}
Manual setup: Add to Claude Desktop config β See detailed instructions
Gemini CLI Integration
# Example
gemini mcp add-json code-graph-rag '{
"command": "npx",
"args": ["@er77/code-graph-rag-mcp", "/path/to/your/codebase"]
}'
Codex CLI Integration
# Recommended: add a *global* MCP server entry (works from any project folder)
codex mcp remove code-graph-rag # optional cleanup
codex mcp add code-graph-rag -- code-graph-rag-mcp
# Or point Codex directly at a local dev build (no npm/npx required)
codex mcp remove code-graph-rag # optional cleanup
codex mcp add code-graph-rag -- node /absolute/path/to/code-graph-rag-mcp/dist/index.js
Multi-codebase support: Analyze multiple projects simultaneously β Multi-Codebase Setup Guide
Installation Guide (All Clients)
- NPM:
npm install -g @er77/code-graph-rag-mcp - Run server locally:
code-graph-rag-mcp [directory] - Claude: use Inspector (above) or see Quick Start
- Gemini: configure via
gemini mcp add-json ...(above) - Codex: configure via
codex mcp add ...(above)
π Performance
5.5x faster than Native Claude tools with comprehensive testing results:
| Metric | Native Claude | MCP CodeGraph | Improvement |
|---|---|---|---|
| Execution Time | 55.84s | <10s | 5.5x faster |
| Memory Usage | Process-heavy | 65MB | Optimized |
| Features | Basic patterns | 26 methods | Comprehensive |
| Accuracy | Pattern-based | Semantic | Superior |
π Key Features
π¬ Advanced Analysis Tools (26 MCP Methods)
| Feature | Description | Use Case |
|---|---|---|
| Semantic Search | Natural language code search | "Find authentication functions" |
| Code Similarity | Duplicate & clone detection | Identify refactoring opportunities |
| JSCPD Clone Scan | JSCPD-based copy/paste detection without embeddings | Targeted duplicate sweeps |
| Impact Analysis | Change impact prediction | Assess modification risks |
| AI Refactoring | Intelligent code suggestions | Improve code quality |
| Hotspot Analysis | Complexity & coupling metrics | Find problem areas |
| Cross-Language | Multi-language relationships | Polyglot codebases |
| Graph Health | Database diagnostics | get_graph_health |
| Version Info | Server version & runtime details | get_version |
| Safe Reset | Clean reindexing | reset_graph, clean_index |
| Batched Indexing | Resumable indexing with progress (Codex-safe for big repos) | batch_index |
| Agent Telemetry | Runtime metrics across agents | get_agent_metrics |
| Bus Diagnostics | Inspect/clear knowledge bus topics | get_bus_stats, clear_bus_topic |
| Lerna Project Graph | Workspace dependency DAG export, optional ingest, cached refresh control | lerna_project_graph (requires Lerna config) |
| Semantic Warmup | Configurable cache priming for embeddings | mcp.semantic.cacheWarmupLimit |
β‘ High-Performance Architecture
| Metric | Capability | Details |
|---|---|---|
| Parsing Speed | 100+ files/second | Tree-sitter based |
| Query Response | <100ms | Optimized SQLite + vector search |
| Agent System | Multi-agent coordination | Resource-managed execution |
| Vector Search | Hardware-accelerated (optional) | Automatic embedding ingestion |
| AST Analysis | Precise code snippets | Semantic context extraction |
π Multi-Language Support (11 Languages)
| Language | Features | Support Level |
|---|---|---|
| Python | Async/await, decorators, magic methods (40+), dataclasses | β Advanced (95%) |
| TypeScript/JavaScript | Full ES6+, JSX, TSX, React patterns | β Complete (100%) |
| C/C++ | Functions, structs/unions/enums, classes, namespaces, templates | β Advanced (90%) |
| C# | Classes, interfaces, enums, properties, LINQ, async/await | β Advanced (90%) |
| Rust | Functions, structs, enums, traits, impls, modules, use | β Advanced (90%) |
| Go | Packages, functions, structs, interfaces, goroutines, channels | β Advanced (90%) |
| Java | Classes, interfaces, enums, records (Java 14+), generics, lambdas | β Advanced (90%) |
| Kotlin | Packages/imports, classes/objects, functions/properties, relationships | β Implemented |
| VBA | Modules, subs, functions, properties, user-defined types | β Regex-based (80%) |
π οΈ Usage Examples
# Single project analysis
code-graph-rag-mcp
code-graph-rag-mcp /path/to/your/project
# CLI helpers
code-graph-rag-mcp --help
code-graph-rag-mcp --version
# Multi-project setup (see Multi-Codebase Setup Guide)
# Configure multiple projects in Claude Desktop config
# Check installation
code-graph-rag-mcp --help
# Health & maintenance
# Health check (totals + sample)
get_graph_health
# Reset graph data safely
reset_graph
# Clean reindex (reset + full index)
clean_index
# Batched index with progress (recommended for strict clients/timeouts)
batch_index
# Lerna workspace graph (ingest into storage)
lerna_project_graph --args '{"ingest": true}'
# Force refresh graph and re-ingest (bypass cache)
lerna_project_graph --args '{"ingest": true, "force": true}'
# Cached runs return `cached: true`; use `force` to break the 30s debounce when configs change.
# Agent telemetry snapshot
get_agent_metrics
# Knowledge bus diagnostics
get_bus_stats
clear_bus_topic --args '{"topic": "semantic:search"}'
# One-shot index from the CLI (debug mode)
node dist/index.js /home/er77/tt '{"jsonrpc":"2.0","id":"index-1","method":"tools/call","params":{"name":"index","arguments":{"directory":"/home/er77/tt","incremental":false,"fullScan":true,"reset":true}}}'
# Relationships for an entity name
list_entity_relationships (entityName: "YourEntity", relationshipTypes: ["imports"])
# Adjust semantic warmup (optional)
export MCP_SEMANTIC_WARMUP_LIMIT=25
# Note: when an agent is saturated, `AgentBusyError` responses include `retryAfterMs` hints.
With Claude Desktop:
- "What entities are in my codebase?"
- "Find similar code to this function"
- "Analyze the impact of changing this class"
- "Suggest refactoring for this file"
Multi-Project Queries:
- "Analyze the frontend-app codebase structure"
- "Find authentication functions in backend-api"
- "Compare user management across all projects"
π§° Troubleshooting
-
Codex/VSCode MCP stdio fails to start
Codex is strict about stdio:stdoutmust be JSON-RPC only. As of v2.7.12, console stdout logs are redirected tostderrduring MCP runs, and heavy initialization is deferred until after handshake / first tool call.
Recommended Codex config: omit the directory argument and let the server use the workspace root viaroots/list:[mcp_servers.code-graph-rag] command = "code-graph-rag-mcp" args = []If
index/clean_indextime out on large repos and the transport closes, preferbatch_indexwith a smallmaxFilesPerBatchand keep calling it with the returnedsessionIduntildone:true. If you must see logs on stdout for local debugging, setMCP_STDIO_ALLOW_STDOUT_LOGS=1(not recommended for strict clients). If startup still fails, check the global tmp log mirror:/tmp/code-graph-rag-mcp/mcp-server-YYYY-MM-DD.log(Linux/macOS; usesos.tmpdir()). -
batch_indexfails withagent_busy/memory_limit
Increase the coordinator/conductor limits (these gate task routing in-process): setCOORDINATOR_MEMORY_LIMIT/CONDUCTOR_MEMORY_LIMITandCOORDINATOR_MAX_MEMORY_MB/CONDUCTOR_MAX_MEMORY_MB, or editconfig/default.yaml.
If you see a real Node.js OOM, also start the server with a larger heap, e.g.NODE_OPTIONS="--max-old-space-size=4096" code-graph-rag-mcp. -
Database location / multi-repo isolation By default, the server stores its SQLite DB under
./.code-graph-rag/vectors.db(per repo). Add/.code-graph-rag/to your projectβs.gitignore. -
Native module mismatch (
better-sqlite3)
Since v2.6.4 the server automatically rebuilds the native binary when it detects aNODE_MODULE_VERSIONmismatch. If the automatic rebuild fails (for example due to file permissions), run:npm rebuild better-sqlite3in the installation directory (globally this is commonly
/usr/lib/node_modules/@er77/code-graph-rag-mcp). -
Legacy database missing new columns
Older installations might lack the latest `embe
README truncated. View full README on GitHub.
Alternatives
Related Skills
Browse all skillsThis skill allows Claude to conduct comprehensive security audits of code, infrastructure, and configurations. It leverages various tools within the security-pro-pack plugin, including vulnerability scanning, compliance checking, cryptography review, and infrastructure security analysis. Use this skill when a user requests a "security audit," "vulnerability assessment," "compliance review," or any task involving identifying and mitigating security risks. It helps to ensure code and systems adhere to security best practices and compliance standards.
Syncs Claude Skills with other AI coding tools like Cursor, Copilot, and Codeium by creating cross-references and shared knowledge bases. Invoke when user wants to leverage skills across multiple tools or create unified AI context.
This skill automates API endpoint testing, including request generation, validation, and comprehensive test coverage for REST and GraphQL APIs. It is used when the user requests API testing, contract testing, or validation against OpenAPI specifications. The skill analyzes API endpoints and generates test suites covering CRUD operations, authentication flows, and security aspects. It also validates response status codes, headers, and body structure. Use this skill when the user mentions "API testing", "REST API tests", "GraphQL API tests", "contract tests", or "OpenAPI validation".
Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".
Auto-route tasks to the cheapest z.ai (GLM) model that works correctly. Three-tier progression: Flash β Standard β Plus/32B. Classify before responding. FLASH (default): factual Q&A, greetings, reminders, status checks, lookups, simple file ops, heartbeats, casual chat, 1β2 sentence tasks, cron jobs. ESCALATE TO STANDARD: code >10 lines, analysis, comparisons, planning, reports, multi-step reasoning, tables, long writing >3 paragraphs, summarization, research synthesis, most user conversations. ESCALATE TO PLUS/32B: architecture decisions, complex debugging, multi-file refactoring, strategic planning, nuanced judgment, deep research, critical production decisions. Rule: If a human needs >30 seconds of focused thinking, escalate. If Standard struggles with complexity, go to Plus/32B. Save major API costs by starting cheap and escalating only when needed.
Analyze Sui Move test coverage, identify untested code, write missing tests, and perform security audits. Includes Python tools for parsing coverage output and generating reports.