CodeMenu MCP
Concede aos agentes acesso à biblioteca de trechos de conhecimento.
Documentação
codemenu-mcp
Servidor MCP para o gerenciador de snippets CodeMenu.
Visão Geral
Este é um servidor Model Context Protocol (MCP) que fornece integração com a API HTTP local do CodeMenu, permitindo que assistentes de IA acessem e pesquisem snippets de código armazenados no CodeMenu.
Recursos
O servidor expõe as seguintes ferramentas para interagir com o CodeMenu:
- list_snippets - Lista snippets sem o conteúdo completo do código (para reduzir o uso de tokens). Retorna id, título, descrição, linguagem, abreviação, tags e informações do grupo. Suporta filtragem por consulta, linguagem, tag ou grupo.
- get_snippet - Recupera os detalhes completos de um snippet específico por ID, incluindo o conteúdo completo do código
- list_tags - Lista todas as tags disponíveis no CodeMenu
- list_groups - Lista todos os grupos disponíveis no CodeMenu
Pré-requisitos
- CodeMenu deve estar em execução no seu Mac (Saiba mais)
- API deve estar habilitada nas configurações do CodeMenu (CodeMenu → Configurações → API)
- Node.js >= 18.0.0
Configuração da API do CodeMenu
- Abra o CodeMenu
- Vá para Configurações → API
- Habilite o servidor da API
- Anote a porta (padrão: 1300)
- Opcionalmente, defina uma chave de API para autenticação
A API do CodeMenu é executada localmente em http://127.0.0.1:1300/v1 por padrão.
Instalação
Via npm (quando publicado)
npm install -g git+https://github.com/Extiri/codemenu-mcp.git
A partir do código-fonte
git clone https://github.com/Extiri/codemenu-mcp.git
cd codemenu-mcp
npm install
npm link
Configuração
O servidor se conecta à API local do CodeMenu e suporta as seguintes variáveis de ambiente:
Variáveis de Ambiente
CODEMENU_API_URL- A URL base para a API do CodeMenu (padrão:http://127.0.0.1:1300/v1)CODEMENU_API_KEY- Sua chave de API do CodeMenu
Exemplo de Configuração para o Claude Desktop
Adicione isto ao seu arquivo de configuração do 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"
}
}
}
}
Ou se instalado globalmente via npm:
{
"mcpServers": {
"codemenu": {
"command": "codemenu-mcp",
"env": {
"CODEMENU_API_KEY": "your-api-key"
}
}
}
}
Nota: Se você não habilitou a proteção por chave de API nas configurações do CodeMenu, pode omitir a variável de ambiente CODEMENU_API_KEY.
Uso
Uma vez configurado, o servidor será iniciado automaticamente pelo seu cliente MCP (ex.: Claude Desktop). O assistente de IA terá acesso aos seus snippets do CodeMenu e poderá:
- Navegar e pesquisar em seus snippets de código
- Encontrar snippets por linguagem, tags ou grupos
- Recuperar snippets específicos com o conteúdo completo do código quando necessário
- Listar tags e grupos disponíveis para melhor organização
Exemplos de Interação
Pesquisando snippets:
"Search my CodeMenu snippets for sorting algorithms"
Listando snippets por linguagem:
"Show me all my JavaScript snippets from CodeMenu"
Obtendo um snippet específico:
"Show me the full code for snippet ID ABC123"
Listando tags:
"What tags do I have in CodeMenu?"
Desenvolvimento
Executando o Servidor
npm start
O servidor se comunica via stdio, que é o transporte padrão para servidores MCP.
Testes
npm test
Isso valida que o servidor implementa corretamente o protocolo MCP. Para testar chamadas reais à API, certifique-se de que o CodeMenu esteja em execução com a API habilitada.
Estrutura do Projeto
index.js- Implementação principal do servidorpackage.json- Metadados do projeto e dependênciastest.js- Suíte de testes do protocolo MCPREADME.md- Este arquivoLICENSE- Licença MIT.gitignore- Arquivos a excluir do git
Referência da API
O servidor implementa o Model Context Protocol e expõe ferramentas que correspondem aos endpoints da API do CodeMenu:
GET /snippets- Lista snippets com filtros opcionais (consulta, linguagem, tag, grupo)GET /tags- Lista todas as tagsGET /groups- Lista todos os grupos
Para informações detalhadas sobre a API do CodeMenu, consulte a documentação da API do CodeMenu.
Requisitos
- Node.js >= 18.0.0
- Aplicativo CodeMenu com API habilitada
- Cliente MCP (ex.: Claude Desktop)
Licença
MIT
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Suporte
Para problemas relacionados a:
- Este servidor MCP: Abra uma issue no GitHub
- Aplicativo CodeMenu ou API: Consulte a documentação do CodeMenu
- Especificação MCP: Consulte a documentação do Model Context Protocol
Solução de Problemas
O servidor não consegue se conectar ao CodeMenu:
- Certifique-se de que o aplicativo CodeMenu está em execução
- Verifique se a API está habilitada nas configurações do CodeMenu
- Confirme se a porta corresponde à sua configuração (padrão: 1300)
- Se você habilitou a proteção por chave de API, certifique-se de que
CODEMENU_API_KEYestá definida corretamente
Nenhum snippet retornado:
- Verifique se você tem snippets no CodeMenu
- Confirme se seus filtros de pesquisa não estão muito restritivos
- Tente listar sem filtros primeiro
Erros de autenticação:
- Verifique se a variável de ambiente
CODEMENU_API_KEYestá definida corretamente