mcp-sage
Un servidor MCP (Protocolo de Contexto de Modelo) que proporciona herramientas para enviar solicitudes a otro LLM (actualmente solo Gemini 2.5 Pro) que integra todas las rutas de archivo referenciadas (de forma recursiva para carpetas) en la solicitud. Resulta útil para obtener segundas opiniones o revisiones de código detalladas de un modelo que puede gestionar gran cantidad de contexto con precisión.
Razón fundamental
Uso Claude Code con frecuencia. Es un producto excelente que se adapta bien a mi flujo de trabajo. Sin embargo, los modelos más recientes con gran cantidad de contexto parecen muy útiles para trabajar con bases de código más complejas donde se necesita más contexto. Esto me permite seguir usando Claude Code como herramienta de desarrollo y, al mismo tiempo, aprovechar el amplio contexto de Gemini 2.5 Pro para ampliar el contexto limitado de Claude Code.
Inspiración
Este proyecto se inspira en otros dos proyectos de código abierto:
- simonw/files-to-prompt para la compresión de archivos
- asadm/vibemode por la idea y la solicitud para enviar el repositorio completo a Gemini para obtener sugerencias de edición al por mayor
Descripción general
Este proyecto implementa un servidor MCP que expone dos herramientas:
second-opinion
- Toma un mensaje y una lista de rutas de archivos/directorios como entrada
- Empaqueta los archivos en un formato XML estructurado
- Comprueba si el contenido combinado está dentro del límite de tokens de Gemini (1 millón de tokens)
- Envía el mensaje combinado + contexto a Gemini 2.5 Pro
- Devuelve la respuesta del modelo.
expert-review
- Toma una instrucción para cambios de código y una lista de rutas de archivos/directorios como entrada
- Empaqueta los archivos en un formato XML estructurado
- Comprueba si el contenido combinado está dentro del límite de tokens de Gemini (1 millón de tokens)
- Crea un mensaje especializado que indica al modelo cómo formatear las respuestas usando bloques BUSCAR/REEMPLAZAR
- Envía el contexto combinado + instrucción a Gemini 2.5 Pro
- Devuelve sugerencias de edición formateadas como bloques de BÚSQUEDA/REEMPLAZAR para una fácil implementación
Prerrequisitos
- Node.js (v18 o posterior)
- Una clave API de Google Gemini
Instalación
Variables de entorno
Establezca la siguiente variable de entorno:
GEMINI_API_KEY
: Su clave API de Google Gemini
Uso
Después de compilar con npm run build
, agregue lo siguiente a su configuración de MCP:
Incitación
Para obtener una segunda opinión sobre algo, simplemente solicite una segunda opinión.
Para obtener una revisión de código, solicite una revisión de código o una revisión de un experto.
Ambos se benefician al proporcionar rutas de archivos que desea que se incluyan en el contexto, pero si se omiten, el LLM del host probablemente inferirá qué incluir.
Depuración y monitorización
El servidor proporciona información de monitorización detallada mediante la función de registro de MCP. Estos registros incluyen:
- Estadísticas de uso de tokens (tokens utilizados vs. límite de tokens)
- Número de archivos y documentos incluidos en la solicitud
- Métricas del tiempo de procesamiento de solicitudes
- Información de error cuando se superan los límites de tokens
Los registros se envían mediante el método notifications/message
del protocolo MCP, lo que garantiza que no interfieran con la comunicación JSON-RPC. Los clientes MCP compatibles con el registro mostrarán estos registros correctamente.
Ejemplos de entradas de registro:
Usando las herramientas
herramienta de segunda opinión
La herramienta second-opinion
acepta los siguientes parámetros:
prompt
(cadena, obligatorio): El mensaje que se enviará a Geminipaths
(matriz de cadenas, obligatoria): lista de rutas de archivos para incluir como contexto
Ejemplo de llamada a la herramienta MCP (usando JSON-RPC 2.0):
Herramienta de revisión por expertos
La herramienta expert-review
acepta los siguientes parámetros:
instruction
(cadena, obligatoria): Los cambios o mejoras específicos necesariospaths
(matriz de cadenas, obligatoria): lista de rutas de archivos para incluir como contexto
Ejemplo de llamada a la herramienta MCP (usando JSON-RPC 2.0):
La respuesta contendrá bloques BUSCAR/REEMPLAZAR que puedes usar para implementar los cambios sugeridos:
Ejecución de las pruebas
Para probar las herramientas:
Estructura del proyecto
src/index.ts
: La implementación principal del servidor MCP con definiciones de herramientassrc/pack.ts
: Herramienta para empaquetar archivos en un formato XML estructuradosrc/tokenCounter.ts
: Utilidades para contar tokens en un mensajesrc/gemini.ts
: Implementación del cliente API de Geminitest/run-test.js
: Prueba para la herramienta de segunda opinióntest/test-expert.js
: Prueba para la herramienta de revisión de expertos
Licencia
ISC
This server cannot be installed
Un servidor MCP que proporciona herramientas para obtener segundas opiniones o revisiones de código detalladas de Gemini 2.5 Pro incorporando contenidos de archivos en las indicaciones, lo que le permite manejar grandes bases de código con un contexto extenso.