mcpField
B
Bazel MCP Server

Bazel MCP Server

本地服务
github.com/nacgarg开发工具986 周前更新

关于 Bazel MCP Server

Bazel MCP 服务将 Bazel 构建系统功能提供给 MCP Agent,适用于缺少可用命令行工具或 Shell 环境配置异常的场景。可构建目标、查询依赖并运行测试。

主要功能

  1. 01构建指定 Bazel 目标
  2. 02查询目标依赖图
  3. 03运行目标测试
  4. 04列出工作区目标
  5. 05获取依赖并切换工作区路径

适用场景

  1. 01通过 Agent 触发 Bazel 构建
  2. 02检查目标依赖关系
  3. 03运行 Bazel 测试
  4. 04在运行时切换工作区

MCP 相关

该本地 MCP 服务向 MCP Agent 暴露 Bazel 构建、查询、测试、列举目标、获取依赖和设置工作区路径等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bazel": {
"command": "npx",
"args": [
"-y",
"github:nacgarg/bazel-mcp-server"
]
}
}
}
启动命令npx -y github:nacgarg/bazel-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmgithub:nacgarg/bazel-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Bazel MCP 服务

一个本地 MCP 服务,可向启用 MCP 的 AI Agent 提供 Bazel 构建系统的功能。

当 MCP 环境中没有现成的命令行工具,或者调用的 shell 环境配置错误,导致无法使用 Bazel 时,这个服务会很有帮助。

工具

Bazel MCP 服务提供以下工具:

  • bazel_build_target:构建指定的 Bazel 目标
  • bazel_query_target:查询与某个模式匹配的目标的依赖关系图
  • bazel_test_target:运行指定目标的测试
  • bazel_list_targets:列出工作区中所有可用目标(需要提供 path 参数;使用 "//" 可列出所有目标)
  • 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 二进制文件;如果遇到问题,可以使用 --bazel_path 标志提供 bazel 二进制文件的路径。

:warning: 请注意,使用 Cursor 进行 Remote SSH 会话时,此功能无法使用,因为 MCP 服务会在本地运行。

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

        // If you need to specify the bazel binary path
        "--bazel_path", 
        "/absolute/path/to/your/bazel/binary",

        // If you need to specify the workspace path
        "--workspace_path",
        "/absolute/path/to/your/bazel/workspace"

        // See Configuration Table below for more options
      ]
    }
  }
}
与 Claude Desktop 配合使用

可以在 Claude Desktop 中使用与上述相同的配置。

独立启动
# Run directly from GitHub (no installation needed)
npx -y github:nacgarg/bazel-mcp-server

# From source
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_pathMCP_BAZEL_PATHbazel_path要使用的 Bazel 二进制文件路径。
--workspace_pathMCP_WORKSPACE_PATHworkspace_path要使用的 Bazel 工作区路径。
--workspace_configMCP_WORKSPACE_CONFIGworkspace_config要使用的工作区配置。默认情况下,会使用工作区根目录中的 .bazelrc 文件。
--log_pathMCP_LOG_PATHlog_path写入服务日志的路径。

调试

设置 DEBUG=true 环境变量,即可启用向控制台输出的详细日志。

对于不会在控制台打印日志的客户端(说的就是你,Cursor),设置日志路径也有助于调试。

许可证

此项目采用 MIT License 许可。详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。