MCP Repo Search Server

Servidor MCP que proporciona a los LLMs inteligencia estructural de código a través de múltiples repositorios.

Documentación

Repo Lens MCP Server

Inteligencia de código entre repositorios para desarrolladores.

NPM Version Build Status License: AGPL v3 TypeScript MCP Ready

Busca funciones, clases y rutas de API en todos tus repositorios locales JS/TS y PHP sin cambiar de contexto.


¿Por qué usar esto?

El problema: Estás trabajando en tu repositorio frontend y necesitas encontrar un endpoint de API backend. O estás depurando y necesitas encontrar dónde se define una función en tu monorepo. Con Claude Code, puedes buscar en el repositorio actual, pero ¿qué pasa con tus otros proyectos locales?

La solución: Repo Lens te permite declarar tus repositorios una vez en un archivo de configuración YAML — o buscar en cualquier directorio ad-hoc — y buscar en todos ellos simultáneamente usando búsqueda estructural basada en AST. Encuentra la firma de función exacta, la definición de clase o la ruta de API que necesitas sin salir de tu contexto actual.

Casos de uso

  • Desarrollo Frontend + Backend: Busca rutas de API backend mientras trabajas en tu repositorio frontend
  • Proyectos PHP + JS/TS: Encuentra clases, traits e interfaces de PHP junto con tipos de TypeScript
  • Arquitectura de microservicios: Encuentra definiciones de funciones en múltiples servicios
  • Navegación en monorepo: Busca entre paquetes sin cambiar de directorio
  • Exploración de código: Comprende cómo se conectan los diferentes proyectos en tu ecosistema

Inicio rápido

npx repo-lens-mcp

Características principales

Inteligencia basada en AST

A diferencia de la búsqueda de texto estilo grep, Repo Lens usa ast-grep (escrito en Rust) para analizar el código en Árboles de Sintaxis Abstracta:

  • Precisión estructural: Distingue entre class User y const User
  • Conciencia de exportación: Encuentra solo funciones exportadas, o incluye las privadas
  • Extracción de firmas: Obtén firmas de funciones completas, no solo nombres

Búsqueda sin fricción

Busca en cualquier directorio al instante con el parámetro paths — sin necesidad de configuración:

  • Pasa rutas de directorio directamente a cualquier herramienta de búsqueda
  • Declara repositorios persistentes en repolens.yaml con alias para uso repetido
  • Combina ambos: repositorios registrados + rutas ad-hoc en la misma consulta

Búsqueda multi-repositorio

Declara tus repositorios una vez y búscalos todos a la vez:

  • Configuración YAML estática — declara una vez, busca siempre
  • Filtra por alias de repositorio o busca en todos
  • Los resultados incluyen el contexto del repositorio

Descubrimiento de rutas de API

Mapea todos los endpoints de API en proyectos Express, NestJS, Fastify y Laravel. Encuentra ese endpoint /users/:id en segundos.


Instalación

Claude Desktop / VS Code (Recomendado)

Añade esto a tu claude_desktop_config.json (o a la configuración MCP de VS Code):

{
  "mcpServers": {
    "repo-lens": {
      "command": "npx",
      "args": ["-y", "repo-lens-mcp", "--config", "/home/user/repolens.yaml"]
    }
  }
}

Reinicia Claude y estarás listo.

Desarrollo local

git clone https://github.com/YohannHommet/repo-lens-mcp.git
cd repo-lens-mcp
pnpm install
pnpm build
pnpm dev

Configuración

Archivo de configuración (repolens.yaml)

Crea un archivo de configuración YAML que declare tus repositorios:

# repolens.yaml
repositories:
  - path: ~/projects/backend-api
    alias: backend
  - path: ~/projects/frontend-app
    alias: frontend
  - path: ~/projects/shared-lib

~ se expande automáticamente a tu directorio de inicio.

Resolución de ruta de configuración

  1. --config <path> argumento CLI (explícito — falla si no se encuentra el archivo)
  2. Predeterminado: ~/.config/repo-lens-mcp/repolens.yaml (con gracia — devuelve vacío si no se encuentra, las rutas ad-hoc aún funcionan)

Variables de entorno

VariablePredeterminadoDescripción
MCP_LOG_LEVELinfoNivel de registro: debug, info, warn, error

Ejemplo:

{
  "env": {
    "MCP_LOG_LEVEL": "debug"
  }
}

Capacidades

Listado de repositorios (1 herramienta)

HerramientaDescripción
repolens_list_repositoriesLista todos los repositorios configurados (solo lectura)

Búsqueda de símbolos (3 herramientas)

Búsqueda estructural basada en AST impulsada por ast-grep. Soporta JavaScript/TypeScript y PHP (clases, traits, interfaces, enums, funciones, métodos, constantes):

HerramientaDescripción
repolens_find_functionsEncuentra definiciones de funciones/métodos en JS/TS y PHP (soporta comodines como handle*)
repolens_find_classesEncuentra definiciones de clases (también encuentra traits de PHP)
repolens_find_typesEncuentra interfaces y alias de tipo (PHP: solo interfaces)

Todas las herramientas de búsqueda aceptan:

  • paths — Rutas de directorio ad-hoc para buscar (separadas por comas, sin necesidad de registro)
  • repoFilter — Filtra repositorios registrados por alias

Descubrimiento de rutas de API (1 herramienta)

HerramientaDescripción
repolens_find_api_routesMapea endpoints de API en Express, NestJS, Fastify, Laravel

Ejemplos de uso

1. Buscar en cualquier directorio (sin configuración)

"Encuentra todas las funciones que comiencen con 'handle' en mi backend"

repolens_find_functions(paths: "/home/user/projects/backend", name: "handle*")

2. Listar repositorios configurados

"¿Qué repositorios están disponibles?"

repolens_list_repositories()

3. Encontrar un endpoint de API

"Encuentra la ruta de Express que maneja solicitudes POST a /login"

repolens_find_api_routes(repoFilter: "backend", method: "POST", pathPattern: "/login")

4. Encontrar una clase específica

"¿Dónde está definida la clase UserService?"

repolens_find_classes(name: "UserService")

¿Qué pasa con la búsqueda de texto / operaciones de archivos?

Repo Lens se centra en la búsqueda multi-repositorio basada en AST. Para búsqueda de texto y operaciones de archivos dentro de tu repositorio actual, usa las herramientas integradas de Claude Code (Grep, Read, Glob) que están optimizadas para uso en un solo repositorio.

Esta separación mantiene a Repo Lens rápido y enfocado en lo que mejor hace: inteligencia estructural de código entre repositorios.


Licencia

AGPL-3.0

Este software es de uso gratuito. Si lo modificas y distribuyes (o lo ejecutas como servicio de red), debes compartir tu código fuente bajo la misma licencia.


Hecho con cuidado por Yohann Hommet