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 服务器支持多种配置方法,按以下顺序使用:
- 命令行参数
- 环境变量
- 配置文件
配置表
| 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 环境变量以启用详细日志。
Scan to join WeChat group