Bazel MCP 服务器是一个本地 MCP 服务器,它能将 Bazel 构建系统的功能暴露给支持 MCP 的 AI 代理。在 MCP 环境中缺少现有的命令行工具,或者 shell 环境配置错误导致无法使用 Bazel 的情况下,该服务器就会发挥巨大作用。
Bazel MCP 服务器为你提供了便捷的方式,将 Bazel 构建系统的功能集成到支持 MCP 的 AI 代理中。下面为你详细介绍使用方法。
Bazel MCP 服务器提供了丰富的工具,满足你在 Bazel 构建过程中的各种需求:
除了 bazel_set_workspace_path 之外,每个命令都支持一个可选的 additionalArgs 参数,允许向底层 Bazel 命令传递额外参数。这对于指定标志如 --verbose_failures 或 --test_output=all 非常有用。
将以下内容添加到 .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"
// 有关更多选项,请参见下文的配置表
]
}
}
}
你可以使用与 Cursor 相同的配置。
# 直接从 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 服务器支持以下配置方法,按优先级顺序使用:
| 属性 | 详情 |
|---|---|
| CLI 参数 | --bazel_path:要使用的 Bazel 二进制文件的路径;--workspace_path:要使用的工作区的路径;--workspace_config:工作区的配置,默认情况下,此配置会使用工作区根目录中的 .bazelrc 文件;--log_path:写入服务器日志的路径。 |
| 环境变量 | MCP_BAZEL_PATH、MCP_WORKSPACE_PATH、MCP_WORKSPACE_CONFIG、MCP_LOG_PATH |
| 配置文件键 | bazel_path、workspace_path、workspace_config、log_path |
设置 DEBUG=true 环境变量以启用控制台的详细日志记录。设置日志路径对于调试也非常有用,特别是当客户端没有将日志打印到控制台时(例如 Cursor)。
此项目根据 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。