Bazel MCP

A local MCP server that exposes Bazel build system capabilities to AI assistants.

Documentation

Bazel MCP

A Model Context Protocol server that exposes Bazel build system capabilities to AI assistants.

Repo: github.com/saeid-rez/bazel-mcp

Tools

ToolDescription
bazel_queryRun arbitrary bazel query expressions
list_targetsList targets in a package or subtree
get_depsDirect or transitive dependencies of a target
get_rdepsReverse dependencies within a scope
show_target_infoRule definition via query --output=build
find_affected_targetsFind targets affected by changed files
bazel_buildRun bazel build with structured failure diagnostics
bazel_testRun bazel test with structured target and failed-case results
explain_build_fileRead BUILD file contents for analysis

Usage

Requires uv. Run against a Bazel workspace. Open that repo in Cursor, then add to .cursor/mcp.json.

Option 1: Run via PyPI (Recommended)

{
  "mcpServers": {
    "bazel": {
      "command": "uvx",
      "args": ["bazel-mcp-server"]
    }
  }
}

Option 2: Run directly from GitHub

{
  "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 your MCP client does not start the server from the Bazel workspace, pass the workspace explicitly:

{
  "mcpServers": {
    "bazel": {
      "command": "uvx",
      "args": [
        "bazel-mcp",
        "--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