codebase-contextifier-9000
MCP server for semantic code search with AST-aware chunking, incremental indexing, and real-time monitoring. --- idk if it works or, moreover, is actually helpful. But it is cool.
Install / Use
claude mcp add jarmentor -- npx -y github:jarmentor/codebase-contextifier-9000If the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
OperationsSupported Platforms
Our assessment of codebase-contextifier-9000
codebase-contextifier-9000 scores 73/100 on our quality scale, 692nd of 755 Operations skills we index.
Its MCP Server is 26 KB long, well organised into 75 sections with 32 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 12 months ago. Expect some instructions to reference tool versions or APIs that have since changed.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
codebase-contextifier-9000 compared with similar skills
All 4 of these similar skills score higher than codebase-contextifier-9000; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| codebase-contextifier-9000 (this skill)by jarmentor | 73 | 3 | 12mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 108.0k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.7k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 92.8k | today | MCP Server |
Frequently asked questions
- How do I install codebase-contextifier-9000?
- Run
claude mcp add jarmentor -- npx -y github:jarmentor/codebase-contextifier-9000. The install tabs above show the steps for each supported agent. - Which AI agents does codebase-contextifier-9000 work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is codebase-contextifier-9000 safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is codebase-contextifier-9000 still maintained?
- The repository was last updated about 12 months ago. Expect some instructions to reference tool versions or APIs that have since changed.
Skill content
View source on GitHubCodebase Contextifier 9000
A Docker-based Model Context Protocol (MCP) server for semantic code search with AST-aware chunking, relationship tracking via Neo4j graph database, local LLM support, and incremental indexing.
Documentation
- 📚 Quick Start Guide - Get running in 5 minutes
- 🔧 Multi-Project Setup - Index multiple projects with shared backend
- ⚙️ Background Jobs - Job-based indexing for large codebases
- 👁️ File Watcher Guide - Real-time monitoring and auto-indexing
- 🔬 Research & Methodology - Deep dive into semantic code search
- 📖 Full Documentation - Complete docs directory
Table of Contents
- Features
- Architecture
- Quick Start
- MCP Tools
- Indexing Tools:
index_repository,get_job_status,list_indexing_jobs,cancel_indexing_job - Search Tools:
search_code,get_symbols - Graph Query Tools:
find_usages,find_dependencies,query_graph - Dependency Tools:
detect_dependencies,index_dependencies,list_indexed_dependencies - Status Tools:
get_indexing_status,clear_index,get_watcher_status,health_check
- Indexing Tools:
- Supported Languages
- Configuration
- Performance
- Troubleshooting
- Development
- Architecture Details
- Roadmap
- Research & References
- License
- Contributing
- Support
Features
- AST-Aware Chunking: Uses tree-sitter to respect function and class boundaries, maintaining semantic integrity
- Relationship Tracking: Neo4j graph database tracks function calls, imports, inheritance, and dependencies across your codebase
- External Dependency Mapping: Automatically creates placeholder nodes for external functions (WordPress, npm packages, etc.)
- Job-Based Indexing: Background indexing with progress tracking for large codebases
- On-Demand Container Spawning: Index any repository on your system without manual mounting
- Multi-Repository Search: Index and search across multiple projects with a shared backend
- Real-Time Updates: File system watcher automatically re-indexes changed files (optional)
- Local-First: All processing happens locally using Ollama for embeddings (no data leaves your machine)
- Polyglot Support: Supports 10+ programming languages including TypeScript, Python, PHP, Go, Rust, Java, C++, and more
- Incremental Indexing: Merkle tree-based change detection with 80%+ cache hit rates
- Production-Grade: Uses Qdrant vector database for sub-10ms search latency and Neo4j for relationship queries
- Dependency Knowledge Base: Special collection for indexing WordPress plugins, Composer packages, and npm modules
- Flexible Deployment: Per-project or centralized server deployment options
- MCP Integration: Works with Claude Desktop, Cursor, VS Code, and other MCP-compatible tools
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ MCP Client (Claude Code, Claude Desktop, Cursor, etc.) │
└──────────────────────────────┬──────────────────────────────────┘
│ MCP Protocol (stdio)
│
┌──────────────────────────────▼──────────────────────────────────┐
│ MCP Server Container (codebase-mcp-server) │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ FastMCP Server - Exposes MCP Tools: │ │
│ │ • index_repository (spawns indexer containers) │ │
│ │ • search_code (semantic search across all repos) │ │
│ │ • find_usages, find_dependencies (graph queries) │ │
│ │ • detect_dependencies, index_dependencies │ │
│ │ • get_job_status, list_indexing_jobs, cancel_job │ │
│ │ • get_symbols, get_indexing_status, health_check │ │
│ └──────────────┬───────────────────────────────────────────┘ │
│ │ │
│ │ Spawns via Docker Socket │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ On-Demand Indexer Containers (ephemeral) │ │
│ │ • Mounts any host directory │ │
│ │ • AST-aware chunking with tree-sitter │ │
│ │ • Extracts relationships (CALLS, IMPORTS, etc.) │ │
│ │ • Generates embeddings via Ollama │ │
│ │ • Updates shared Qdrant & Neo4j databases │ │
│ │ • Reports progress back to MCP server │ │
│ └──────────────────────┬──────────────────────────────┘ │
└─────────────────────────┼──────────────────────────────────────┘
│
┌───────────────┴───────────────────┐
│ │
┌──────▼──────┐ ┌────────────▼────────┐
│ Qdrant │ │ Neo4j │
│ Container │ │ Container │
│ (Vectors) │ │ (Relationships) │
└──────┬──────┘ └──────┬──────────────┘
│ │
┌──────▼────────────────────────────▼───────────┐
│ Persistent Docker Volumes: │
│ • qdrant_data (vector DB) │
│ • neo4j_data (graph DB) │
│ • index_data (merkle trees) │
│ • cache_data (embeddings cache) │
└───────────────────────────────────────────────┘
┌────────────────────────┐
│ Ollama (Host) │
│ Embedding Model │
└────────────────────────┘
Key Architectural Features
- Dual Database Architecture: Qdrant for semantic vector search, Neo4j for relationship graph queries
- Container Orchestration: MCP server spawns lightweight indexer containers on-demand via Docker socket
- Multi-Repository Support: Each repository gets its own merkle tree state, but shares the vector & graph databases
- Shared Backend: All projects use the same Qdrant & Neo4j instances, enabling cross-repository search and relationship tracking
- Job-Based Processing: Background jobs with progress tracking for large codebases
- Content-Addressable Caching: Embeddings are cached by content hash, shared across all repositories
- Relationship Extraction: AST-based extraction of CALLS, IMPORTS, EXTENDS, and IMPLEMENTS relationships
- External Dependency Tracking: Automatic creation of placeholder nodes for unresolved function calls
Quick Start
See QUICK_START.md for detailed setup instructions.
Prerequisites
- Docker Desktop (or Docker + Docker Compose)
- Ollama running locally with an embedding model:
# Install Ollama: https://ollama.ai # Recommended: Google's Gemma embedding model (best quality) ollama pull embeddinggemma:latest # Alternative: Nomic Embed (faster, smaller) ollama pull nomic-embed-text
Two Deployment Options
Option A: Centralized Server (Recommended)
Best for: Indexing from the MCP server, querying across all repositories
# 1. Start the backend
cd codebase-contextifier-9000
docker-compose up -d
# 2. Configure Claude Desktop (see below)
# 3. Index any repository
# In Claude: "Index the repository at /Users/me/projects/my-app"
Option B: Per-Project Setup
Best for: Each project manages its own indexing
# 1. Start shared backend (once)
cd codebase-contextifier-9000
docker-compose up -d
# 2. Copy .mcp.json to each project
cp .mcp.json.template ~/projects/my-app/.mcp.json
# 3. Open project in Claude Code
cd ~/projects/my-app
claude-code .
See MULTI_PROJECT_SETUP.md for details.
Claude Desktop Configuration
For Centralized Server (Option A):
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"codebase-contextifier": {
"command": "docker",
"args": [
"exec",
"-i",
"codebase-mcp-server",
"python",
"-m",
"src.server"
]
}
}
}
For Per-Project Setup (Option B):
Just copy .mcp.json.template to your project directory - no manual configuration needed!
Usage
Once configured, you can use these tools in Claude Desktop or Claude Code:
Index any repository on your system:
Claude, index the repository at /Users/me/projects/my-app
The system spawns a container, indexes the repository in the background, and reports progress.
Monitor indexing progress:
Claude, show me the status of job abc123
Search for code across all indexed repositories:
Claude, search for "authentication logic" in the codebase
Search with filters:
Claude, search for "error handling" filtering by language=python and repo_name=my-api
Extract symbols from a file:
Claude, get all functions from /workspace/src/utils.py
Find all usages of a function (graph query):
Claude, find all places where authenticate_user is called
Find dependencies of a function (graph query):
Claude, show me all functions that processPayment depends on
Detect and index external dependencies:
Claude, detect available WordPress plugins in this project
Claude, index the woocommerce plugin into the knowledge base
Check system status:
Claude, show me the indexing status and list all jobs
MCP Tools
Indexing Tools
index_repository
Index a repository from any directory on your host machine by spawning a lightweight indexer container.
Parameters:
host_path(string, required): Absolute path on host machine to repository (e.g.,/Users/me/projects/my-app)repo_name(string, optional): Unique identifier for this repository (defaults to directory name)incremental(bool): Use incremental indexing to only re-index changed files (default:true)exclude_patterns(string, optional): Comma-separated glob patterns to exclude (e.g.,"node_modules/*,dist/*")
Returns:
{
"success": true,
"job_id": "abc123def456",
"repo_name": "my-app",
"status": "queued",
"message": "Background indexing started for 'my-app'"
}
Example:
# Index a WordPress site, excluding plugins and uploads
await index_repository(
host_path="/Users/me/sites/my-wordpress",
repo_name="my-wordpress",
exclude_patterns="wp-content/plugins/*,wp-content/uploads/*,wp-includes/*"
)
get_job_status
Get the status and progress of an indexing job.
Parameters:
job_id(string, required): Job identifier returned fromindex_repository
Returns:
{
"success": true,
"job_id": "abc123def456",
"repo_name": "my-app",
"repo_path": "/Users/me/projects/my-app",
"status": "running",
"created_at"
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
108.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
92.8k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
