Bazel MCP
เซิร์ฟเวอร์ MCP ในเครื่องที่เปิดเผยความสามารถของระบบบิลด์ Bazel ให้กับผู้ช่วย AI
เอกสาร
Bazel MCP
A Model Context Protocol server that exposes Bazel build system capabilities to AI assistants.
Repo: github.com/saeid-rez/bazel-mcp
Tools
| Tool | Description |
|---|---|
bazel_query | Run arbitrary bazel query expressions |
bazel_cquery | Run configured bazel cquery expressions (select() and platforms) |
bazel_aquery | Run action bazel aquery expressions (compiler flags, commands) |
list_targets | List targets in a package or subtree |
get_deps | Direct or transitive dependencies of a target |
get_rdeps | Reverse dependencies within a scope |
show_target_info | Rule definition via query --output=build |
find_affected_targets | Find targets affected by changed files |
bazel_build | Run bazel build with structured failure diagnostics |
bazel_test | Run bazel test with structured target and failed-case results |
bazel_run | Run bazel run with arguments, environment variables, and working directory controls |
explain_build_file | Read BUILD file contents for analysis |
Usage
Requires uv. Configure the server with a Bazel workspace path if your MCP client does not start it from that workspace.
Antigravity (agy)
Add the following to ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/saeid-rez/bazel-mcp",
"bazel-mcp-server"
]
}
}
}
Bazel commands run in your active workspace by default. If Antigravity does not start the server from your Bazel workspace, pass --workspace-root explicitly:
{
"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
Add the following to opencode.json or opencode.jsonc. Replace /path/to/your/bazel/workspace with the absolute path to your Bazel workspace.
{
"$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
Add the following to ~/.copilot/mcp-servers.json. Replace /path/to/your/bazel/workspace with the absolute path to your Bazel workspace.
{
"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"
}
}
}
}
Alternatively, run /mcp add bazel inside Copilot CLI and provide the same command and arguments.
Install With uv
To install the server persistently instead of running it from GitHub, run:
uv tool install bazel-mcp-server
Then use the following installed-server configuration in place of the GitHub-based command above. Include --workspace-root and its path when the client does not start the server from the Bazel workspace.
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
Add this to .cursor/mcp.json in the Bazel workspace.
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": ["--from", "git+https://github.com/saeid-rez/bazel-mcp", "bazel-mcp-server"]
}
}
}
Bazel commands run in your open workspace by default.
If Cursor does not start the server from the Bazel workspace, pass the workspace explicitly:
{
"mcpServers": {
"bazel": {
"command": "uvx",
"args": [
"bazel-mcp-server",
"--workspace-root",
"/path/to/your/bazel/workspace"
]
}
}
}
Other optional flags:
bazel-mcp-server --bazel-path bazelisk --timeout 600 --max-output-chars 64000
Development
Clone the repo and run tests locally:
git clone https://github.com/saeid-rez/bazel-mcp
cd bazel-mcp
uv sync --group dev
uv run pytest