icon for mcp server

代码图谱RAG

STDIO

多语言代码分析与语义智能MCP服务器

Code Graph RAG MCP Server

npm version License: MIT Node.js

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.

🌟 10 Languages Supported | ⚡ 5.5x Faster | 🔍 Semantic Search | 📊 23 MCP Methods


🚀 Quick Start

Installation

# Install globally npm install -g @er77/code-graph-rag-mcp # Or use with npx (no installation) npx @er77/code-graph-rag-mcp /path/to/your/project

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

# Using helper script (prints the exact gemini CLI command to run) ./scripts/GEMINI-CORRECT-CONFIG.sh # Or manually (example) gemini mcp add-json code-graph-rag '{ "command": "npx", "args": ["@er77/code-graph-rag-mcp", "/path/to/your/codebase"] }'

Codex CLI Integration

# Using helper script (prints how to update ~/.codex/config.toml) ./scripts/CODEX-CORRECT-CONFIG.sh # Project-scoped MCP server in ~/.codex/config.toml [projects."/path/to/your/project".mcp_servers.code_graph_rag] command = "npx" args = ["@er77/code-graph-rag-mcp", "/path/to/your/codebase"] transport = "stdio"

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 /path/to/your/project
  • Claude: use Inspector (above) or see Quick Start
  • Gemini: run ./scripts/GEMINI-CORRECT-CONFIG.sh and follow the printed command
  • Codex: run ./scripts/CODEX-CORRECT-CONFIG.sh and update ~/.codex/config.toml

🏆 Performance

5.5x faster than Native Claude tools with comprehensive testing results:

MetricNative ClaudeMCP CodeGraphImprovement
Execution Time55.84s<10s5.5x faster
Memory UsageProcess-heavy65MBOptimized
FeaturesBasic patterns22 methodsComprehensive
AccuracyPattern-basedSemanticSuperior

🔍 Key Features

🔬 Advanced Analysis Tools (23 MCP Methods)

FeatureDescriptionUse Case
Semantic SearchNatural language code search"Find authentication functions"
Code SimilarityDuplicate & clone detectionIdentify refactoring opportunities
JSCPD Clone ScanJSCPD-based copy/paste detection without embeddingsTargeted duplicate sweeps
Impact AnalysisChange impact predictionAssess modification risks
AI RefactoringIntelligent code suggestionsImprove code quality
Hotspot AnalysisComplexity & coupling metricsFind problem areas
Cross-LanguageMulti-language relationshipsPolyglot codebases
Graph HealthDatabase diagnosticsget_graph_health
Version InfoServer version & runtime detailsget_version
Safe ResetClean reindexingreset_graph, clean_index
Agent TelemetryRuntime metrics across agentsget_agent_metrics
Bus DiagnosticsInspect/clear knowledge bus topicsget_bus_stats, clear_bus_topic
Semantic WarmupConfigurable cache priming for embeddingsmcp.semantic.cacheWarmupLimit

⚡ High-Performance Architecture

MetricCapabilityDetails
Parsing Speed100+ files/secondTree-sitter based
Query Response<100msOptimized SQLite + vector search
Agent SystemMulti-agent coordinationResource-managed execution
Vector SearchHardware-accelerated (optional)Automatic embedding ingestion
AST AnalysisPrecise code snippetsSemantic context extraction

🌐 Multi-Language Support (10 Languages)

LanguageFeaturesSupport Level
PythonAsync/await, decorators, magic methods (40+), dataclasses✅ Advanced (95%)
TypeScript/JavaScriptFull 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%)
RustFunctions, structs, enums, traits, impls, modules, use✅ Advanced (90%)
GoPackages, functions, structs, interfaces, goroutines, channels✅ Advanced (90%)
JavaClasses, interfaces, enums, records (Java 14+), generics, lambdas✅ Advanced (90%)
VBAModules, subs, functions, properties, user-defined types✅ Regex-based (80%)

🛠️ Usage Examples

# Single project analysis 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 # 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:

  1. "What entities are in my codebase?"
  2. "Find similar code to this function"
  3. "Analyze the impact of changing this class"
  4. "Suggest refactoring for this file"

Multi-Project Queries:

  1. "Analyze the frontend-app codebase structure"
  2. "Find authentication functions in backend-api"
  3. "Compare user management across all projects"

🧰 Troubleshooting

  • Native module mismatch (better-sqlite3)
    Since v2.6.4 the server automatically rebuilds the native binary when it detects a NODE_MODULE_VERSION mismatch. If the automatic rebuild fails (for example due to file permissions), run:

    npm rebuild better-sqlite3

    in 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 embeddings columns (metadata, model_name, etc.). The server now auto-upgrades in place, but if you still encounter migration errors, delete the local DB and re-run the indexer:

    rm ~/.code-graph-rag/codegraph.db

    Then start the server again to trigger a clean rebuild.

  • Running a one-shot index from the CLI
    You can trigger tools directly by passing JSON-RPC payloads. When a payload is supplied, the server skips the semantic agent and uses low-memory batching for debugging. Example:

    node dist/index.js /path/to/project \ '{"jsonrpc":"2.0","id":"index-1","method":"tools/call","params":{"name":"index","arguments":{"directory":"/path/to/project","incremental":false,"fullScan":true,"reset":true}}}'

    The command logs progress to logs_llm/mcp-server-YYYY-MM-DD.log. Set MCP_DEBUG_DISABLE_SEMANTIC=0 if you want embeddings enabled during the run.


