Bazel MCP
Um servidor MCP local que expõe as capacidades do sistema de build Bazel para assistentes de IA.
Documentação
Bazel MCP
Um servidor Model Context Protocol que expõe capacidades do sistema de build Bazel a assistentes de IA.
Repositório: github.com/saeid-rez/bazel-mcp
Ferramentas
| Ferramenta | Descrição |
|---|---|
bazel_query | Executar expressões bazel query arbitrárias |
bazel_cquery | Executar expressões bazel cquery configuradas (select() e plataformas) |
bazel_aquery | Executar expressões de bazel aquery de ação (flags do compilador, comandos) |
list_targets | Listar alvos em um pacote ou subárvore |
get_deps | Dependências diretas ou transitivas de um alvo |
get_rdeps | Dependências reversas dentro de um escopo |
show_target_info | Definição de regra via query --output=build |
find_affected_targets | Encontrar alvos afetados por arquivos alterados |
bazel_build | Executar bazel build com diagnósticos estruturados de falha |
bazel_test | Executar bazel test com resultados estruturados de alvos e casos com falha |
bazel_run | Executar bazel run com argumentos, variáveis de ambiente e controles de diretório de trabalho |
explain_build_file | Ler o conteúdo de arquivos BUILD para análise |
Uso
Requer uv. Configure o servidor com um caminho de workspace Bazel se o seu cliente MCP não o iniciar a partir desse workspace.
Antigravity (agy)
Adicione o seguinte ao ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/saeid-rez/bazel-mcp",
"bazel-mcp-server"
]
}
}
}
Os comandos Bazel são executados no seu workspace ativo por padrão. Se o Antigravity não iniciar o servidor a partir do seu workspace Bazel, passe --workspace-root explicitamente:
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/saeid-rez/bazel-mcp",
"bazel-mcp-server",
"--workspace-root",
"/path/to/your/bazel/workspace"
]
}
}
}
OpenCode
Adicione o seguinte ao opencode.json ou opencode.jsonc. Substitua /path/to/your/bazel/workspace pelo caminho absoluto do seu workspace Bazel.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"bazel": {
"type": "local",
"command": [
"uvx",
"--from",
"git+https://github.com/saeid-rez/bazel-mcp",
"bazel-mcp-server",
"--workspace-root",
"/path/to/your/bazel/workspace"
],
"enabled": true
}
}
}
GitHub Copilot CLI
Adicione o seguinte ao ~/.copilot/mcp-servers.json. Substitua /path/to/your/bazel/workspace pelo caminho absoluto do seu workspace Bazel.
{
"mcp": {
"servers": {
"bazel": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/saeid-rez/bazel-mcp",
"bazel-mcp-server",
"--workspace-root",
"/path/to/your/bazel/workspace"
],
"protocol": "stdio"
}
}
}
}
Alternativamente, execute /mcp add bazel dentro do Copilot CLI e forneça o mesmo comando e argumentos.
Instalar com uv
Para instalar o servidor de forma persistente em vez de executá-lo a partir do GitHub, execute:
uv tool install bazel-mcp-server
Em seguida, use a seguinte configuração de servidor instalado no lugar do comando baseado no GitHub acima. Inclua --workspace-root e seu caminho quando o cliente não iniciar o servidor a partir do workspace Bazel.
Antigravity (agy):
{
"mcpServers": {
"bazel": {
"command": "bazel-mcp-server",
"args": ["--workspace-root", "/path/to/your/bazel/workspace"]
}
}
}
OpenCode:
{
"mcp": {
"bazel": {
"type": "local",
"command": ["bazel-mcp-server", "--workspace-root", "/path/to/your/bazel/workspace"],
"enabled": true
}
}
}
GitHub Copilot CLI:
{
"mcp": {
"servers": {
"bazel": {
"command": "bazel-mcp-server",
"args": ["--workspace-root", "/path/to/your/bazel/workspace"],
"protocol": "stdio"
}
}
}
}
Cursor
Adicione isso ao .cursor/mcp.json no workspace Bazel.
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": ["--from", "git+https://github.com/saeid-rez/bazel-mcp", "bazel-mcp-server"]
}
}
}
Os comandos Bazel são executados no seu workspace aberto por padrão.
Se o Cursor não iniciar o servidor a partir do workspace Bazel, passe o workspace explicitamente:
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": [
"bazel-mcp-server",
"--workspace-root",
"/path/to/your/bazel/workspace"
]
}
}
}
Outras flags opcionais:
bazel-mcp-server --bazel-path bazelisk --timeout 600 --max-output-chars 64000
Desenvolvimento
Clone o repositório e execute os testes localmente:
git clone https://github.com/saeid-rez/bazel-mcp
cd bazel-mcp
uv sync --group dev
uv run pytest