clj-kondo-MCP

Linter Clojure

Documentação

Servidor MCP clj-kondo npm version

Um servidor Model Context Protocol (MCP) que fornece capacidades de linting clj-kondo para arquivos Clojure/ClojureScript/EDN. Útil para Claude code e desktop onde não há capacidades de linting integradas. Você pode considerar editar seu CLAUDE.md pedindo para fazer lint após edições.

Recursos

  • Lint de arquivos Clojure via chamadas de ferramentas MCP
  • Suporta todas as capacidades de análise do clj-kondo
  • Suporte opcional a diretório de configuração explícito

Instalação

Instalação Rápida

npx clj-kondo-mcp

ou configuração de IDE

{
  "mcpServers": {
    "clj-kondo": {
      "command": "npx",
      "args": ["clj-kondo-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Instalação Manual

  1. Instale o clj-kondo: Certifique-se de ter o clj-kondo instalado e disponível no PATH do seu sistema. Veja as instruções de instalação para sua plataforma.

  2. Instale as dependências:

npm install
  1. Compile o servidor:
npm run build

Uso

Executando o Servidor

node build/index.js

Chamadas de Ferramentas MCP

O servidor fornece uma ferramenta:

lint_clojure - Lint de conteúdo Clojure/ClojureScript/EDN

Parâmetros:

{
  "file": "/absolute/path/to/file.clj", // Must be absolute path - can be a file, directory, or classpath
  "configDir": "/absolute/path/to/config/dir", // Optional, must be absolute path if provided
  "level": "warning" // Optional, defaults to error level
}

O parâmetro file aceita:

  • Um caminho de arquivo único (ex.: "/path/to/src/my_file.clj")
  • Um caminho de diretório (ex.: "/path/to/src") - fará lint de todos os arquivos .clj, .cljs e .cljc recursivamente
  • Uma string de classpath - fará lint de todos os arquivos Clojure no classpath
    • Para projetos Leiningen: Use a saída de lein classpath
    • Para projetos deps.edn: Use a saída de clojure -Spath

Nota: Tanto os parâmetros file quanto configDir devem ser caminhos absolutos, pois o servidor MCP executa como um processo separado. Caminhos relativos não funcionarão corretamente.

Por padrão, o clj-kondo procurará automaticamente por configuração no diretório .clj-kondo nos diretórios atual e pais. Você pode substituir isso especificando o parâmetro configDir para apontar para um diretório de configuração específico.

Para mais informações sobre a configuração do clj-kondo, veja a documentação oficial.

Configuração

Adicione ao seu arquivo de configurações MCP (para Cline, localizado em ~/Library/Application Support/Code - Insiders/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "clj-kondo": {
      "command": "npx",
      "args": ["clj-kondo-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Para compilações manuais, use:

{
  "mcpServers": {
    "clj-kondo": {
      "command": "node",
      "args": ["build/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Compilação

npm run build

Modo de Observação

npm run dev