Bazel MCP Server 使用说明
项目简介
Bazel MCP Server 是一个基于 Model Context Protocol (MCP) 构建的本地服务器,它将 Google 的 Bazel 构建系统的功能桥接到支持 MCP 协议的 LLM 客户端。通过 Bazel MCP Server,LLM 客户端可以利用 Bazel 的强大功能,例如构建项目、查询依赖关系、运行测试等,从而实现更智能的开发辅助和自动化任务。
主要功能点
- 集成 Bazel 构建工具链: 提供了常用的 Bazel 命令的 MCP 工具接口,包括:
- 'bazel_build_target': 构建指定的 Bazel 目标。
- 'bazel_query_target': 查询 Bazel 依赖图。
- 'bazel_test_target': 运行 Bazel 测试。
- 'bazel_list_targets': 列出 Bazel 工作区中的目标。
- 'bazel_fetch_dependencies': 获取外部依赖。
- 'bazel_set_workspace_path': 动态设置 Bazel 工作区路径。
- 灵活配置: 支持通过命令行参数、环境变量和配置文件配置 Bazel 二进制文件路径和工作区路径。
- 安全性: 对用户提供的参数进行安全校验,防止命令注入。
- 详细日志: 提供详细的服务器日志,方便问题排查和调试。
安装步骤
Bazel MCP Server 可以直接通过 'npx' 运行,无需额外安装步骤。您也可以选择从源代码构建运行。
方法一:使用 'npx' 运行 (推荐)
确保您的环境中已安装 Node.js 和 npm。在终端中执行以下命令即可启动服务器:
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 客户端连接到 Bazel MCP Server,您需要在客户端的 MCP 配置文件中添加服务器配置信息。以下是一个 '.cursor/mcp.json' 的配置示例:
{ "mcpServers": { "bazel": { "command": "npx", "args": [ "-y", "github:nacgarg/bazel-mcp-server", // (可选) 指定 Bazel 二进制文件路径,如果 bazel 不在 PATH 中 // "--bazel_path", // "/absolute/path/to/your/bazel/binary", // (可选) 指定 Bazel 工作区路径,默认为当前目录 // "--workspace_path", // "/absolute/path/to/your/bazel/workspace" ] } } }
配置参数说明:
- 'server name': 'bazel' (服务器名称,客户端用于引用)
- 'command': 'npx' (启动命令,使用 npx 运行 GitHub 仓库)
- 'args': 启动参数列表:
- '-y github:nacgarg/bazel-mcp-server': 指定要运行的 GitHub 仓库地址。
- '--bazel_path': (可选) Bazel 二进制文件的绝对路径。仅当 'bazel' 命令不在系统 PATH 环境变量中时需要配置。
- '--workspace_path': (可选) Bazel 工作区的绝对路径。默认为 MCP 服务器启动时的当前工作目录。如果您的 Bazel 工作区不在默认位置,请指定此项。
基本使用方法
- 启动 Bazel MCP Server (根据安装步骤选择一种方式启动)。
- 在您的 MCP 客户端 (如 Cursor 或 Claude Desktop) 中配置 Bazel MCP Server (参考服务器配置)。
- 在 MCP 客户端中,即可通过配置的 'server name' (例如 'bazel') 调用 Bazel MCP Server 提供的工具,例如,指示 LLM 使用 'bazel_build_target' 工具构建指定的 Bazel 目标。
- 具体工具的使用和参数,请参考仓库的 README.md 文件或工具的 'inputSchema' 定义。
信息
分类
开发者工具