Context+
Context+
Inteligencia semántica para ingeniería a gran escala.
Context+ es un servidor MCP diseñado para desarrolladores que exigen un 99% de precisión. Al combinar RAG, AST de Tree-sitter, clustering espectral y enlaces al estilo Obsidian, Context+ convierte una base de código masiva en un grafo de características jerárquico y buscable.
Mientras estás aquí, echa un vistazo a mi otro proyecto, Airena. Crea un equipo de agentes de IA y enfréntate cara a cara con otros orquestadores. ¡El primer lugar en la tabla de clasificación obtiene un premio de $1600!
https://github.com/user-attachments/assets/a97a451f-c9b4-468d-b036-15b65fc13e79
Herramientas
Descubrimiento
Herramienta | Descripción |
| Árbol AST estructural de un proyecto con encabezados de archivo y rangos de símbolos (números de línea para funciones/clases/métodos). La poda dinámica reduce la salida automáticamente. |
| Firmas de funciones, métodos de clase y definiciones de tipo con rangos de línea, sin leer los cuerpos completos. Muestra la superficie de la API. |
| Búsqueda por significado, no por texto exacto. Utiliza embeddings sobre encabezados/símbolos de archivo y devuelve las líneas de definición de símbolos coincidentes. |
| Recuperación semántica a nivel de identificador para funciones/clases/variables con sitios de llamada clasificados y números de línea. |
| Navega por la base de código según su significado utilizando clustering espectral. Agrupa archivos semánticamente relacionados en clústeres etiquetados. |
Análisis
Herramienta | Descripción |
| Rastrea cada archivo y línea donde se importa o utiliza un símbolo. Previene referencias huérfanas. |
| Ejecuta linters y compiladores nativos para encontrar variables no utilizadas, código muerto y errores de tipo. Soporta TypeScript, Python, Rust, Go. |
Operaciones de código
Herramienta | Descripción |
| La única forma de escribir código. Valida contra reglas estrictas antes de guardar. Crea un punto de restauración en la sombra antes de escribir. |
| Navegador de centros de características al estilo Obsidian. Los centros son archivos |
Control de versiones
Herramienta | Descripción |
| Lista todos los puntos de restauración en la sombra creados por |
| Restaura los archivos a su estado anterior a un cambio específico de la IA. Utiliza puntos de restauración en la sombra. No afecta a git. |
Memoria y RAG
Herramienta | Descripción |
| Crea o actualiza un nodo de memoria (concepto, archivo, símbolo, nota) con embeddings generados automáticamente. |
| Crea bordes tipados entre nodos (relates_to, depends_on, implements, references, similar_to, contains). |
| Búsqueda semántica con recorrido de grafo: encuentra coincidencias directas y luego recorre vecinos de 1er/2do grado. |
| Elimina bordes degradados (e^(-λt) por debajo del umbral) y nodos huérfanos con bajo conteo de acceso. |
| Agrega nodos en masa con vinculación de similitud automática (coseno ≥ 0.72 crea bordes automáticamente). |
| Comienza desde un nodo y recorre hacia afuera: devuelve todos los vecinos alcanzables puntuados por decaimiento y profundidad. |
Servidor complementario: pmll-memory-mcp (
npx pmll-memory-mcp) es un servidor MCP independiente de @drQedwards que adapta el grafo de memoria a largo plazo de Context+ y añade memoria de contexto KV a corto plazo, deduplicación de Q-promise y un motor de soluciones. Consulta drQedwards/PPM para más detalles.
Configuración
Inicio rápido (npx / bunx)
No se necesita instalación. Agrega Context+ a la configuración MCP de tu IDE.
Para Claude Code, Cursor y Windsurf, usa mcpServers:
{
"mcpServers": {
"contextplus": {
"command": "bunx",
"args": ["contextplus"],
"env": {
"OLLAMA_EMBED_MODEL": "nomic-embed-text",
"OLLAMA_CHAT_MODEL": "gemma2:27b",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
}
}
}
}Para VS Code (.vscode/mcp.json), usa servers e inputs:
{
"servers": {
"contextplus": {
"type": "stdio",
"command": "bunx",
"args": ["contextplus"],
"env": {
"OLLAMA_EMBED_MODEL": "nomic-embed-text",
"OLLAMA_CHAT_MODEL": "gemma2:27b",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
}
}
},
"inputs": []
}Si prefieres npx, usa:
"command": "npx""args": ["-y", "contextplus"]
O genera el archivo de configuración MCP directamente en tu directorio actual:
npx -y contextplus init claude
bunx contextplus init cursor
npx -y contextplus init opencodeNombres de agentes de codificación soportados: claude, cursor, vscode, windsurf, opencode.
Ubicaciones de archivos de configuración:
IDE | Archivo de configuración |
Claude Code |
|
Cursor |
|
VS Code |
|
Windsurf |
|
OpenCode |
|
Subcomandos CLI
init [target]- Genera la configuración MCP (objetivos:claude,cursor,vscode,windsurf,opencode).skeleton [path]otree [path]- (Nuevo) Visualiza el árbol estructural de un proyecto con encabezados de archivo y definiciones de símbolos directamente en tu terminal.[path]- Inicia el servidor MCP (stdio) para la ruta especificada (por defecto es el directorio actual).
Desde el código fuente
npm install
npm run buildProveedores de Embedding
Context+ soporta dos backends de embedding controlados por CONTEXTPLUS_EMBED_PROVIDER:
Proveedor | Valor | Requiere | Mejor para |
Ollama (por defecto) |
| Servidor Ollama local | Gratis, offline, privado |
Compatible con OpenAI |
| Clave API | Gemini (nivel gratuito), OpenAI, Groq, vLLM |
Ollama (Por defecto)
No se necesita configuración adicional. Solo ejecuta Ollama con un modelo de embedding:
ollama pull nomic-embed-text
ollama serveGoogle Gemini (Nivel gratuito)
Ejemplo completo de .mcp.json para Claude Code:
{
"mcpServers": {
"contextplus": {
"command": "npx",
"args": ["-y", "contextplus"],
"env": {
"CONTEXTPLUS_EMBED_PROVIDER": "openai",
"CONTEXTPLUS_OPENAI_API_KEY": "YOUR_GEMINI_API_KEY",
"CONTEXTPLUS_OPENAI_BASE_URL": "https://generativelanguage.googleapis.com/v1beta/openai",
"CONTEXTPLUS_OPENAI_EMBED_MODEL": "text-embedding-004"
}
}
}
}Obtén una clave API gratuita en Google AI Studio.
OpenAI
{
"mcpServers": {
"contextplus": {
"command": "npx",
"args": ["-y", "contextplus"],
"env": {
"CONTEXTPLUS_EMBED_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-...",
"OPENAI_EMBED_MODEL": "text-embedding-3-small"
}
}
}
}Otras APIs compatibles con OpenAI (Groq, vLLM, LiteLLM)
Cualquier endpoint que implemente la API de Embeddings de OpenAI funciona:
{
"mcpServers": {
"contextplus": {
"command": "npx",
"args": ["-y", "contextplus"],
"env": {
"CONTEXTPLUS_EMBED_PROVIDER": "openai",
"CONTEXTPLUS_OPENAI_API_KEY": "YOUR_KEY",
"CONTEXTPLUS_OPENAI_BASE_URL": "https://your-proxy.example.com/v1",
"CONTEXTPLUS_OPENAI_EMBED_MODEL": "your-model-name"
}
}
}
}Nota: La herramienta
semantic_navigatetambién utiliza un modelo de chat para el etiquetado de clústeres. Cuando uses el proveedoropenai, configuraCONTEXTPLUS_OPENAI_CHAT_MODEL(por defecto:gpt-4o-mini).Para VS Code, Cursor o OpenCode, usa el mismo bloque
envdentro del formato de configuración MCP de tu IDE (consulta la tabla de Ubicaciones de archivos de configuración arriba).
Arquitectura
Tres capas construidas con TypeScript sobre stdio utilizando el SDK del Protocolo de Contexto de Modelo:
Core (src/core/) - Análisis AST multilingüe (tree-sitter, 43 extensiones), recorrido consciente de gitignore, embeddings vectoriales de Ollama con caché en disco, grafo de centros de wikilinks, grafo de propiedades en memoria con puntuación de decaimiento.
Tools (src/tools/) - 17 herramientas MCP que exponen capacidades estructurales, semánticas, operativas y de grafo de memoria.
Git (src/git/) - Sistema de puntos de restauración en la sombra para deshacer sin tocar el historial de git.
Caché de tiempo de ejecución (.mcp_data/) - creado al iniciar el servidor; almacena embeddings reutilizables de archivos, identificadores y sitios de llamada para evitar el trabajo repetido de embedding en GPU/CPU. Un rastreador en tiempo real actualiza los archivos/funciones cambiados de forma incremental.
Configuración
Variable | Tipo | Por defecto | Descripción |
| string |
| Backend de embedding: |
| string |
| Modelo de embedding de Ollama |
| string | - | Clave API de Ollama Cloud |
| string |
| Modelo de chat de Ollama para etiquetado de clústeres |
| string | - | Clave API para proveedor compatible con OpenAI (alias: |
| string |
| URL de endpoint compatible con OpenAI (alias: |
| string |
| Modelo de embedding compatible con OpenAI (alias: |
| string |
| Modelo de chat compatible con OpenAI para etiquetado (alias: |
| string (parseado como número) |
| Tamaño de lote de embedding por llamada a GPU, limitado a 5-10 |
| string (parseado como número) |
| Caracteres por fragmento antes de fusionar, limitado a 256-8000 |
| string (parseado como número) |
| Saltar archivos de texto que no sean código mayores a este número de bytes |
| string (parseado como número) | - | Anulación opcional de |
| string (parseado como número) | - | Anulación opcional de |
| string (parseado como número) | - | Anulación opcional de |
| string (parseado como número) | - | Anulación opcional de |
| string (parseado como número) | - | Anulación opcional de |
| string (parseado como booleano) | - | Anulación opcional de |
| string (parseado como booleano) |
| Habilitar actualización de embedding en tiempo real ante cambios de archivo |
| string (parseado como número) |
| Máximo de archivos cambiados procesados por tick del rastreador, limitado a 5-10 |
| string (parseado como número) |
| Ventana de debounce antes de la actualización del rastreador |
Prueba
npm test
npm run test:demo
npm run test:allResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
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/ForLoopCodes/contextplus'
If you have feedback or need assistance with the MCP directory API, please join our Discord server