CodeGraphContext
An MCP server that indexes local code into a graph database to provide context to AI assistants.
ποΈ CodeGraphContext (CGC)
Turn code repositories into a queryable graph for AI agents.
π Languages:
- π¬π§ English
- π¨π³ δΈζ
- π―π΅ ζ₯ζ¬θͺ (Soon)
- π·πΊ Π ΡΡΡΠΊΠΈΠΉ (Soon)
- πͺπΈ EspaΓ±ol (Soon)
π Help translate CodeGraphContext to your language by raising an issue & PR on https://github.com/Shashankss1205/CodeGraphContext/issues!
A powerful MCP server and CLI toolkit that indexes local code into a graph database to provide context to AI assistants and developers. Use it as a standalone CLI for comprehensive code analysis or connect it to your favorite AI IDE via MCP for AI-powered code understanding.
π Quick Navigation
- π Quick Start
- π Supported Programming Languages
- π οΈ CLI Toolkit
- π€ MCP Server
- ποΈ Database Options
β¨ Experience CGC
π¨π»βπ» Installation and CLI
Install in seconds with pip and unlock a powerful CLI for code graph analysis.
π οΈ Indexing in Seconds
The CLI intelligently parses your tree-sitter nodes to build the graph.
π€ Powering your AI Assistant
Use natural language to query complex call-chains via MCP.
Project Details
- Version: 0.3.0
- Authors: Shashank Shekhar Singh [email protected]
- License: MIT License (See LICENSE for details)
- Website: CodeGraphContext
π¨βπ» Maintainer
CodeGraphContext is created and actively maintained by:
Shashank Shekhar Singh
- π§ Email: [email protected]
- π GitHub: @Shashankss1205
- π LinkedIn: Shashank Shekhar Singh
- π Website: codegraphcontext.vercel.app
Contributions and feedback are always welcome! Feel free to reach out for questions, suggestions, or collaboration opportunities.
Star History
Features
- Code Indexing: Analyzes code and builds a knowledge graph of its components.
- Relationship Analysis: Query for callers, callees, class hierarchies, call chains and more.
- Pre-indexed Bundles: Load famous repositories instantly with
.cgcbundles - no indexing required! (Learn more) - Live File Watching: Watch directories for changes and automatically update the graph in real-time (
cgc watch). - Interactive Setup: A user-friendly command-line wizard for easy setup.
- Dual Mode: Works as a standalone CLI toolkit for developers and as an MCP server for AI agents.
- Multi-Language Support: Full support for 14 programming languages.
- Flexible Database Backend: KΓΉzuDB (default, zero-config for all platforms), FalkorDB Lite (Unix-only), FalkorDB Remote, or Neo4j (all platforms via Docker/native).
Supported Programming Languages
CodeGraphContext provides comprehensive parsing and analysis for the following languages:
| Language | Language | Language | |||
|---|---|---|---|---|---|
| π | Python | π | JavaScript | π· | TypeScript |
| β | Java | ποΈ | C / C++ | #οΈβ£ | C# |
| πΉ | Go | π¦ | Rust | π | Ruby |
| π | PHP | π | Swift | π¨ | Kotlin |
| π― | Dart | πͺ | Perl |
Each language parser extracts functions, classes, methods, parameters, inheritance relationships, function calls, and imports to build a comprehensive code graph.
Database Options
CodeGraphContext supports multiple graph database backends to suit your environment:
| Feature | KΓΉzuDB (Default) | FalkorDB Lite | Neo4j |
|---|---|---|---|
| Setup | Zero-config / Embedded | Zero-config / In-process | Docker / External |
| Platform | All (Windows Native, macOS, Linux) | Unix-only (Linux/macOS/WSL) | All Platforms |
| Use Case | Desktop, IDE, Local development | Specialized Unix development | Enterprise, Massive graphs |
| Requirement | pip install kuzu | pip install falkordblite | Neo4j Server / Docker |
| Speed | β‘ Extremely Fast | β‘ Fast | π Scalable |
| Persistence | Yes (to disk) | Yes (to disk) | Yes (to disk) |
Used By
CodeGraphContext is already being explored by developers and projects for:
- Static code analysis in AI assistants
- Graph-based visualization of projects
- Dead code and complexity detection
If youβre using CodeGraphContext in your project, feel free to open a PR and add it here! π
Dependencies
neo4j>=5.15.0watchdog>=3.0.0stdlibs>=2023.11.18typer[all]>=0.9.0rich>=13.7.0inquirerpy>=0.3.4python-dotenv>=1.0.0tree-sitter>=0.21.0tree-sitter-language-pack>=0.6.0pyyamlpytestnbformatnbconvert>=7.16.6pathspec>=0.12.1
Note: Python 3.10-3.14 is supported.
Quick Start
Install the core toolkit
pip install codegraphcontext
If 'cgc' command isn't found, run our one-line fix:
curl -sSL [https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh](https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh) | bash
Getting Started
π Understanding CodeGraphContext Modes
CodeGraphContext operates in two modes, and you can use either or both:
π οΈ Mode 1: CLI Toolkit (Standalone)
Use CodeGraphContext as a powerful command-line toolkit for code analysis:
- Index and analyze codebases directly from your terminal
- Query code relationships, find dead code, analyze complexity
- Visualize code graphs and dependencies
- Perfect for developers who want direct control via CLI commands
π€ Mode 2: MCP Server (AI-Powered)
Use CodeGraphContext as an MCP server for AI assistants:
- Connect to AI IDEs (VS Code, Cursor, Windsurf, Claude, Kiro, etc.)
- Let AI agents query your codebase using natural language
- Automatic code understanding and relationship analysis
- Perfect for AI-assisted development workflows
You can use both modes! Install once, then use CLI commands directly OR connect to your AI assistant.
Installation (Both Modes)
-
Install:
pip install codegraphcontextIf you encounter "cgc: command not found" after installation, run the PATH fix script:
Linux/Mac:
# Download the fix script curl -O https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh # Make it executable chmod +x post_install_fix.sh # Run the script ./post_install_fix.sh # Restart your terminal or reload shell config source ~/.bashrc # or ~/.zshrc for zsh usersWindows (PowerShell):
# Download the fix script curl -O https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh # Run with bash (requires Git Bash or WSL) bash post_install_fix.sh # Restart PowerShell or reload profile . $PROFILE -
Database Setup (Automatic)
- KΓΉzuDB (Default): Runs natively on Windows, macOS, and Linux without any setup. Just
pip install kuzuand you're ready! - FalkorDB Lite (Alternative): Supported on Unix/macOS/WSL for Python 3.12+.
- Neo4j (Alternative): To use Neo4j instead, or if you prefer a server-based approach, run:
cgc neo4j setup
- KΓΉzuDB (Default): Runs natively on Windows, macOS, and Linux without any setup. Just
For CLI Toolkit Mode
Start using immediately with CLI commands:
# Index your current directory
cgc index .
# List all indexed repositories
cgc list
# Analyze who calls a function
cgc analyze callers my_function
# Find complex code
cgc analyze complexity --threshold 10
# Find dead code
cgc analyze dead-code
# Watch for live changes (optional)
cgc watch .
# See all commands
cgc help
See the full CLI Commands Guide for all available commands and usage scenarios.
π¨ Premium Interactive Visualization
CodeGraphContext can generate stunning, interactive knowledge graphs of your code. Unlike static diagrams, these are premium web-based explorers:
- Premium Aesthetics: Dark mode, glassmorphism, and modern typography (Outfit/JetBrains Mono).
- Interactive Inspection: Click any node to open a detailed side panel with symbol information, file paths, and context.
- Quick Search: Live-search through the graph to find specific symbols instantly.
- Intelligent Layouts: Force-directed and hierarchical layouts that make complex relationships readable.
- Zero-Dependency Viewing: Standalone HTML files that work in any modern browser.
# Visualize function calls
cgc analyze calls my_function --viz
# Explore class hierarchies
cgc analyze tree MyClass --viz
# Visualize search results
cgc find pattern "Auth" --viz
π€ For MCP Server Mode
Configure your AI assistant to use CodeGraphContext:
-
Setup: Run the MCP setup wizard to configure your IDE/AI assistant:
cgc mcp setupThe wizard can automatically detect and configure:
- VS Code
- Cursor
- Windsurf
- Claude
- Gemini CLI
- ChatGPT Codex
- Cline
- RooCode
- Amazon Q Developer
- Kiro
Upon successful configuration,
cgc mcp setupwill generate and place the necessary configuration files:- It creates an
mcp.jsonfile in your current directory for reference. - It stores your database credentials securely in
~/.codegraphcontext/.env. - It updates the settings file of your chosen IDE/CLI (e.g.,
.claude.jsonor VS Code'ssettings.json).
-
Start: Launch the MCP server:
cgc mcp start -
Use: Now interact with your codebase through your AI assistant using natural language! See examples below.
Ignoring Files (.cgcignore)
You can tell CodeGraphContext to ignore specific files and directories by creating a .cgcignore file in the root of your project. This file uses the same syntax as .gitignore.
Example .cgcignore file:
# Ignore build artifacts
/build/
/dist/
# Ignore dependencies
/node_modules/
/vendor/
# Ignore logs
*.log
MCP Client Configuration
The cgc mcp setup command attempts to automatically configure your IDE/CLI. If you choose not to use the automatic setup, or if your tool is not supported, you can configure it manually.
Add the following server configuration to your client's settings file (e.g., VS Code's settings.json or .claude.json):
{
"mcpServers": {
"CodeGraphContext": {
"command": "cgc",
"args": [
"mcp",
"start"
],
"env": {
"NEO4J_URI": "YOUR_NEO4J_URI",
"NEO4J_USERNAME": "YOUR_NEO4J_USERNAME",
"NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD"
},
"disabled": false,
"alwaysAllow": []
}
}
}
Natural Language Interaction Examples
Once the server is running, you can interact with it through your AI assistant using plain English. Here are some examples of what you can say:
Indexing and Watching Files
-
To index a new project:
- "Please index the code in the
/path/to/my-projectdirectory." OR - "Add the project at
~/dev/my-other-projectto the code graph."
- "Please index the code in the
-
To start watching a directory for live changes:
- "Watch the
/path/to/my-active-projectdirectory for changes." OR - "Keep the code graph updated for the project I'm working on at
~/dev/main-app."
When you ask to watch a directory, the system performs two actions at once:
- It kicks off a full scan to index all the code in that directory. This process runs in the background, and you'll receive a
job_idto track its progress. - It begins watching the directory for any file changes to keep the graph updated in real-time.
This means you can start by simply telling the system to watch a directory, and it will handle both the initial indexing and the continuous updates automatically.
- "Watch the
Querying and Understanding Code
-
Finding where code is defined:
- "Where is the
process_paymentfunction?" - "Find the
Userclass for me." - "Show me any code related to 'database connection'."
- "Where is the
-
Analyzing relationships and impact:
- "What other functions call the
get_user_by_idfunction?" - "If I change the
calculate_taxfunction, what other parts of the code will be affected?" - "Show me the inheritance hierarchy for the
BaseControllerclass." - "What methods does the
Orderclass have?"
- "What other functions call the
-
Exploring dependencies:
- "Which files import the
requestslibrary?" - "Find all implementations of the
rendermethod."
- "Which files import the
-
Advanced Call Chain and Dependency Tracking (Spanning Hundreds of Files): The CodeGraphContext excels at tracing complex execution flows and dependencies across vast codebases. Leveraging the power of graph databases, it can identify direct and indirect callers and callees, even when a function is called through multiple layers of abstraction or across numerous files. This is invaluable for:
-
Impact Analysis: Understand the full ripple effect of a change to a core function.
-
Debugging: Trace the path of execution from an entry point to a specific bug.
-
Code Comprehension: Grasp how different parts of a large system interact.
-
"Show me the full call chain from the
mainfunction toprocess_data." -
"Find all functions that directly or indirectly call
validate_input." -
"What are all the functions that
initialize_systemeventually calls?" -
"Trace the dependencies of the
DatabaseManagermodule."
-
-
Code Quality and Maintenance:
- "Is there any dead or unused code in this project?"
- "Calculate the cyclomatic complexity of the
process_datafunction insrc/utils.py." - "Find the 5 most complex functions in the codebase."
-
Repository Management:
- "List all currently indexed repositories."
- "Delete the indexed repository at
/path/to/old-project."
Contributing
Contributions are welcome! π
Please see our CONTRIBUTING.md for detailed guidelines.
If you have ideas for new features, integrations, or improvements, open an issue or submit a Pull Request.
Join discussions and help shape the future of CodeGraphContext.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MCP Advisor
Access the Model Context Protocol specification through prompts and resources.
XCF Xcode MCP Server
A Swift-based MCP server that integrates with Xcode to enhance AI development workflows.
CDK API MCP Server
Provides an offline AWS CDK API reference.
Icons8 MCP server
Get access to MCP server SVG and MCP server PNG icons in your vibe-coding projects
pfSense MCP Server
Enables natural language interaction with pfSense firewalls through GenAI applications.
StatsWR MCP Server
A template for deploying a remote MCP server on Cloudflare Workers without authentication.
DDEV MCP Server
Manage DDEV projects, enabling LLM applications to interact with local development environments through the MCP protocol.
CodeSeeker
Advanced code search and transformation powered by ugrep and ast-grep for modern development workflows.
Vibe Coder
An advanced MCP server for semantic routing, code generation, workflows, and AI-assisted development.
mcpcodeserver
Instead of direct calling MCP tools, mcpcode server transforms MCP tool calls into TypeScript programs, enabling smarter, lower-latency orchestration by LLMs.


