Bazel MCP Server
Expone el sistema de compilación Bazel a agentes de IA, permitiéndoles construir, consultar, probar y gestionar dependencias.
Documentación
Servidor MCP de Bazel
Un servidor MCP local que expone funcionalidad del sistema de compilación Bazel a agentes de IA habilitados para MCP.
Esto es útil cuando los entornos MCP no tienen una herramienta de línea de comandos existente, o cuando el shell invocado tiene un entorno mal configurado que impide el uso de Bazel.
Herramientas
El Servidor MCP de Bazel proporciona las siguientes herramientas:
- bazel_build_target: Compila objetivos de Bazel especificados
- bazel_query_target: Consulta el grafo de dependencias para objetivos que coincidan con un patrón
- bazel_test_target: Ejecuta pruebas para objetivos especificados
- bazel_list_targets: Lista todos los objetivos disponibles en el espacio de trabajo (requiere el parámetro de ruta, usa "//" para todos los objetivos)
- bazel_fetch_dependencies: Obtiene dependencias externas
- bazel_set_workspace_path: Cambia la ruta del espacio de trabajo de Bazel en tiempo de ejecución
Cada comando (excepto bazel_set_workspace_path) admite un parámetro opcional additionalArgs que permite pasar argumentos adicionales al comando de Bazel subyacente. Esto es útil para especificar banderas como --verbose_failures o --test_output=all.
Uso
Instalación
Uso con Cursor
Agrega lo siguiente a .cursor/mcp.json.
No necesitas proporcionar la ruta del espacio de trabajo, ya que el LLM puede usar set_workspace_path para cambiar la ruta del espacio de trabajo en tiempo de ejecución.
El binario de bazel generalmente se detecta automáticamente, pero si encuentras problemas, puedes proporcionar la ruta al binario de bazel usando la bandera --bazel_path.
:warning: Ten en cuenta que esto no funcionará al usar Cursor con sesiones SSH remotas, ya que ejecuta el 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
]
}
}
}
Uso con Claude Desktop
Puedes usar la misma configuración anterior con Claude Desktop.
Inicio independiente
# 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
Configuración
Este servidor MCP permite un par de métodos de configuración diferentes. Se usarán en el siguiente orden:
- Argumentos de línea de comandos
- Variables de entorno
- Archivo de configuración
Tabla de Configuración
| Argumento CLI | Variable de Entorno | Clave del Archivo de Configuración | Descripción |
|---|---|---|---|
--bazel_path | MCP_BAZEL_PATH | bazel_path | La ruta al binario de Bazel a usar. |
--workspace_path | MCP_WORKSPACE_PATH | workspace_path | La ruta al espacio de trabajo de Bazel a usar. |
--workspace_config | MCP_WORKSPACE_CONFIG | workspace_config | La configuración del espacio de trabajo a usar. Por defecto, usa el archivo .bazelrc en la raíz del espacio de trabajo. |
--log_path | MCP_LOG_PATH | log_path | La ruta para escribir los registros del servidor. |
Depuración
Establece la variable de entorno DEBUG=true para habilitar el registro detallado en la consola.
Configurar la ruta de registro también es útil para depurar con clientes que no imprimen registros en la consola (mirándote a ti, Cursor).
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.