Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

ContextSmith

de RahulSankhla312versión 0.1.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.RahulSankhla312/contextsmith

Instalar

Resumen

Descripción del creador (original en inglés)

Give your coding agent the right code: graph + hybrid search, packed into a token budget. Local.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Búsqueda y memoria de IA

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "contextsmith": {
      "command": "uvx",
      "args": [
        "contextsmith"
      ],
      "env": {
        "CTXSMITH_ROOT": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add contextsmith --env CTXSMITH_ROOT=your-value -- uvx contextsmith

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "contextsmith": {
      "command": "uvx",
      "args": [
        "contextsmith"
      ],
      "env": {
        "CTXSMITH_ROOT": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "contextsmith": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "contextsmith"
      ],
      "env": {
        "CTXSMITH_ROOT": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • CTXSMITH_ROOT env
    Repository to index and answer from (default: the working directory)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub RahulSankhla312, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Búsqueda y memoria de IAi

  • Más estrellas que el 0% de los otros 7249 servidores de esta categoría
  • Publicado en el registro más recientemente que el 74% de los otros 7249 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 7249 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro ContextSmith?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.1.1) llegó al registro hace 12 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Context7, Codebase Memory, Exa

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Context7

de upstash

Up-to-date docs for AI agents

Computadora o nube★ 64.224MITActualizado hoy
Instalar

Codebase Memory

de DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Se ejecuta en tu computadora★ 48.148MITActualizado hace 20 días
Instalar

Exa

de exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Se ejecuta en la nube★ 5213MITActualizado el mes pasado
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

ContextSmith

Give your coding agent the right code, not more code.

A local context engine for Claude Code, Cursor, Codex and any MCP agent. It indexes your repository into a code graph, hybrid search and git history, and answers every task with the code that matters, packed into a token budget you choose.

▶ Watch the 60-second video : indexing, context packing, live MCP calls and the benchmark.

Coding agents spend their context window on the wrong code. They grep, open whole files, and run out of room before they reach the function that needs the fix, and you pay for every token they read. ContextSmith answers one question as well as possible: given this task and N tokens, what code should the agent read?

92% of real bug fixes had the right file inside a 4,000-token context vs 29% for search + whole files 1.7x more often the exact lines to change are shown 48% vs 29%, same budget 100% local no API keys, no cloud, code never leaves the machine

Measured on 114 Django issues from SWE-bench Lite that no tuning step ever saw. Method and full results .

Quickstart (60 seconds)

pipx install "contextsmith[semantic]"      # or: pip install "contextsmith[semantic]"

cd your-repo ctxsmith index # once; afterwards only changed files are re-read ctxsmith context "Coupons are applied twice at checkout" --budget 4000

Connect it to your agent (the command prints the exact line for your machine):

ctxsmith mcp-config claude    # or: cursor, windsurf, codex

claude mcp add contextsmith -- ctxsmith serve --path /path/to/your-repo

From then on the agent calls get_context itself and gets ranked, budgeted code instead of grepping. Without the [semantic] extra everything still works, using keyword search only.

Who it's for

Developers
  • Faster, better agent sessions on big repos. The agent starts from the right functions instead of exploring; fewer wrong edits and "I couldn't find it" loops.
  • Understand unfamiliar code. ctxsmith context "where are payment retries handled?" returns the relevant functions with their file and line numbers.
  • Change safely. ctxsmith impact charge_card lists everything that calls it, transitively: what a change could break, before you make it.
  • Remember the gotchas. ctxsmith note add "never call without the account lock" --symbol charge_card pins a note to the code; it shows up in every future context for that code, for you and for the agent.
Teams and companies
NeedHow ContextSmith covers it
Code that must not leave the building (finance, health, government, enterprise IP)Runs entirely on the developer's machine. Parsing, search and embeddings are local; the only network use is a one-time download of two small open models, which you can mirror internally for air-gapped machines
Predictable AI spendEvery answer has a hard token budget you set, so context cost per task is fixed instead of "whatever the agent opened"
Works with the agents you already pay forStandard MCP server: Claude Code, Cursor, Windsurf, Codex, Copilot agents and in-house agents use the same index
OnboardingNew engineers and their agents ask questions in plain language and land on the right code
Code review and CIctxsmith context "$PR_TITLE" -b 6000 gives a review bot the code a PR touches and depends on; ctxsmith impact NAME shows the blast radius
Team knowledgeDecisions and invariants live next to the code as notes, not in someone's head
No lock-in, no procurementMIT licence (commercial use is fine), a single SQLite file per repository, no server to run, no account

Typical rollout: each developer installs it with pipx, runs ctxsmith index in the repositories they work on, and adds one MCP line to their agent. There is nothing to host. See Using it at a company for CI and offline setups.

Builders of AI tools

ContextSmith is also a Python library. Use it as the retrieval layer of your own agent, review bot or internal assistant:

from contextsmith import Engine

eng = Engine("path/to/repo") eng.index() pack = eng.context("Fix the race when two users book the last seat", budget=6000) prompt = f"{pack.text}\n\nTask: fix the race when two users book the last seat."

Results

The test: take a real GitHub issue from SWE-bench Lite, check the repository out at the issue's own commit (so no future code or history leaks in), give the issue text to the tool, and check whether the code the real fix changed comes back.

Final test on Django: 114 issues that no tuning step ever saw.

BM25, whole filesContextSmith
The fix's file is ranked 1st / in the top 3 / top 550.9% / 70.2% / 77.2%51.8% / 79.8% / 85.1%
The fix's file is inside a 4,000-token context28.9%92.1% (3.2x)
The exact lines the fix changes are shown in 4,000 tokens28.9%48.1% (1.7x)
Query time (median, laptop CPU, 2,800-file repository)145 ms238 ms

The baseline pastes BM25-ranked files whole until the budget runs out, which is what "search the repo and open files" agents do. ContextSmith spends the same tokens on the functions that matter and outlines of the rest, so the right file almost always makes it in.

All strategies and ablations

strategyR@1R@3R@5R@10file in 4kfile in 8klines in 4klines in 8kms
BM25, whole files50.970.277.284.228.949.128.949.1145
lexical (no embeddings)48.274.678.986.086.089.542.346.2145
embeddings only48.269.378.986.8––––249
ContextSmith (default)51.879.885.188.692.196.548.150.7238
+ cross-encoder re-rank34.273.781.691.2––––1824
without git history56.178.984.290.4––––249

Full numbers: bench/results-django/summary.md.

What the ablations say, including what didn't work:

  • Embeddings earn their place: adding them to the lexical ranker lifts top-5 from 79% to 85% and exact-line coverage from 42% to 48%.
  • The cross-encoder re-rank hurts the top result (52% → 34%) at 8x the latency, so it is off by default and marked experimental. A general web-search re-ranker doesn't understand issue-to-code relevance; a code-trained one is on the roadmap.
  • Git commit history is mixed: it helped on the tuning repositories, but on Django removing it *raises* recall@1 by 4 points. It stays on because the default was fixed before the Django run; changing it now would be tuning on the test set.
  • At 8,000 tokens whole files catch up on exact lines (49% vs 51%): every Django fix here touches one file, and at that budget it often fits whole.

Method. Weights were chosen by grid search on 89 issues from 8 other repositories (pytest, requests, flask, sphinx, pylint, xarray, astropy, seaborn) with bench/tune.py and bench/tune_pack.py, then frozen before Django was run once. Reproduce it with ctxsmith bench --repos django/django (first run: about two hours on a laptop).

How it works

flowchart LR

subgraph Index["ctxsmith index (incremental)"] TS["tree-sitter 7 languages"] --> SYM["symbols · calls · imports"] SYM --> G["call graph PageRank"] SYM --> FTS["FTS5 BM25 files · symbols · bodies"] SYM --> EMB["ONNX embeddings symbol summaries"] EMB --> VEC["sqlite-vec cosine index"] GIT["git log"] --> H["commit-message index co-change pairs"] end subgraph Query["get_context(task, budget)"] Q["task text"] --> S1["file BM25"] & S2["semantic kNN"] & S3["paths in task"] & S4["history BM25"] S1 & S2 & S3 & S4 --> RRF["reciprocal-rank fusion"] RRF --> KS["knapsack packer value per token"] KS --> OUT["≤ N tokens of code"] end Index -. one SQLite file .-> Query

One SQLite file per repository holds everything: files, symbols, call and import edges, three FTS5 indexes, git statistics, team notes, and the vector index (a vec0 virtual table from sqlite-vec; a numpy fallback runs where SQLite can't load extensions).

Retrieval (RAG). Each signal produces its own ranked list of files; reciprocal-rank fusion combines them, so no single noisy signal dominates:

SignalWhat it catches
BM25 over whole files (camelCase/snake_case split, paths weighted up)exact vocabulary
Semantic kNN over symbol summaries (BAAI/bge-small-en-v1.5, ONNX, CPU)the same idea in different words
Paths named in the task (tracebacks, "in foo/bar.py")explicit pointers
BM25 over each file's commit messages"this was touched for a similar bug before"
Co-change, call-graph neighbours, PageRank, exact-name mentionsavailable as weights; off by default because the benchmark showed they hurt *file* ranking

The weights come from a grid search (bench/tune.py) on 89 SWE-bench Lite issues from 8 repositories and were then checked on Django, which tuning never saw.

What gets embedded, and why. Not whole files and not raw chunks: one short summary per function or class — path, qualified name, signature, first docstring sentence. On a laptop CPU this is ~30x cheaper than embedding bodies, and it is what identifies "which function is this about". Vectors are cached by content hash, so a function that didn't change is never embedded twice — across re-indexes and across git checkouts. Test files are skipped.

Experimental re-rank. ctxsmith context --rerank re-scores the top 20 files with a cross-encoder (ms-marco-MiniLM-L-6-v2). It is off by default because the benchmark shows it hurts (see Results).

Packing. Candidates are function bodies (matched by name, docstring and body text), class outlines and file outlines. A greedy knapsack takes the best value per token, discounts repeats from one file, and enforces the budget on the final rendered text, so the answer is never over budget.

Always fresh. Re-indexing compares file size and mtime before reading anything and only re-parses and re-embeds what changed; checking an unchanged 2,800-file repository takes about half a s

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx