nREPL MCP Server
Interaja com uma instância Clojure nREPL em execução para avaliação de código, inspeção de namespace e outras utilidades.
Documentação
nREPL MCP Server
Um servidor Model Context Protocol (MCP) projetado para clientes MCP, como Claude Desktop ou CLine no VSCode. Este servidor pode ser usado com qualquer LLM quando utilizado com CLine. Este servidor permite a interação com uma instância nREPL do Clojure em execução, permitindo a avaliação de código Clojure, inspeção de namespaces e outras utilidades via MCP.
Recursos
- Conectar a um servidor nREPL em execução especificando host e porta.
- Avaliar código Clojure em um namespace específico ou no atual.
- Listar namespaces do projeto usando
tools.namespace. - Obter o status da conexão nREPL, incluindo host, porta e detalhes da sessão.
- Inspecionar vars públicas em qualquer namespace do Clojure, exibindo metadados como docstrings e valores.
Instalação e Configuração
Instalação no CLine (VSCode) ou Claude Desktop
Para usar este servidor com CLine ou Claude Desktop, siga estes passos:
- Abra o CLine no VSCode ou o Claude Desktop.
- Navegue até as Configurações do MCP.
- Adicione um novo servidor MCP com a seguinte configuração:
{ "mcpServers": { "nrepl-mcp-server": { "command": "npx", "args": [ "nrepl-mcp-server" ], "disabled": false, "autoApprove": [] } } } - Salve e reinicie o cliente para aplicar as alterações.
Isso permitirá que o cliente se comunique com o servidor nREPL MCP via entrada/saída padrão.
Instalação via npx
Para executar rapidamente o servidor sem clonar o repositório:
npx nrepl-mcp-server
Instalação Manual
- Clone o repositório
- Instale as dependências
npm install - Compile o projeto (transpila TypeScript para JavaScript)
npm run build - Execute o servidor
- Modo de Produção: Executa a partir da saída compilada.
npm start- Modo de Desenvolvimento: Usa ts-node para alterações ao vivo.
npm run dev
- Modo de Produção: Executa a partir da saída compilada.
Isso inicia o servidor, escutando em STDIO por solicitações MCP. O cliente MCP iniciará o servidor para você.
Ações
Conectando ao nREPL
Permite estabelecer uma conexão com um servidor nREPL especificando um host e uma porta.
Avaliando Código Clojure
Executa expressões Clojure arbitrárias no namespace padrão ou em um namespace especificado.
Obtendo Informações do Namespace
Lista todos os namespaces no diretório atual do projeto usando tools.namespace.
Inspecionando Vars Públicas
Busca metadados e valores atuais de todas as vars públicas em um namespace especificado.
Obtendo o Status da Conexão nREPL
Fornece detalhes sobre a conexão nREPL atual, incluindo host, porta, ID da sessão e último erro (se houver).
Recursos
nrepl://status
Fornece informações sobre a conexão nREPL atual, incluindo:
- Host e porta
- Status da conexão
- ID da sessão ativa
nrepl://namespaces
Lista todos os namespaces detectados no diretório do projeto.
Contribuição
Contribuições são bem-vindas! Se você tiver sugestões de recursos ou relatórios de bugs, abra uma issue ou pull request.
Licença
Este projeto é licenciado sob a Licença MIT. Sinta-se à vontade para modificar e distribuir de acordo com seus termos.