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

  1. Abre CodeMenu
  2. Ve a Configuración → API
  3. Habilita el servidor de API
  4. Anota el puerto (predeterminado: 1300)
  5. 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 servidor
  • package.json - Metadatos del proyecto y dependencias
  • test.js - Suite de pruebas del protocolo MCP
  • README.md - Este archivo
  • LICENSE - 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 etiquetas
  • GET /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:

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_KEY esté 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_KEY está configurada correctamente