Bazel MCP Server

Bazel MCP Server

site icon
2025.03.24 0
JavaScriptBazel 构建系统MCP 服务器开发效率
Bazel MCP Server 是一个本地 MCP 服务器,它将 Bazel 构建系统的功能暴露给支持 MCP 的 AI 代理。这在 MCP 环境没有现有的命令行工具,或者调用的 shell 环境配置错误导致无法使用 Bazel 时特别有用。
View on GitHub

Overview

基本能力

产品定位

Bazel MCP Server 是一个本地 MCP 服务器,它将 Bazel 构建系统的功能暴露给支持 MCP 的 AI 代理。

核心功能

  • bazel_build_target: 构建指定的 Bazel 目标
  • bazel_query_target: 查询依赖图中匹配模式的目标
  • bazel_test_target: 运行指定目标的测试
  • bazel_list_targets: 列出工作区中的所有可用目标(需要路径参数,使用 "//" 表示所有目标)
  • bazel_fetch_dependencies: 获取外部依赖
  • bazel_set_workspace_path: 在运行时更改 Bazel 工作区路径

适用场景

  • 当 MCP 环境没有现有的命令行工具时
  • 当调用的 shell 环境配置错误导致无法使用 Bazel 时

工具列表

  • bazel_build_target: 构建指定的 Bazel 目标
  • bazel_query_target: 查询依赖图中匹配模式的目标
  • bazel_test_target: 运行指定目标的测试
  • bazel_list_targets: 列出工作区中的所有可用目标
  • bazel_fetch_dependencies: 获取外部依赖
  • bazel_set_workspace_path: 在运行时更改 Bazel 工作区路径

常见问题解答

  • 问题: 如何在远程 SSH 会话中使用? 解答: 不支持在 Cursor 的远程 SSH 会话中使用,因为它运行的是本地 MCP 服务器。
  • 问题: 如何调试? 解答: 设置 DEBUG=true 环境变量以启用详细日志记录到控制台。设置日志路径也有助于调试不将日志打印到控制台的客户端。

使用教程

使用依赖

  • 需要安装 Node.js 和 npm
  • 需要安装 Bazel

安装教程

使用 Cursor

将以下内容添加到 .cursor/mcp.json 中:

{
  "mcpServers": {
    "bazel": {
      "command": "npx",
      "args": [
        "-y",
        "github:nacgarg/bazel-mcp-server",
        "--bazel_path", 
        "/absolute/path/to/your/bazel/binary",
        "--workspace_path",
        "/absolute/path/to/your/bazel/workspace"
      ]
    }
  }
}

独立运行

# 直接从 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

调试方式

  • 设置 DEBUG=true 环境变量以启用详细日志记录到控制台
  • 设置日志路径有助于调试不将日志打印到控制台的客户端

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。