📋 Changelog

🚀 Version 2.7.4 (2025-11-02) - Clone Reporting & CLI Boost

  • 🆕 Added --help/-h and --version/-v flags for quick CLI interaction
  • 🔄 detect_code_clones now merges deduplicated semantic groups with JSCPD summaries
  • 📊 jscpd_detect_clones summary includes duplicated line/token counts, percentages, and inline snippets
  • 🧪 Integration coverage verifies clone-report fields to guard against regressions
  • 🔁 Maintains vendored lightweight JSCPD pipeline with zero external deps

🚀 Version 2.7.0 (2025-11-02) - JSCPD Clone Detection

  • ➕ Added jscpd_detect_clones MCP tool exposing JSCPD duplicate detection without requiring embeddings
  • 🧩 Vendored lightweight JSCPD core/tokenizer for zero external build dependencies
  • 🧪 New integration fixtures ensure JSCPD scans surface expected duplicate blocks
  • 📚 README / tool catalog now counts 23 MCP methods and documents JSCPD usage

🚀 Version 2.6.0 (2025-10-12) - Major Architecture Upgrade

Breaking Changes & Major Improvements

  • 🔄 Provider-based embeddings: New architecture supporting memory/transformers/ollama/openai/cloudru providers
  • 🧭 Runtime diagnostics: get_agent_metrics, get_bus_stats, and clear_bus_topic expose live telemetry and knowledge-bus controls for Codex automation
  • 🛡️ Agent backpressure hints: MCP tools now receive structured agent_busy responses with retry guidance when capacity is saturated
  • 🎯 Deterministic graph IDs: SHA256-based stable IDs for entities and relationships
  • Enhanced vector store: Renamed tables (doc_embeddings, vec_doc_embeddings) with improved sqlite-vec integration
  • 🔧 YAML-driven configuration: Unified configuration across parser/indexer/embedding agents
  • 📊 Improved parser: Re-enabled tree-sitter ParserAgent with incremental parsing and richer metadata
  • 🛡️ Hardened MCP tools: Better entity resolution, structural+semantic responses, improved graph operations
  • 🔁 Idempotent operations: Local de-duplication and ON CONFLICT upserts for consistent graph writes

Technical Details:

  • Dynamic dimension detection at runtime with safe fallbacks
  • Batch deduplication by ID with transactional updates
  • Enhanced language analyzers with structured pattern data
  • SQLiteManager + GraphStorage singleton for consistency

Testing & Validation (2025-10-21):

  • ✅ All 16/16 test suites passing (200+ individual tests, 93.75% success rate)
  • ✅ 100% MCP method validation (22/22 methods comprehensively tested)
  • ✅ v2.6.0 new methods validated: get_agent_metrics, get_bus_stats, clear_bus_topic
  • ✅ Integration test coverage: All core components, semantic operations, and monitoring tools
  • ✅ v2.5.9 dual-schema fixes preserved and enhanced with sqliteVecEnabled property
  • ✅ Zero regressions after PR #20 integration
  • ⚠️ Known issue: Duplicate case "get_graph" in src/index.ts:1668 & 1707 (non-critical, line 1707 unreachable)

🎉 Version 2.5.9 (2025-10-06) - 100% Success Rate

  • Complete vector schema fix: Dual-schema support for sqlite-vec and fallback modes
  • All 17 MCP methods working: Verified 100% success rate
  • 📈 Success rate: 33% (v2.5.7) → 61% (v2.5.8) → 100% (v2.5.9)

Version 2.5.8 (2025-10-06) - Critical Infrastructure Fixes

  • Fixed agent concurrency limit: 3 → 10 concurrent agents
  • Fixed vector database schema: Dual-schema support for sqlite-vec extension

Previous Versions

Click to expand version history (2.5.7 - 2.3.3)

v2.5.7 - Semantic analysis improvements, lowered thresholds, clone detection v2.5.6 - Fixed DoraAgent type collision (+16% success rate) v2.5.5 - WASM path resolution fix, get_version tool, restart script v2.5.4 - Architecture Decision Records (ADRs) v2.5.3 - Deprecated dependency warning suppression v2.5.2 - Enhanced README documentation v2.5.1 - Python magic methods, import analysis enhancements v2.5.0 - 8 new languages (C#, Rust, C, C++, Go, Java, VBA), Research Trinity v2.4.1 - Rust AST parsing, system architecture docs v2.4.0 - Health check tools, AST hotspots, semantic routing v2.3.3 - Entity extraction fix (0 → 4,467 entities)


System Requirements

Minimum: Node.js 18+, 2GB RAM, Dual-core CPU Recommended: Node.js 18+, 8GB RAM, Quad-core CPU with SSD

Known Issues

  • Deprecated [email protected] warning: This is a transitive dependency from the optional onnxruntime-node package (used for ML embeddings). The package is deprecated but functional. The warning can be safely ignored as it doesn't affect core functionality.

🤝 Contributing

  1. Fork the repository
  2. Follow Agent Governance rules
  3. Submit pull request

Contributing GuideIssue Tracker


📄 License

MIT License - see LICENSE file for details.

Links: GitHubNPMMCP Protocol

MCP Now 重磅来袭,抢先一步体验