返回 MCP 目录
public公开dns本地运行

bazel-mcp-server

Bazel MCP服务器是一个本地服务,为支持MCP协议的AI代理提供Bazel构建系统的功能访问。它解决了MCP环境中缺少命令行工具或环境配置错误导致Bazel无法使用的问题,提供构建、查询、测试等核心功能,并支持动态设置工作区路径。

article

README

🚀 Bazel MCP 服务器

Bazel MCP 服务器是一个本地 MCP 服务器,它为 MCP 启用的 AI 代理提供 Bazel 构建系统的功能。当 MCP 环境中没有现有的命令行工具,或者 shell 环境配置错误导致无法使用 Bazel 时,该服务器就会发挥重要作用。

✨ 主要特性

Bazel MCP 服务器提供了以下工具:

  • bazel_build_target:构建指定的 Bazel 目标。
  • bazel_query_target:查询与模式匹配的目标的依赖图。
  • bazel_test_target:运行指定目标的测试。
  • bazel_list_targets:列出工作区中所有可用的目标(需要路径参数,使用 "//" 表示所有目标)。
  • bazel_fetch_dependencies:拉取外部依赖项。
  • bazel_set_workspace_path:在运行时更改 Bazel 工作区路径。

除了 bazel_set_workspace_path 之外,每个命令都支持一个可选的 additionalArgs 参数,允许传递额外的参数到底层的 Bazel 命令。这对于指定标志如 --verbose_failures--test_output=all 非常有用。

📦 安装指南

与 Cursor 一起使用

将以下内容添加到 .cursor/mcp.json 中: 您不需要提供工作区路径,因为 LLM 可以使用 set_workspace_path 在运行时更改工作区路径。 如果遇到问题,可以使用 --bazel_path 标志指定 Bazel 二进制文件的路径。

⚠️ 重要提示

此方法在使用 Cursor 的远程 SSH 会话时无法正常工作,因为 MCP 服务器在本地运行。

{
  "mcpServers": {
    "bazel": {
      "command": "npx",
      "args": [
        "-y",
        "github:nacgarg/bazel-mcp-server",

        // 如果需要指定 Bazel 二进制文件的路径
        "--bazel_path", 
        "/absolute/path/to/your/bazel/binary",

        // 如果需要指定工作区路径
        "--workspace_path",
        "/absolute/path/to/your/bazel/workspace"

        // 参考配置表获取更多选项
      ]
    }
  }
}

与 Claude Desktop 一起使用

可以使用相同的配置与 Claude Desktop 一起使用。

独立运行

# 直接从 GitHub 运行(无需安装)
npx -y github:nacgarg/bazel-mcp-server

# 从源代码运行
git clone https://github.com/nacgarg/bazel-mcp-server.git
cd bazel-mcp-server
npm install
npm run build
dist/index.js

📚 详细文档

配置

此 MCP 服务器支持多种配置方法,按以下顺序使用:

  1. 命令行参数
  2. 环境变量
  3. 配置文件

配置表

| CLI 参数 | 环境变量 | 配置文件键 | 描述 | |----------|----------|------------|------| | --bazel_path | MCP_BAZEL_PATH | bazel_path | 要使用的 Bazel 二进制文件的路径。 | | --workspace_path | MCP_WORKSPACE_PATH | workspace_path | 要使用的 Bazel 工作区的路径。 | | --workspace_config | MCP_WORKSPACE_CONFIG | workspace_config | 要使用的工作区配置。默认情况下,这会使用工作区根目录中的 .bazelrc 文件。 | | --log_path | MCP_LOG_PATH | log_path | 要写入服务器日志的路径。 |

调试

设置 DEBUG=true 环境变量以启用详细日志。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端