CodeMenu MCP
Otorga a los agentes acceso a la biblioteca de fragmentos de conocimiento.
Documentación
codemenu-mcp
Servidor MCP para el gestor de fragmentos de código de CodeMenu.
Descripción general
Este es un servidor del Protocolo de Contexto de Modelos (MCP) que proporciona integración con la API HTTP local de CodeMenu, permitiendo a los asistentes de IA acceder y buscar fragmentos de código almacenados en CodeMenu.
Características
El servidor expone las siguientes herramientas para interactuar con CodeMenu:
- list_snippets - Lista fragmentos sin el contenido completo del código (para reducir el uso de tokens). Devuelve id, título, descripción, lenguaje, abreviatura, etiquetas e información del grupo. Admite filtrado por consulta, lenguaje, etiqueta o grupo.
- get_snippet - Recupera los detalles completos de un fragmento específico por ID, incluido el contenido completo del código
- list_tags - Lista todas las etiquetas disponibles en CodeMenu
- list_groups - Lista todos los grupos disponibles en CodeMenu
Requisitos previos
- CodeMenu debe estar ejecutándose en tu Mac (Más información)
- La API debe estar habilitada en la configuración de CodeMenu (CodeMenu → Configuración → API)
- Node.js >= 18.0.0
Configuración de la API de CodeMenu
- Abre CodeMenu
- Ve a Configuración → API
- Habilita el servidor de API
- Anota el puerto (predeterminado: 1300)
- Opcionalmente, establece una clave de API para la autenticación
La API de CodeMenu se ejecuta localmente en http://127.0.0.1:1300/v1 de forma predeterminada.
Instalación
Desde npm (cuando se publique)
npm install -g git+https://github.com/Extiri/codemenu-mcp.git
Desde el código fuente
git clone https://github.com/Extiri/codemenu-mcp.git
cd codemenu-mcp
npm install
npm link
Configuración
El servidor se conecta a la API local de CodeMenu y admite las siguientes variables de entorno:
Variables de entorno
CODEMENU_API_URL- La URL base para la API de CodeMenu (predeterminado:http://127.0.0.1:1300/v1)CODEMENU_API_KEY- Tu clave de API de CodeMenu
Ejemplo de configuración para Claude Desktop
Añade esto a tu archivo de configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"codemenu": {
"command": "node",
"args": ["/path/to/codemenu-mcp/index.js"],
"env": {
"CODEMENU_API_URL": "http://127.0.0.1:1300/v1",
"CODEMENU_API_KEY": "your-api-key"
}
}
}
}
O si se instaló globalmente mediante npm:
{
"mcpServers": {
"codemenu": {
"command": "codemenu-mcp",
"env": {
"CODEMENU_API_KEY": "your-api-key"
}
}
}
}
Nota: Si no habilitaste la protección con clave de API en la configuración de CodeMenu, puedes omitir la variable de entorno CODEMENU_API_KEY.
Uso
Una vez configurado, el servidor se iniciará automáticamente mediante tu cliente MCP (p. ej., Claude Desktop). El asistente de IA tendrá acceso a tus fragmentos de CodeMenu y podrá:
- Explorar y buscar entre tus fragmentos de código
- Encontrar fragmentos por lenguaje, etiquetas o grupos
- Recuperar fragmentos específicos con el contenido completo del código cuando sea necesario
- Listar etiquetas y grupos disponibles para una mejor organización
Ejemplos de interacción
Búsqueda de fragmentos:
"Search my CodeMenu snippets for sorting algorithms"
Listado de fragmentos por lenguaje:
"Show me all my JavaScript snippets from CodeMenu"
Obtención de un fragmento específico:
"Show me the full code for snippet ID ABC123"
Listado de etiquetas:
"What tags do I have in CodeMenu?"
Desarrollo
Ejecutar el servidor
npm start
El servidor se comunica a través de stdio, que es el transporte estándar para servidores MCP.
Pruebas
npm test
Esto valida que el servidor implementa correctamente el protocolo MCP. Para probar llamadas reales a la API, asegúrate de que CodeMenu esté ejecutándose con la API habilitada.
Estructura del proyecto
index.js- Implementación principal del servidorpackage.json- Metadatos del proyecto y dependenciastest.js- Suite de pruebas del protocolo MCPREADME.md- Este archivoLICENSE- Licencia MIT.gitignore- Archivos a excluir de git
Referencia de la API
El servidor implementa el Protocolo de Contexto de Modelos y expone herramientas que corresponden a los endpoints de la API de CodeMenu:
GET /snippets- Lista fragmentos con filtros opcionales (consulta, lenguaje, etiqueta, grupo)GET /tags- Lista todas las etiquetasGET /groups- Lista todos los grupos
Para obtener información detallada sobre la API de CodeMenu, consulta la documentación de la API de CodeMenu.
Requisitos
- Node.js >= 18.0.0
- Aplicación CodeMenu con la API habilitada
- Cliente MCP (p. ej., Claude Desktop)
Licencia
MIT
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una solicitud de extracción (Pull Request).
Soporte
Para problemas relacionados con:
- Este servidor MCP: Abre un issue en GitHub
- Aplicación o API de CodeMenu: Consulta la documentación de CodeMenu
- Especificación MCP: Consulta la documentación del Protocolo de Contexto de Modelos
Solución de problemas
El servidor no puede conectarse a CodeMenu:
- Asegúrate de que la aplicación CodeMenu esté ejecutándose
- Verifica que la API esté habilitada en la configuración de CodeMenu
- Verifica que el puerto coincida con tu configuración (predeterminado: 1300)
- Si habilitaste la protección con clave de API, asegúrate de que
CODEMENU_API_KEYesté configurada correctamente
No se devuelven fragmentos:
- Verifica que tengas fragmentos en CodeMenu
- Comprueba que tus filtros de búsqueda no sean demasiado restrictivos
- Prueba a listar sin filtros primero
Errores de autenticación:
- Comprueba si la variable de entorno
CODEMENU_API_KEYestá configurada correctamente