Skip to main content
Glama

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

get_context_tree

Á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.

get_file_skeleton

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.

semantic_code_search

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.

semantic_identifier_search

Recuperación semántica a nivel de identificador para funciones/clases/variables con sitios de llamada clasificados y números de línea.

semantic_navigate

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

get_blast_radius

Rastrea cada archivo y línea donde se importa o utiliza un símbolo. Previene referencias huérfanas.

run_static_analysis

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

propose_commit

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.

get_feature_hub

Navegador de centros de características al estilo Obsidian. Los centros son archivos .md con [[wikilinks]] que mapean características a archivos de código.

Control de versiones

Herramienta

Descripción

list_restore_points

Lista todos los puntos de restauración en la sombra creados por propose_commit. Cada uno captura el estado del archivo antes de los cambios de la IA.

undo_change

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

upsert_memory_node

Crea o actualiza un nodo de memoria (concepto, archivo, símbolo, nota) con embeddings generados automáticamente.

create_relation

Crea bordes tipados entre nodos (relates_to, depends_on, implements, references, similar_to, contains).

search_memory_graph

Búsqueda semántica con recorrido de grafo: encuentra coincidencias directas y luego recorre vecinos de 1er/2do grado.

prune_stale_links

Elimina bordes degradados (e^(-λt) por debajo del umbral) y nodos huérfanos con bajo conteo de acceso.

add_interlinked_context

Agrega nodos en masa con vinculación de similitud automática (coseno ≥ 0.72 crea bordes automáticamente).

retrieve_with_traversal

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 opencode

Nombres de agentes de codificación soportados: claude, cursor, vscode, windsurf, opencode.

Ubicaciones de archivos de configuración:

IDE

Archivo de configuración

Claude Code

.mcp.json

Cursor

.cursor/mcp.json

VS Code

.vscode/mcp.json

Windsurf

.windsurf/mcp.json

OpenCode

opencode.json

Subcomandos CLI

  • init [target] - Genera la configuración MCP (objetivos: claude, cursor, vscode, windsurf, opencode).

  • skeleton [path] o tree [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 build

Proveedores de Embedding

Context+ soporta dos backends de embedding controlados por CONTEXTPLUS_EMBED_PROVIDER:

Proveedor

Valor

Requiere

Mejor para

Ollama (por defecto)

ollama

Servidor Ollama local

Gratis, offline, privado

Compatible con OpenAI

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 serve

Google 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_navigate también utiliza un modelo de chat para el etiquetado de clústeres. Cuando uses el proveedor openai, configura CONTEXTPLUS_OPENAI_CHAT_MODEL (por defecto: gpt-4o-mini).

Para VS Code, Cursor o OpenCode, usa el mismo bloque env dentro 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

CONTEXTPLUS_EMBED_PROVIDER

string

ollama

Backend de embedding: ollama o openai

OLLAMA_EMBED_MODEL

string

nomic-embed-text

Modelo de embedding de Ollama

OLLAMA_API_KEY

string

-

Clave API de Ollama Cloud

OLLAMA_CHAT_MODEL

string

llama3.2

Modelo de chat de Ollama para etiquetado de clústeres

CONTEXTPLUS_OPENAI_API_KEY

string

-

Clave API para proveedor compatible con OpenAI (alias: OPENAI_API_KEY)

CONTEXTPLUS_OPENAI_BASE_URL

string

https://api.openai.com/v1

URL de endpoint compatible con OpenAI (alias: OPENAI_BASE_URL)

CONTEXTPLUS_OPENAI_EMBED_MODEL

string

text-embedding-3-small

Modelo de embedding compatible con OpenAI (alias: OPENAI_EMBED_MODEL)

CONTEXTPLUS_OPENAI_CHAT_MODEL

string

gpt-4o-mini

Modelo de chat compatible con OpenAI para etiquetado (alias: OPENAI_CHAT_MODEL)

CONTEXTPLUS_EMBED_BATCH_SIZE

string (parseado como número)

8

Tamaño de lote de embedding por llamada a GPU, limitado a 5-10

CONTEXTPLUS_EMBED_CHUNK_CHARS

string (parseado como número)

2000

Caracteres por fragmento antes de fusionar, limitado a 256-8000

CONTEXTPLUS_MAX_EMBED_FILE_SIZE

string (parseado como número)

51200

Saltar archivos de texto que no sean código mayores a este número de bytes

CONTEXTPLUS_EMBED_NUM_GPU

string (parseado como número)

-

Anulación opcional de num_gpu en tiempo de ejecución de embedding de Ollama

CONTEXTPLUS_EMBED_MAIN_GPU

string (parseado como número)

-

Anulación opcional de main_gpu en tiempo de ejecución de embedding de Ollama

CONTEXTPLUS_EMBED_NUM_THREAD

string (parseado como número)

-

Anulación opcional de num_thread en tiempo de ejecución de embedding de Ollama

CONTEXTPLUS_EMBED_NUM_BATCH

string (parseado como número)

-

Anulación opcional de num_batch en tiempo de ejecución de embedding de Ollama

CONTEXTPLUS_EMBED_NUM_CTX

string (parseado como número)

-

Anulación opcional de num_ctx en tiempo de ejecución de embedding de Ollama

CONTEXTPLUS_EMBED_LOW_VRAM

string (parseado como booleano)

-

Anulación opcional de low_vram en tiempo de ejecución de embedding de Ollama

CONTEXTPLUS_EMBED_TRACKER

string (parseado como booleano)

true

Habilitar actualización de embedding en tiempo real ante cambios de archivo

CONTEXTPLUS_EMBED_TRACKER_MAX_FILES

string (parseado como número)

8

Máximo de archivos cambiados procesados por tick del rastreador, limitado a 5-10

CONTEXTPLUS_EMBED_TRACKER_DEBOUNCE_MS

string (parseado como número)

700

Ventana de debounce antes de la actualización del rastreador

Prueba

npm test
npm run test:demo
npm run test:all
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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

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