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

  1. Abra o CodeMenu
  2. Vá para Configurações → API
  3. Habilite o servidor da API
  4. Anote a porta (padrão: 1300)
  5. 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 servidor
  • package.json - Metadados do projeto e dependências
  • test.js - Suíte de testes do protocolo MCP
  • README.md - Este arquivo
  • LICENSE - 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 tags
  • GET /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:

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_KEY está 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_KEY está definida corretamente