mcplens
mcplens
Búsqueda semántica de bases de código para asistentes de codificación de IA: reducción de tokens del 70-85%, 100% local, sin dependencia de la nube.
Los asistentes de codificación de IA como Claude Code, Cursor y Codex son potentes, pero tienen un problema fundamental: cuando haces una pregunta, leen archivos adivinando cuáles son relevantes basándose en heurísticas de ruta y nombre de archivo. En un proyecto de tamaño mediano, una sola consulta puede consumir entre 10.000 y 20.000 tokens de contexto solo cargando archivos que quizás ni siquiera sean relevantes.
claude-context-optimizer resuelve esto dándole a tu asistente de IA búsqueda semántica sobre tu base de código. En lugar de leer archivos a ciegas, llama a search_code("¿cómo funciona el pago?") y obtiene solo los 5 fragmentos de código más relevantes, indexados localmente mediante embeddings, almacenados en SQLite, sin que ningún dato salga de tu máquina.
Cómo funciona
Cuando abres tu asistente de IA en un proyecto:
El servidor MCP se inicia automáticamente (generado a través de stdio por el asistente)
Compara los hashes de los archivos con el último índice y solo vuelve a indexar lo que cambió (indexación delta)
Un observador de archivos mantiene el índice sincronizado mientras programas
Tu asistente ahora tiene acceso a 3 herramientas de búsqueda semántica en lugar de leer archivos sin procesar
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 totalBajo el capó
Embeddings: Ollama con
nomic-embed-text(768-dim): 100% local, gratuito, sin clave APIAlmacén de vectores: SQLite con similitud de coseno calculada en el proceso: sin infraestructura adicional
Fragmentación (Chunking): Basada en AST mediante
tree-sitter(divide por función/clase) con respaldo de ventana deslizanteTransporte: MCP stdio: el asistente genera el proceso y se comunica a través de una tubería (pipe)
Persistencia: El índice reside en
.claude-context/index.dby sobrevive entre sesiones
Related MCP server: LocalNest MCP
Compatibilidad
claude-context-optimizer funciona con cualquier asistente de codificación de IA compatible con MCP. MCP (Model Context Protocol) es un estándar abierto: el mismo servidor funciona en todos los clientes sin modificaciones.
Asistente | Estado | Ubicación de la configuración |
Claude Code | ✅ |
|
Cursor | ✅ |
|
Windsurf | ✅ |
|
Trae | ✅ |
|
Codex | ✅ | Configuración MCP (vista previa) |
Cualquier cliente MCP | ✅ | Sigue la especificación MCP stdio |
El comando init detecta qué asistentes utilizas y registra el servidor automáticamente en el lugar correcto.
Ahorro de tokens
El índice reside localmente. El asistente obtiene solo lo que es relevante. Los números hablan por sí solos:
Tamaño del proyecto | Sin cco | Con cco | Ahorro |
~200 archivos | ~5k tokens/consulta | ~1.2k tokens/consulta | ~75% |
~1000 archivos | ~10k tokens/consulta | ~1.5k tokens/consulta | ~85% |
~5000 archivos | ~20k+ tokens/consulta | ~2k tokens/consulta | ~90% |
Estos son tokens de contexto, la parte que tú controlas. El ahorro aumenta con el tamaño del proyecto porque los proyectos más grandes activan más lecturas de archivos heurísticas de forma predeterminada.
Herramientas expuestas
Herramienta | Cuándo usar |
| Consultas conceptuales: "¿cómo funciona la facturación?", "¿dónde se maneja la autenticación?" |
| Búsquedas exactas: "buscar PaymentService", "¿dónde está definido handleWebhook?" |
| Depuración: cuántos archivos y fragmentos están indexados actualmente |
Agrega esto al CLAUDE.md (o equivalente) de tu proyecto para guiar al asistente:
## 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.Opciones de instalación
Opción A: npm (requiere Ollama)
Sin sobrecarga. Ideal para desarrolladores que ya tienen Ollama instalado.
npm install -g @vmsfigueredo/mcplens
ollama pull nomic-embed-text:latest
cd your-project && mcplens initConsulta INSTALL.md para obtener instrucciones completas de configuración.
Opción B: Docker
Aún no disponible. La distribución de Docker (que incluye Node + Ollama + modelo) está planificada pero no implementada. Sigue el progreso en la Hoja de ruta.
Configuración
.claude-context/config.json es creado automáticamente por init. Edítalo para personalizar el comportamiento:
{
"embeddings": {
"provider": "ollama",
"ollamaUrl": "http://localhost:11434",
"ollamaModel": "nomic-embed-text:latest"
},
"search": {
"topK": 5,
"minScore": 0.3
},
"ignore": [
"**/tests/fixtures/**"
]
}Para usar embeddings de OpenAI en su lugar:
{
"embeddings": {
"provider": "openai",
"openaiApiKey": "sk-...",
"openaiModel": "text-embedding-3-small"
}
}Qué se indexa
Incluido por defecto: .ts .tsx .js .jsx .mjs .php .svelte .vue .py .rb .go .rs .css .scss .json .yaml .yml .md .sql
Ignorado por defecto: node_modules, .git, vendor, dist, build, .next, .claude-context
El directorio .claude-context/ se agrega automáticamente a .gitignore.
Referencia del tamaño del índice
Proyecto | Archivos | Tamaño aprox. |
Pequeño | ~200 archivos | ~15 MB |
Mediano | ~1000 archivos | ~70 MB |
Grande | ~5000 archivos | ~350 MB |
Panel de control (Dashboard)
Un panel web ligero está disponible en http://localhost:3000 mientras el servidor se está ejecutando:
Resumen: archivos indexados, fragmentos, tamaño del índice, estado de Ollama
Actividad: feed en vivo de eventos de reindexación
Búsqueda: prueba consultas manualmente y observa las puntuaciones (útil para calibrar
minScore)Archivos: lista completa de archivos indexados con recuentos de fragmentos
El panel se ejecuta en el puerto 3333 de forma predeterminada. Si ese puerto ya está ocupado (por ejemplo, dos proyectos abiertos simultáneamente), el puerto se calcula automáticamente a partir del nombre del proyecto. Para abrir:
mcplens dashboardPara desactivar: agrega --no-dashboard a los argumentos del servidor en tu configuración de MCP.
Privacidad
Todo se ejecuta en tu máquina:
Los embeddings se generan localmente a través de Ollama: tu código nunca sale de tu equipo
El índice se almacena en
.claude-context/index.dben tu proyectoSin telemetría, sin análisis, sin cuentas
⚠️ Si utilizas la opción de embeddings de OpenAI, los fragmentos se envían a la API de OpenAI.
¿Por qué no usar herramientas existentes?
Herramienta | Lenguaje | ¿Totalmente local? | Fricción de instalación |
| TypeScript | ❌ requiere Zilliz Cloud + OpenAI | Media |
| Python | ✅ | Alta (torch, FAISS, pipx) |
| Python | ✅ | Media (pipx, sentence-transformers) |
| Rust | ✅ | Alta (debe compilar Rust) |
@vmsfigueredo/mcplens | Node.js | ✅ | Baja ( |
El objetivo es ser la opción más accesible para desarrolladores JS/TS, no la más completa en funciones. Si ya tienes Node.js, estás a un comando de distancia.
Hoja de ruta
[x] Fragmentación basada en AST mediante tree-sitter
[x] Indexación delta por hash de archivo
[x] Observador de archivos en tiempo real
[x] Panel de control
[x] Inicio multi-cliente (Claude Code, Cursor, Windsurf, Trae)
[x] Búsqueda híbrida (BM25 + semántica)
[ ] Opción Docker con Ollama incluido
[ ] Recuperación contextual (resúmenes de fragmentos generados por LLM)
[ ] Análisis de uso de tokens a través de hooks de Claude Code
Contribución
Las PR son bienvenidas. Consulta INSTALL.md para la configuración de desarrollo local.
Construido con
Este proyecto fue construido usando Claude Code, que es exactamente la razón por la que existe.
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server for semantic code search & navigation that helps AI agents work efficiently without burning through costly tokens. Instead of reading entire files, agents can search conceptually and jump directly to the specific functions, classes, and code chunks they need.120MIT
- AlicenseBqualityCmaintenanceA local-first MCP server that provides AI agents with safe codebase access through file discovery, hybrid lexical-semantic search, and project introspection. It features durable local memory and semantic indexing while keeping all data and processing entirely on your local machine.7414 npm6MIT
- FlicenseNot gradedqualityCmaintenanceA semantic code search MCP server that enables natural language queries against your codebase, supporting features like related file discovery and context expansion, all running locally.2-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents structured code understanding and precise code intelligence via local indexing of AST, call graphs, and semantic search.81 npm4Apache 2.0