code-context-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@code-context-mcpfind code for user authentication"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§© code-context-mcp
Pipeline para segmentar cΓ³digo fuente en chunks, generar embeddings y almacenarlos en ChromaDB. DiseΓ±ado para dar contexto semΓ‘ntico a AI coding assistants (Antigravity, Cursor, VS Code Copilot) vΓa Model Context Protocol (MCP).
Arquitectura
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Assistant (Antigravity, Cursor, VS Code, etc.) β
β Usa tools MCP para buscar cΓ³digo relevante β
ββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β MCP (stdio)
ββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ
β chunking-mcp β
β MCP Server liviano Β· 9 tools disponibles β
β Sin modelo local β queries vΓa HTTP β
ββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β HTTP
ββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ
β ChromaDB (Docker) β
β Genera embeddings server-side (all-MiniLM-L6-v2) β
β Almacena y busca vectores β
β Named volume: code-context-chroma-data β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββRelated MCP server: Enterprise Code Search MCP Server
InstalaciΓ³n
# Clonar
git clone git@github.com:daswort/code-context-mcp.git && cd code-context-mcp
# Crear virtualenv e instalar
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# Levantar ChromaDB
cd docker && docker compose up -dEsto instala 3 comandos CLI:
Comando | FunciΓ³n |
| Segmenta cΓ³digo fuente en chunks JSONL |
| Ingesta chunks en ChromaDB (delta incremental) |
| MCP server para AI assistants |
Uso rΓ‘pido
1. Segmentar cΓ³digo
chunking-get <rama> --repo /ruta/al/repo --output /ruta/chunks/mi-repoEjemplo:
chunking-get main --repo ~/projects/agenda2-app --output ~/projects/chunking/chunks/agenda2-appEsto genera un archivo JSONL con todos los fragmentos del cΓ³digo fuente:
chunks/agenda2-app/main/00001_chunks.jsonl2. Ingestar en ChromaDB
chunking-ingest <rama> --repo /ruta/al/repo --chunks-dir /ruta/chunks/mi-repoEjemplo:
chunking-ingest main --repo ~/projects/agenda2-app --chunks-dir ~/projects/chunking/chunks/agenda2-appLa ingesta es delta: detecta chunks nuevos, modificados y eliminados. Solo re-procesa lo necesario:
π Analizando cambios...
β»οΈ 3 fragmentos modificados o nuevos detectados.
ποΈ 1 fragmentos eliminados detectados.
π§ Insertando 3 fragmentos (embeddings server-side)
ποΈ Eliminando 1 fragmentos obsoletos
β
Ingesta completada: 3 actualizados, 1 eliminados en 'agenda2-app_main'.3. Buscar cΓ³digo (MCP)
3. Buscar cΓ³digo (MCP)
El MCP server expone 9 tools para AI assistants:
Tool | DescripciΓ³n |
| BΓΊsqueda semΓ‘ntica (cosine distance) con filtros por extensiΓ³n y lenguaje |
| BΓΊsqueda full-text o regex exacto (no semΓ‘ntica, ideal para encontrar sΓmbolos) |
| Lista todas las colecciones con conteos |
| DistribuciΓ³n de archivos y chunks por colecciΓ³n |
| Todos los chunks de un archivo especΓfico |
| Vista previa de los primeros N documentos |
| Eliminar una colecciΓ³n completa |
| Obtener un chunk especΓfico por ID |
| Buscar archivos indexados por patrΓ³n o extensiΓ³n ( |
4. Preview sin procesar (dry-run)
chunking-get main --repo ~/projects/mi-repo --dry-runLista los archivos que se procesarΓan, agrupados por extensiΓ³n, sin ejecutar nada:
π Dry-run para repo '/home/user/projects/mi-repo' (rama 'main')
π Dry-run: 42 archivos serΓan procesados
.go (25 archivos)
β’ backend/cmd/api/main.go
β’ backend/internal/config/auth.go
...
.sql (12 archivos)
β’ backend/migrations/000001_init_extensions.up.sql
...
Total: 42 archivosConfiguraciΓ³n por proyecto
Cada repositorio puede tener un archivo .chunking.yaml en su raΓz para personalizar el comportamiento. Las listas extienden los defaults, no los reemplazan.
Copie .chunking.example.yaml como punto de partida:
cp /ruta/a/chunking/.chunking.example.yaml ~/projects/mi-repo/.chunking.yamlEjemplo completo
# ~/projects/mi-repo/.chunking.yaml
# Directorios adicionales a excluir
exclude_dirs:
- vendor
- tmp
# Extensiones adicionales a excluir
exclude_ext:
- .log
# Extensiones adicionales a incluir
extra_valid_ext:
- .go
- .py
- .html
- .sql
# ParΓ‘metros de chunking
chunk_size: 800
chunk_overlap: 100
# Tuning del Γndice HNSW (ChromaDB)
hnsw_space: cosine # cosine, l2, ip
hnsw_ef_construction: 200 # Calidad de indexaciΓ³n
hnsw_ef_search: 150 # Calidad de recall
# ChromaDB
collection_prefix: mi-proyecto # β colecciΓ³n: mi-proyecto_main
chroma_host: localhost
chroma_port: 8000
# chroma_auth_token: mi-token # OpcionalDefaults incluidos
.git, __pycache__, node_modules, dist, build, .venv, .idea, .vscode, .github, bin, obj, chunks
.exe, .bin, .dll, .pdb, .user, .jpg, .jpeg, .png, .gif, .zip, .tar, .gz, .lock
.cs, .csproj, .sln, .cshtml, .js, .ts, .md, .json, .yaml, .yml, .txt, .http
ConfiguraciΓ³n MCP para AI Assistants
Antigravity
Agregar a ~/.gemini/antigravity/mcp_config.json:
{
"mcpServers": {
"code-context": {
"command": "/ruta/a/code-context-mcp/.venv/bin/chunking-mcp",
"env": {
"CHROMA_HOST": "localhost",
"CHROMA_PORT": "8000"
}
}
}
}Cursor
Agregar a .cursor/mcp.json:
{
"mcpServers": {
"code-context": {
"command": "/ruta/a/code-context-mcp/.venv/bin/chunking-mcp",
"env": {
"CHROMA_HOST": "localhost",
"CHROMA_PORT": "8000"
}
}
}
}VS Code (Copilot)
Agregar a .vscode/mcp.json:
{
"servers": {
"code-context": {
"type": "stdio",
"command": "/ruta/a/code-context-mcp/.venv/bin/chunking-mcp",
"env": {
"CHROMA_HOST": "localhost",
"CHROMA_PORT": "8000"
}
}
}
}ChromaDB (Docker)
El servidor se levanta con Docker Compose:
cd docker/
docker compose up -dConfiguraciΓ³n
Editar docker/.env:
# Puerto (default: 8000)
CHROMA_PORT=8000
# AutenticaciΓ³n por token (opcional)
# CHROMA_AUTH_TOKEN=mi-token-secreto
# CHROMA_AUTH_PROVIDER=chromadb.auth.token_authn.TokenAuthenticationServerProviderOperaciones comunes
# Ver estado
docker compose ps
# Ver logs
docker compose logs -f chromadb
# Parar
docker compose down
# Parar y borrar datos
docker compose down -vLos datos persisten en un named volume (code-context-chroma-data). Se mantienen entre reinicios del contenedor.
Script de orquestaciΓ³n
run_branch_tasks.sh ejecuta el pipeline completo (get + ingest) para la rama actual o una especΓfica:
# Rama actual
./run_branch_tasks.sh
# Rama especΓfica
./run_branch_tasks.sh feature/mi-featureEstructura del proyecto
code-context-mcp/
βββ .chunking.example.yaml # Template de configuraciΓ³n
βββ pyproject.toml # Paquete Python (v1.0.0)
βββ run_branch_tasks.sh # Orquestador get + ingest
βββ docker/
β βββ docker-compose.yml # ChromaDB server
β βββ .env # Variables de entorno
βββ chunking/
βββ __init__.py
βββ config.py # Defaults + merge con .chunking.yaml
βββ get_chunks.py # chunking-get: segmentaciΓ³n de cΓ³digo
βββ ingest_delta.py # chunking-ingest: ingesta delta en ChromaDB
βββ mcp_server.py # chunking-mcp: MCP server (9 tools)Requisitos
Python β₯ 3.10
Docker (para ChromaDB)
Git (los repos a procesar deben ser repositorios Git)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/daswort/code-context-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server