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

nacgarg_bazel-mcp-server

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

article

README

🚀 Bazel MCP 服务器

Bazel MCP 服务器是一个本地 MCP 服务器,它能将 Bazel 构建系统的功能暴露给支持 MCP 的 AI 代理。在 MCP 环境中缺少现有的命令行工具,或者 shell 环境配置错误导致无法使用 Bazel 的情况下,该服务器就会发挥巨大作用。

🚀 快速开始

Bazel MCP 服务器为你提供了便捷的方式,将 Bazel 构建系统的功能集成到支持 MCP 的 AI 代理中。下面为你详细介绍使用方法。

✨ 主要特性

Bazel MCP 服务器提供了丰富的工具,满足你在 Bazel 构建过程中的各种需求:

  • 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

你可以使用与 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 服务器支持以下配置方法,按优先级顺序使用:

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

配置表

| 属性 | 详情 | |------|------| | CLI 参数 | --bazel_path:要使用的 Bazel 二进制文件的路径;--workspace_path:要使用的工作区的路径;--workspace_config:工作区的配置,默认情况下,此配置会使用工作区根目录中的 .bazelrc 文件;--log_path:写入服务器日志的路径。 | | 环境变量 | MCP_BAZEL_PATHMCP_WORKSPACE_PATHMCP_WORKSPACE_CONFIGMCP_LOG_PATH | | 配置文件键 | bazel_pathworkspace_pathworkspace_configlog_path |

调试

设置 DEBUG=true 环境变量以启用控制台的详细日志记录。设置日志路径对于调试也非常有用,特别是当客户端没有将日志打印到控制台时(例如 Cursor)。

📄 许可证

此项目根据 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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