Skip to main content
Glama
jmerelnyc

mcp-deepcontext

by jmerelnyc

mcp-deepcontext

MCP-Server, der eine symbolbewusste semantische Suche in Claude Code ermöglicht

Motivation

Die meisten Code-Suchwerkzeuge behandeln Code als Text und ignorieren die semantische Struktur, die Code erst aussagekräftig macht. Wenn Sie in einer großen Codebasis arbeiten, möchten Sie nicht nur finden, wo eine Zeichenfolge vorkommt. Sie möchten finden, wo eine Funktion aufgerufen wird, wo ein Typ implementiert ist oder welche Module von einem bestimmten Symbol abhängen.

Dieser MCP-Server schließt diese Lücke, indem er Claude semantische Code-Analysefunktionen zur Verfügung stellt. Anstatt nach Text zu suchen (grep), kann Claude Fragen stellen wie „Wo ist dieses Interface implementiert?“ oder „Was sind alle Aufrufer dieser Funktion?“ und erhält präzise, symbolbewusste Ergebnisse. Dies ermöglicht tatsächlich nützliche Unterhaltungen über unbekannte Codebasen.

Architektur

graph TD
    A[Claude Desktop] -->|MCP Protocol| B[mcp-deepcontext Server]
    B -->|Parse & Index| C[Symbol Database]
    B -->|AST Analysis| D[TypeScript Compiler API]
    B -->|Semantic Search| E[Vector Embeddings]
    
    C -->|Symbol Locations| B
    D -->|Type Information| B
    E -->|Similarity Scores| B
    
    F[Your Codebase] -->|Watch & Reindex| B

Erste Schritte

Installation

npm install -g mcp-deepcontext

Schnellstart

Fügen Sie dies zur Konfiguration von Claude Desktop hinzu (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "deepcontext": {
      "command": "mcp-deepcontext",
      "args": ["--workspace", "/path/to/your/project"]
    }
  }
}

Starten Sie anschließend Claude Desktop neu. Der Server indiziert Ihre Codebasis beim Start.

Funktionsweise

Der Server verwendet die TypeScript-Compiler-API, um einen vollständigen Symbolgraphen Ihrer Codebasis zu erstellen. Dies umfasst Typdefinitionen, Funktionssignaturen, Klassenhierarchien und Importbeziehungen. Wenn Claude Informationen abfragt, kann der Server mit präzisen Speicherorten und Kontext antworten.

Für die semantische Suche generiert der Server Embeddings für Codesymbole und deren umgebenden Kontext. Dies ermöglicht eine Fuzzy-Suche nach Absicht anstelle von exaktem Text. Die Symboldatenbank wird durch einen Datei-Watcher, der eine inkrementelle Neuindizierung auslöst, mit Dateiänderungen synchron gehalten.

Das MCP-Protokoll stellt dies über Tools wie search_symbols, find_references, get_definition und find_implementations bereit. Claude kann diese verketten, um komplexe Fragen zur Codestruktur und zu Beziehungen zu beantworten.

Konfiguration

Der Server akzeptiert diese Befehlszeilenargumente:

  • --workspace <path>: Stammverzeichnis des zu indizierenden Projekts (erforderlich)

  • --languages <list>: Durch Kommas getrennte Liste der zu indizierenden Sprachen (Standard: typescript,javascript)

  • --exclude <patterns>: Glob-Muster zum Ausschließen (Standard: node_modules,dist,build,.git)

  • --max-file-size <bytes>: Überspringt Dateien, die größer als dieser Wert sind (Standard: 1MB)

  • --embedding-model <name>: Modell, das für Embeddings verwendet werden soll (Standard: text-embedding-3-small)

Umgebungsvariablen:

  • OPENAI_API_KEY: Erforderlich für die Generierung von Embeddings

  • DEEPCONTEXT_LOG_LEVEL: Auf debug setzen für ausführliche Protokollierung

FAQ

F: Welche Sprachen werden unterstützt?

Derzeit TypeScript und JavaScript mit vollständiger Typenerkennung. Unterstützung für Python und Go ist geplant.

F: Funktioniert dies mit großen Codebasen?

Ja, die Indizierung erfolgt inkrementell und die Symboldatenbank verwendet eine effiziente Graphstruktur. Getestet an Codebasen mit bis zu 500.000 Zeilen ohne Probleme.

F: Wie viel kostet die Generierung von Embeddings?

Für eine typische Codebasis mit 100.000 Zeilen generiert die anfängliche Indizierung etwa 10.000 Embeddings, was mit text-embedding-3-small etwa 0,02 $ kostet. Inkrementelle Updates sind wesentlich günstiger.

F: Kann ich dies ohne Embeddings verwenden?

Ja, übergeben Sie --no-embeddings, um die semantische Suche zu deaktivieren. Sie erhalten weiterhin alle symbolbewussten Tools wie „Referenzen finden“ und „Gehe zu Definition“.

F: Werden meine Codes an externe Dienste gesendet?

Nur die extrahierten Symbolnamen und deren unmittelbarer Kontext werden zur Generierung von Embeddings an OpenAI gesendet. Sie können dies mit --no-embeddings für einen vollständig lokalen Betrieb deaktivieren.

Lizenz

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

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/jmerelnyc/mcp-deepcontext'

If you have feedback or need assistance with the MCP directory API, please join our Discord server