<
🇬🇧 English • 🇮🇳 हिन्दी • 🇨🇳 中文 • 🇯🇵 日本語 • 🇪🇸 Español • 🇩🇪 Deutsch • 🇫🇷 Français • 🇰🇷 한국어
Quick Start • How It Works • 3-Layer Workflow • MCP Tools • Architecture • Security • License
AST Codebase Intelligence, Symbol Extraction, Cyclomatic Complexity & Refactoring Analysis for LLMs & AI Coding Agents.
Traditional AI coding assistants dump entire raw source files into context windows, wasting tens of thousands of tokens on boilerplate, imports, and irrelevant functions. code-context-mcp introduces a claude-mem style 3-layer workflow that provides surgical code context before editing.
Add to your ~/.claude.json:
{
"mcpServers": {
"code-context-mcp": {
"command": "python3",
"args": ["/path/to/code_context_mcp.py"]
}
}
}Go to Settings > Features > MCP and add:
- Name:
code-context-mcp - Type:
stdio - Command:
python3 /path/to/code_context_mcp.py
Add to codex.config.toml:
[mcp.servers.code-context-mcp]
command = "python3"
args = ["/path/to/code_context_mcp.py"]Add to .antigravity/mcp_config.json:
{
"mcpServers": {
"code-context-mcp": {
"command": "python3",
"args": ["/path/to/code_context_mcp.py"]
}
}
}Add to opencode.json:
{
"mcpServers": {
"code-context-mcp": {
"command": "python3",
"args": ["/path/to/code_context_mcp.py"]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"code-context-mcp": {
"command": "python3",
"args": ["/path/to/code_context_mcp.py"]
}
}
}code-context-mcp runs as a standard Model Context Protocol (MCP) server communicating over stdio. It builds an Abstract Syntax Tree (AST) representation of Python source code locally and computes function metrics without sending data externally.
# Call tool: summarize_repository_architecture
response = summarize_repository_architecture(root_dir=".")
print(response)
# Returns file tree, line counts, extension distribution, and module entry points.# Call tool: extract_python_ast_symbols
response = extract_python_ast_symbols(file_path="code_context_mcp.py")
print(response)
# Returns class definitions, method signatures, decorator usages, and docstrings.# Call tool: analyze_cyclomatic_complexity
response = analyze_cyclomatic_complexity(file_path="code_context_mcp.py", threshold=10)
print(response)
# Identifies high-complexity methods and recommends specific modular refactorings.| Tool | Parameters | Description |
|---|---|---|
summarize_repository_architecture |
root_dir (str) |
High-level repository structure & file metrics. |
extract_python_ast_symbols |
file_path (str) |
AST symbol tree (Classes, Functions, Imports). |
analyze_cyclomatic_complexity |
file_path (str), threshold (int) |
Complexity metrics & actionable refactoring prompts. |
get_refactoring_context |
file_path (str), symbol_name (str) |
Targeted code extraction for surgical AI code edits. |
+-------------------------------------------------------+
| AI Coding Agent |
| (Claude Code / Cursor / Codex / Antigravity / etc.) |
+---------------------------+---------------------------+
| MCP (stdio)
v
+-------------------------------------------------------+
| code-context-mcp |
| |
| +--------------------+ +--------------------+ |
| | AST Parser Engine | | Cyclomatic Engine | |
| +--------------------+ +--------------------+ |
| | Symbol Extractor | | Refactor Context | |
| +--------------------+ +--------------------+ |
+-------------------------------------------------------+
code-context-mcp works 100% offline and locally. Zero telemetry, zero external API requests. See SECURITY.md for vulnerability disclosure policy.
Distributed under the MIT License. See LICENSE for more details.--26-7928CA?style=for-the-badge" alt="MCP Spec" />
AST Codebase Intelligence, Symbol Extraction, Cyclomatic Complexity & Refactoring Analysis for LLMs & AI Coding Agents.
Traditional AI coding assistants dump entire raw source files into context windows, wasting tens of thousands of tokens on boilerplate, imports, and irrelevant functions. code-context-mcp introduces a claude-mem style 3-layer workflow that provides surgical code context before editing.
- Layer 1: Structural Scan (
summarize_repository_architecture) — High-level file structure, line counts, and extensions map. - Layer 2: AST Symbol Outline (
extract_python_ast_symbols) — Class definitions, method signatures, docstrings, and line ranges without dumping raw code. - Layer 3: Targeted Analysis (
analyze_cyclomatic_complexity&search_code_todos_and_hotspots) — Cyclomatic complexity scores and TODO/FIXME hotspot discovery to pinpoint refactoring targets.
| Approach | Context Injected | Token Usage | Accuracy | Savings |
|---|---|---|---|---|
| Naive Raw File Dumping | Entire source files | ~45,000 tokens | Moderate | 0% |
| Naive Grep Search | Raw line matches | ~18,000 tokens | Low | ~60% |
code-context-mcp AST Workflow |
Exact AST symbols & complexity | ~6,500 tokens | High | ~85% Savings 🚀 |
flowchart TD
A[AI Coding Agent / LLM] -->|1. Request Repo Summary| B[summarize_repository_architecture]
A -->|2. Extract AST Symbols| C[extract_python_ast_symbols]
A -->|3. Analyze Complexity| D[analyze_cyclomatic_complexity]
A -->|4. Scan Hotspots| E[search_code_todos_and_hotspots]
subgraph MCP Server Engine: code-context-mcp
B --> F[AST & Static Code Parser]
C --> F
D --> F
E --> F
end
F -->|Compact Structural Context| A
summarize_repository_architecture: Scans directory paths, generates file structure breakdown by extension, and computes total lines of code.extract_python_ast_symbols: Parses Python files into Abstract Syntax Trees (AST) to extract classes, base classes, methods, docstrings, function signatures, and line markers.analyze_cyclomatic_complexity: Calculates cyclomatic complexity scores for all functions/methods to identify refactoring candidates and branch depth.search_code_todos_and_hotspots: Detects code comments containingTODO,FIXME,HACK, andXXXacross the codebase with exact file and line references.
claude mcp add code-context-mcp -- python -m code_context_mcp{
"mcpServers": {
"code-context-mcp": {
"command": "python",
"args": ["-m", "code_context_mcp"]
}
}
}[mcp_servers.code-context-mcp]
command = "python"
args = ["-m", "code_context_mcp"]{
"mcpServers": {
"code-context-mcp": {
"command": "python",
"args": ["-m", "code_context_mcp"]
}
}
}{
"mcpServers": {
"code-context-mcp": {
"command": "python",
"args": ["-m", "code_context_mcp"]
}
}
}