Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

ContextSmith

von RahulSankhla312Version 0.1.1i★ 0iLäuft auf deinem Computer
Name in der Registryio.github.RahulSankhla312/contextsmith

So installierst du es

What it does

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

  • Connects Läuft auf deinem Computer
  • Account or key No key needed
  • Category Entwicklertools

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

Von der KI installieren lassen

Kopiere diese Nachricht in einen Claude-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.

Installiere bitte den MCP server ContextSmith für Claude auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe uv mit uv --version. Fehlt es, sag mir, dass ich es von https://docs.astral.sh/uv/getting-started/installation/ installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): { "mcpServers": { "contextsmith": { "command": "uvx", "args": [ "contextsmith" ] } } } 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von ContextSmith wirklich erscheinen.

Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.

  1. uv installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    uv --version
    • Eine Versionsnummer wie uv … = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: uv hat keinen Klick-Installer. Kopiere den Einzeiler für dein System (macOS oder Windows) von der offiziellen uv-Seite ins Terminal · Python muss nicht extra installiert werden, uv lädt es bei Bedarf selbst

    Download-Seite von uv öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: uv --version

    Einmal installieren, gilt für alles, was uv braucht

  2. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  3. Diese Einstellungen einfügen und speichern

    {
      "mcpServers": {
        "contextsmith": {
          "command": "uvx",
          "args": [
            "contextsmith"
          ]
        }
      }
    }
  4. Claude beenden und neu öffnen

  5. Ausprobieren

    Nutze ContextSmith und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es ContextSmith nutzt, oder ein Werkzeug von ContextSmith in der Antwort zeigt, bist du verbunden

1 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

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

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann ContextSmith noch nicht verbinden

ContextSmith läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die ContextSmith verbinden kann

  • Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
  • Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
  • Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

B · Andere in Entwicklertools, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

Von der KI installieren lassen

Kopiere diese Nachricht in einen Claude Code-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.

Installiere bitte den MCP server ContextSmith für Claude Code auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe uv mit uv --version. Fehlt es, sag mir, dass ich es von https://docs.astral.sh/uv/getting-started/installation/ installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): claude mcp add --scope user contextsmith -- uvx contextsmith 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von ContextSmith wirklich erscheinen.

Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.

  1. uv installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    uv --version
    • Eine Versionsnummer wie uv … = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: uv hat keinen Klick-Installer. Kopiere den Einzeiler für dein System (macOS oder Windows) von der offiziellen uv-Seite ins Terminal · Python muss nicht extra installiert werden, uv lädt es bei Bedarf selbst

    Download-Seite von uv öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: uv --version

    Einmal installieren, gilt für alles, was uv braucht

  2. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  3. Diesen Befehl einfügen und Enter drücken

    claude mcp add --scope user contextsmith -- uvx contextsmith
  4. /mcp in Claude Code eingeben

    ContextSmith sollte in der Liste als verbunden erscheinen

  5. Ausprobieren

    Nutze ContextSmith und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es ContextSmith nutzt, oder ein Werkzeug von ContextSmith in der Antwort zeigt, bist du verbunden

1 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

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

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

Von der KI installieren lassen

Kopiere diese Nachricht in einen Cursor-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.

Installiere bitte den MCP server ContextSmith für Cursor auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe uv mit uv --version. Fehlt es, sag mir, dass ich es von https://docs.astral.sh/uv/getting-started/installation/ installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): { "mcpServers": { "contextsmith": { "command": "uvx", "args": [ "contextsmith" ] } } } 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von ContextSmith wirklich erscheinen.

Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.

  1. uv installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    uv --version
    • Eine Versionsnummer wie uv … = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: uv hat keinen Klick-Installer. Kopiere den Einzeiler für dein System (macOS oder Windows) von der offiziellen uv-Seite ins Terminal · Python muss nicht extra installiert werden, uv lädt es bei Bedarf selbst

    Download-Seite von uv öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: uv --version

    Einmal installieren, gilt für alles, was uv braucht

  2. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  3. KI-Chat in Cursor im Agent-Modus öffnen

  4. Ausprobieren

    Nutze ContextSmith und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es ContextSmith nutzt, oder ein Werkzeug von ContextSmith in der Antwort zeigt, bist du verbunden

1 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

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

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

Von der KI installieren lassen

Kopiere diese Nachricht in einen VS Code-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.

