mcplens
Semantische Codebasissuche für KI-Coding-Assistenten — 70-85% Token-Reduzierung, 100% lokal, null Cloud-Abhängigkeit.
KI-Coding-Assistenten wie Claude Code, Cursor und Codex sind leistungsstark – haben aber ein grundlegendes Problem: Wenn Sie eine Frage stellen, lesen sie Dateien, indem sie basierend auf Pfad- und Dateinamen-Heuristiken raten, welche relevant sein könnten. Bei einem mittelgroßen Projekt kann eine einzelne Abfrage 10.000–20.000 Token an Kontext verbrauchen, nur um Dateien zu laden, die möglicherweise gar nicht relevant sind.
claude-context-optimizer löst dies, indem es Ihrem KI-Assistenten eine semantische Suche über Ihre Codebasis ermöglicht. Anstatt Dateien blind zu lesen, ruft er search_code("wie funktioniert die Bezahlung?") auf und erhält nur die 5 relevantesten Code-Abschnitte zurück – lokal indiziert mithilfe von Embeddings, gespeichert in SQLite, keine Daten verlassen Ihren Rechner.
Funktionsweise
Wenn Sie Ihren KI-Assistenten in einem Projekt öffnen:
Der MCP-Server startet automatisch (wird vom Assistenten über stdio gestartet)
Er vergleicht Datei-Hashes mit dem letzten Index und indiziert nur das, was sich geändert hat (Delta-Indizierung)
Ein Datei-Watcher hält den Index synchron, während Sie programmieren
Ihr Assistent hat nun Zugriff auf 3 semantische Such-Tools, anstatt Rohdateien zu lesen
You ask: "how does the Asaas webhook work?"
Without cco: With cco:
Read AsaasWebhookController.php search_code("asaas webhook")
Read AsaasWebhookService.php → returns 5 relevant chunks
Read PaymentService.php → ~800 tokens total
Read BillingModule.php
Read ...8 more files
→ ~15,000 tokens totalUnter der Haube
Embeddings: Ollama mit
nomic-embed-text(768-dim) — 100% lokal, kostenlos, kein API-SchlüsselVektorspeicher: SQLite mit Kosinus-Ähnlichkeit, die im Prozess berechnet wird — keine zusätzliche Infrastruktur
Chunking: AST-bewusst via
tree-sitter(teilt nach Funktion/Klasse) mit Sliding-Window-FallbackTransport: MCP stdio — der Assistent startet den Prozess und kommuniziert über Pipe
Persistenz: Der Index liegt in
.claude-context/index.dbund bleibt zwischen Sitzungen erhalten
Related MCP server: CodeRAG
Kompatibilität
claude-context-optimizer funktioniert mit jedem MCP-kompatiblen KI-Coding-Assistenten. MCP (Model Context Protocol) ist ein offener Standard – derselbe Server funktioniert ohne Änderungen über alle Clients hinweg.
Assistent | Status | Konfigurationsort |
Claude Code | ✅ |
|
Cursor | ✅ |
|
Windsurf | ✅ |
|
Trae | ✅ |
|
Codex | ✅ | MCP-Konfiguration (Vorschau) |
Jeder MCP-Client | ✅ | Folgt der MCP-stdio-Spezifikation |
Der init-Befehl erkennt, welche Assistenten Sie verwenden, und registriert den Server automatisch am richtigen Ort.
Token-Einsparungen
Der Index liegt lokal. Der Assistent ruft nur das ab, was relevant ist. Die Zahlen sprechen für sich:
Projektgröße | Ohne cco | Mit cco | Einsparung |
~200 Dateien | ~5k Token/Abfrage | ~1.2k Token/Abfrage | ~75% |
~1000 Dateien | ~10k Token/Abfrage | ~1.5k Token/Abfrage | ~85% |
~5000 Dateien | ~20k+ Token/Abfrage | ~2k Token/Abfrage | ~90% |
Dies sind Kontext-Token – der Teil, den Sie kontrollieren. Die Einsparungen skalieren mit der Projektgröße, da größere Projekte standardmäßig mehr heuristische Dateilesevorgänge auslösen.
Verfügbare Tools
Tool | Wann zu verwenden |
| Konzeptuelle Abfragen: "wie funktioniert die Abrechnung", "wo wird die Authentifizierung gehandhabt" |
| Exakte Suchen: "finde PaymentService", "wo ist handleWebhook definiert" |
| Debug: wie viele Dateien und Chunks sind aktuell indiziert |
Fügen Sie dies der CLAUDE.md (oder Äquivalent) Ihres Projekts hinzu, um den Assistenten zu leiten:
## Context Search
Always use MCP tools before reading files:
- search_code() — for conceptual or natural language queries
- get_symbol() — for exact class/function/method lookups
Only read full files if both tools return insufficient context.Installationsoptionen
Option A — npm (erfordert Ollama)
Kein Overhead. Am besten für Entwickler, die Ollama bereits installiert haben.
npm install -g @vmsfigueredo/mcplens
ollama pull nomic-embed-text:latest
cd your-project && mcplens initSiehe INSTALL.md für vollständige Einrichtungsanweisungen.
Option B — Docker
Noch nicht verfügbar. Die Docker-Distribution (Bündelung von Node + Ollama + Modell) ist geplant, aber noch nicht implementiert. Verfolgen Sie den Fortschritt in der Roadmap.
Konfiguration
.claude-context/config.json wird automatisch durch init erstellt. Bearbeiten Sie diese, um das Verhalten anzupassen:
{
"embeddings": {
"provider": "ollama",
"ollamaUrl": "http://localhost:11434",
"ollamaModel": "nomic-embed-text:latest"
},
"search": {
"topK": 5,
"minScore": 0.3
},
"ignore": [
"**/tests/fixtures/**"
]
}Um stattdessen OpenAI-Embeddings zu verwenden:
{
"embeddings": {
"provider": "openai",
"openaiApiKey": "sk-...",
"openaiModel": "text-embedding-3-small"
}
}Was wird indiziert
Standardmäßig enthalten: .ts .tsx .js .jsx .mjs .php .svelte .vue .py .rb .go .rs .css .scss .json .yaml .yml .md .sql
Standardmäßig ignoriert: node_modules, .git, vendor, dist, build, .next, .claude-context
Das Verzeichnis .claude-context/ wird automatisch zu .gitignore hinzugefügt.
Referenz zur Indexgröße
Projekt | Dateien | Ca. Größe |
Klein | ~200 Dateien | ~15 MB |
Mittel | ~1000 Dateien | ~70 MB |
Groß | ~5000 Dateien | ~350 MB |
Dashboard
Ein leichtgewichtiges Web-Dashboard ist unter http://localhost:3000 verfügbar, während der Server läuft:
Übersicht — indizierte Dateien, Chunks, Indexgröße, Ollama-Status
Aktivität — Live-Feed von Re-Indizierungsereignissen
Suche — Testen Sie Abfragen manuell und sehen Sie die Ergebnisse (nützlich zur Kalibrierung von
minScore)Dateien — Vollständige Liste der indizierten Dateien mit Chunk-Anzahl
Das Dashboard läuft standardmäßig auf Port 3333. Wenn dieser Port bereits belegt ist (z. B. zwei Projekte gleichzeitig geöffnet), wird der Port automatisch aus dem Projektnamen berechnet. Zum Öffnen:
mcplens dashboardZum Deaktivieren: Fügen Sie --no-dashboard zu den Server-Argumenten in Ihrer MCP-Konfiguration hinzu.
Datenschutz
Alles läuft auf Ihrem Rechner:
Embeddings werden lokal über Ollama generiert — Ihr Code verlässt niemals Ihren Rechner
Der Index wird in
.claude-context/index.dbin Ihrem Projekt gespeichertKeine Telemetrie, keine Analysen, keine Konten
⚠️ Wenn Sie die OpenAI-Embeddings-Option verwenden, werden Chunks an die API von OpenAI gesendet.
Warum nicht einfach bestehende Tools verwenden?
Tool | Sprache | Vollständig lokal? | Installationsaufwand |
| TypeScript | ❌ erfordert Zilliz Cloud + OpenAI | Mittel |
| Python | ✅ | Hoch (torch, FAISS, pipx) |
| Python | ✅ | Mittel (pipx, sentence-transformers) |
| Rust | ✅ | Hoch (muss Rust kompilieren) |
@vmsfigueredo/mcplens | Node.js | ✅ | Niedrig ( |
Das Ziel ist es, die zugänglichste Option für JS/TS-Entwickler zu sein – nicht die mit den meisten Funktionen. Wenn Sie Node.js bereits haben, sind Sie nur einen Befehl entfernt.
Roadmap
[x] AST-basiertes Chunking via tree-sitter
[x] Delta-Indizierung nach Datei-Hash
[x] Echtzeit-Datei-Watcher
[x] Dashboard
[x] Multi-Client-Init (Claude Code, Cursor, Windsurf, Trae)
[x] Hybride Suche (BM25 + semantisch)
[ ] Docker-Option mit gebündeltem Ollama
[ ] Kontextuelle Abfrage (LLM-generierte Chunk-Zusammenfassungen)
[ ] Token-Nutzungsanalysen via Claude Code Hooks
Mitwirken
PRs sind willkommen. Siehe INSTALL.md für die Einrichtung der lokalen Entwicklung.
Erstellt mit
Dieses Projekt wurde mit Claude Code erstellt – genau deshalb existiert es.
Lizenz
MIT
This server cannot be installed
Maintenance
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/vmsfigueredo/mcplens'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
