Bazel MCP Server
Exposes the Bazel build system to AI agents, enabling them to build, query, test, and manage dependencies.
Bazel MCP Server
A local MCP server that exposes functionality of the Bazel build system to MCP-enabled AI agents.
This is helpful when MCP environments either don't have an existing command-line tool, or where the invoked shell has a misconfigured environment that prevents Bazel from being used.
Tools
The Bazel MCP Server provides the following tools:
- bazel_build_target: Build specified Bazel targets
- bazel_query_target: Query the dependency graph for targets matching a pattern
- bazel_test_target: Run tests for specified targets
- bazel_list_targets: List all available targets in the workspace (requires path parameter, use "//" for all targets)
- bazel_fetch_dependencies: Fetch external dependencies
- bazel_set_workspace_path: Change the Bazel workspace path at runtime
Each command (except bazel_set_workspace_path) supports an optional additionalArgs parameter that allows passing additional arguments to the underlying Bazel command. This is useful for specifying flags like --verbose_failures or --test_output=all.
Usage
Installation
Using with Cursor
Add the following to .cursor/mcp.json.
You don't need to provide the workspace path, as the LLM can use set_workspace_path to change the workspace path at runtime.
The bazel binary usually gets picked up automatically, but if you run into issues, you can provide the path to the bazel binary using the --bazel_path flag.
:warning: Note that this will not work when using Cursor with Remote SSH sessions, since it runs the MCP server locally.
{
"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
]
}
}
}
Using with Claude Desktop
You can use the same configuration as above with Claude Desktop.
Launching standalone
# 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
Configuration
This MCP server allows a couple different configuration methods. They will be used in the following order:
- Command line arguments
- Environment variables
- Configuration file
Configuration Table
| CLI Argument | Environment Variable | Configuration File Key | Description |
|---|---|---|---|
--bazel_path | MCP_BAZEL_PATH | bazel_path | The path to the Bazel binary to use. |
--workspace_path | MCP_WORKSPACE_PATH | workspace_path | The path to the Bazel workspace to use. |
--workspace_config | MCP_WORKSPACE_CONFIG | workspace_config | The configuration of the workspace to use. By default, this uses the .bazelrc file in the workspace root. |
--log_path | MCP_LOG_PATH | log_path | The path to write server logs to. |
Debugging
Set the DEBUG=true environment variable to enable verbose logging to the console.
Setting the log path is also helpful for debugging with clients that don't print logs to the console (looking at you, Cursor).
License
This project is licensed under the MIT License. See the LICENSE file for details.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
PGYER
MCP Server for PGYER platform, supports uploading, querying apps, etc.
evm-mcp
An MCP server that provides complete access to Ethereum Virtual Machine (EVM) JSON-RPC methods. Works with any EVM-compatible node provider including Infura, Alchemy, QuickNode, local nodes, and more.
Binalyze AIR MCP Server
Interact with Binalyze AIR's digital forensics and incident response capabilities using natural language.
MCP RAG Server
A Python server providing Retrieval-Augmented Generation (RAG) functionality. It indexes various document formats and requires a PostgreSQL database with pgvector.
MCP Performance Analysis Server
A server for detecting critical performance issues in code, providing concise analysis and output.
Cloudflare Remote MCP Server
An example of deploying a customizable, remote MCP server on Cloudflare Workers without authentication.
MCP Github OAuth
An MCP server with built-in GitHub OAuth support, deployable on Cloudflare Workers.
MCP Bridge API
A lightweight, LLM-agnostic RESTful proxy that unifies multiple MCP servers under a single API.
MCP HTTP Requests
A comprehensive HTTP client for API testing, web automation, and security testing with detailed logging.
Remote MCP Server on Cloudflare (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication, featuring customizable tools.