Bazel MCP Server
Expõe o sistema de build Bazel para agentes de IA, permitindo que eles construam, consultem, testem e gerenciem dependências.
Documentação
Servidor MCP do Bazel
Um servidor MCP local que expõe funcionalidades do sistema de build Bazel para agentes de IA habilitados para MCP.
Isso é útil quando ambientes MCP não possuem uma ferramenta de linha de comando existente, ou quando o shell invocado tem um ambiente mal configurado que impede o uso do Bazel.
Ferramentas
O Servidor MCP do Bazel fornece as seguintes ferramentas:
- bazel_build_target: Compila alvos Bazel especificados
- bazel_query_target: Consulta o grafo de dependências para alvos que correspondem a um padrão
- bazel_test_target: Executa testes para alvos especificados
- bazel_list_targets: Lista todos os alvos disponíveis no workspace (requer parâmetro de caminho, use "//" para todos os alvos)
- bazel_fetch_dependencies: Busca dependências externas
- bazel_set_workspace_path: Altera o caminho do workspace do Bazel em tempo de execução
Cada comando (exceto bazel_set_workspace_path) suporta um parâmetro opcional additionalArgs que permite passar argumentos adicionais ao comando Bazel subjacente. Isso é útil para especificar flags como --verbose_failures ou --test_output=all.
Uso
Instalação
Usando com Cursor
Adicione o seguinte ao .cursor/mcp.json.
Você não precisa fornecer o caminho do workspace, pois o LLM pode usar set_workspace_path para alterar o caminho do workspace em tempo de execução.
O binário do bazel geralmente é detectado automaticamente, mas se você encontrar problemas, pode fornecer o caminho para o binário do bazel usando a flag --bazel_path.
:warning: Observe que isso não funcionará ao usar Cursor com sessões SSH remotas, pois ele executa o servidor MCP localmente.
{
"mcpServers": {
"bazel": {
"command": "npx",
"args": [
"-y",
"github:nacgarg/bazel-mcp-server",
// If you need to specify the bazel binary path
"--bazel_path",
"/absolute/path/to/your/bazel/binary",
// If you need to specify the workspace path
"--workspace_path",
"/absolute/path/to/your/bazel/workspace"
// See Configuration Table below for more options
]
}
}
}
Usando com Claude Desktop
Você pode usar a mesma configuração acima com o Claude Desktop.
Iniciando de forma autônoma
# Run directly from GitHub (no installation needed)
npx -y github:nacgarg/bazel-mcp-server
# From source
git clone https://github.com/nacgarg/bazel-mcp-server.git
cd bazel-mcp-server
npm install
npm run build
dist/index.js
Configuração
Este servidor MCP permite alguns métodos diferentes de configuração. Eles serão usados na seguinte ordem:
- Argumentos de linha de comando
- Variáveis de ambiente
- Arquivo de configuração
Tabela de Configuração
| Argumento de CLI | Variável de Ambiente | Chave do Arquivo de Configuração | Descrição |
|---|---|---|---|
--bazel_path | MCP_BAZEL_PATH | bazel_path | O caminho para o binário do Bazel a ser usado. |
--workspace_path | MCP_WORKSPACE_PATH | workspace_path | O caminho para o workspace do Bazel a ser usado. |
--workspace_config | MCP_WORKSPACE_CONFIG | workspace_config | A configuração do workspace a ser usada. Por padrão, usa o arquivo .bazelrc na raiz do workspace. |
--log_path | MCP_LOG_PATH | log_path | O caminho para gravar os logs do servidor. |
Depuração
Defina a variável de ambiente DEBUG=true para habilitar o registro detalhado no console.
Definir o caminho do log também é útil para depuração com clientes que não imprimem logs no console (olhando para você, Cursor).
Licença
Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.