一个本地的 MCP 服务器,它将 Bazel 构建系统功能暴露给启用 MCP 的 AI 代理。
当 MCP 环境中没有现有的命令行工具,或者调用的 shell 环境配置错误导致无法使用 Bazel 时,这将非常有用。
Bazel MCP 服务器提供以下工具:
每个命令(除了 bazel_set_workspace_path)都支持一个可选的 additionalArgs 参数,允许传递额外的参数到底层的 Bazel 命令。这对于指定如 --verbose_failures 或 --test_output=all 这样的标志非常有用。
在 .cursor/mcp.json 中添加以下内容。
无需提供工作区路径,因为 LLM 可以使用 set_workspace_path 在运行时更改工作区路径。
通常会自动选择 Bazel 二进制文件,但如果遇到问题,可以使用 --bazel_path 标志提供 Bazel 二进制文件的路径。
:warning: 注意,当使用 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。
# 直接从 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 | MCP_BAZEL_PATH | bazel_path | 要使用的 Bazel 二进制文件的路径。 |
--workspace_path | MCP_WORKSPACE_PATH | workspace_path | 要使用的 Bazel 工作区的路径。 |
--workspace_config | M_ _WORKSPACE_CONFIG | workspace_config | 要使用的工作区配置。默认情况下,这使用工作区根目录下的 .bazelrc 文件。 |
--log_path | MCP_LOG_PATH | log_path | 写入服务器日志的路径。 |
设置环境变量 DEBUG=true 以启用详细的控制台日志记录。
设置日志路径对于调试那些不将日志打印到控制台的客户端(比如 Cursor)也很有帮助。
本项目根据 MIT 许可证发布。详情请参见 LICENSE 文件。