Installiere bitte den MCP server ContextSmith für VS Code auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe uv mit uv --version. Fehlt es, sag mir, dass ich es von https://docs.astral.sh/uv/getting-started/installation/ installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): { "servers": { "contextsmith": { "type": "stdio", "command": "uvx", "args": [ "contextsmith" ] } } } 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von ContextSmith wirklich erscheinen.

Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.

  1. uv installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    uv --version
    • Eine Versionsnummer wie uv … = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: uv hat keinen Klick-Installer. Kopiere den Einzeiler für dein System (macOS oder Windows) von der offiziellen uv-Seite ins Terminal · Python muss nicht extra installiert werden, uv lädt es bei Bedarf selbst

    Download-Seite von uv öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: uv --version

    Einmal installieren, gilt für alles, was uv braucht

  2. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  3. KI-Chat in VS Code im Agent-Modus öffnen

  4. Ausprobieren

    Nutze ContextSmith und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es ContextSmith nutzt, oder ein Werkzeug von ContextSmith in der Antwort zeigt, bist du verbunden

1 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

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

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die ContextSmith nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user contextsmith -- uvx contextsmith

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "contextsmith": {
      "command": "uvx",
      "args": [
        "contextsmith"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "contextsmith": {
      "command": "uvx",
      "args": [
        "contextsmith"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "contextsmith": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "contextsmith"
      ]
    }
  }
}

Werte, die du selbst einträgst

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

Die Beschreibungen sind noch im englischen Original.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
32/Wo.
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.1.1
In der Registry veröffentlichti
25. Okt. 2026
Code zuletzt geänderti
25. Okt. 2026
Entwickler
RahulSankhla312
Pakete
pypi: contextsmith
Website
github.com
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 15. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto RahulSankhla312 bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vor 21 Tagen

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt MIT

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Veröffentlichte Schwachstellen (OSV.dev)

Noch nicht geprüft

Was wir prüfen → · JSON

Entwickler: neue Prüfung anfordern oder falsche Angaben melden

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Anmelden, um eine Bewertung zu schreiben

Im Vergleich mit anderen in Entwicklertoolsi

  • Mehr Sterne als 0 % der anderen 5909 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 58 % der anderen 5909 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 5909 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist ContextSmith sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt vor 21 Tagen geändert, und die neueste Version (0.1.1) kam vor 21 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: GitDiagram, Appllama, Cloudflare MCP, Omnara, Repowise

Ähnliche Alternativen

Gleiche Kategorie, andere Entwickler, Befehle bereits geprüft. Offizielle zuerst, dann nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

GitDiagram

Architecture diagrams, explanations and Mermaid source for public GitHub repositories.

von ahmedkhaleel2004Weit verbreitet★ 18.919Aktualisiert vor 2 Monaten

Läuft in der Cloud✓ vom Dienst · gitdiagram.comVom PopNx-Team ausprobiert

Appllama

Study screens, flows and paywalls from top-earning iOS apps, then build from what wins.

von AppllamaWeit verbreitet★ 5174Aktualisiert vor 3 Monaten

Läuft in der Cloud✓ vom Dienst · appllama.io

Cloudflare MCP

Cloudflare MCP servers

von cloudflareWeit verbreitet★ 4466Aktualisiert vor 14 Monaten

Läuft in der Cloud✓ vom Dienst · mcp.cloudflare.comVom PopNx-Team ausprobiert

Omnara

Deploy durable AI agents with Omnara, an open-source managed-agent platform.

von omnara-aiWeit verbreitet★ 3395Aktualisiert vor 2 Monaten

Läuft in der Cloud✓ vom Dienst · omnara.com

Repowise

Codebase intelligence for AI coding agents: graph, git history, docs, decisions, code health.

von repowise-devWeit verbreitet↓ 6506/Wo.★ 8138 Sterne des ganzen ReposAktualisiert vorgestern

Computer oder Cloud✓ vom Dienst · repowise.dev
  • GitDiagram — Läuft in der Cloud, keine Installation · Kein Schlüssel nötig
  • Appllama — Läuft in der Cloud, keine Installation · Kein Schlüssel nötig
  • Cloudflare MCP — Läuft in der Cloud, keine Installation · Kein Schlüssel nötig · Im Verzeichnis von Claude
  • Omnara — Läuft in der Cloud, keine Installation · Kein Schlüssel nötig
  • Repowise — In der Cloud oder auf deinem Rechner · Kein Schlüssel nötig

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

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

Nur der Anfang wird gezeigt; den Rest findest du im Repo