MCP Server
cnb-rs 内置 MCP(Model Context Protocol)Server,让 AI 助手能直接管理 CNB 平台资源。
安装
bash
# npm(推荐,所有 MCP Client 通用)
npm install -g @cnb-rs/mcp
# pip / uv / pipx(Python >= 3.8)
uvx cnb-rs-mcp # 使用 uv,零安装即用
pipx install cnb-rs-mcp
pip install cnb-rs-mcp
# 或从 Release 下载 cnb-rs-mcp 二进制
# https://cnb.cool/wwvo/cnb-rs/cnb-rs/-/releases配置 MCP Client
所有主流 MCP Client 使用统一的 JSON 配置格式:
json
{
"mcpServers": {
"cnb": {
"command": "npx",
"args": ["-y", "@cnb-rs/mcp"],
"env": {
"CNB_TOKEN": "<YOUR_TOKEN>"
}
}
}
}各客户端配置文件位置
| 客户端 | 配置文件路径 |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)%APPDATA%\Claude\claude_desktop_config.json(Windows) |
| Claude Code | ~/.claude/settings.json 或项目根 .claude/settings.json |
| Cursor | Settings → MCP → 添加 |
| Windsurf | Settings → MCP Servers |
| VS Code Copilot | .vscode/settings.json 的 github.copilot.chat.mcpServers |
使用已安装的二进制
如果已通过 Release 下载安装了 cnb-rs-mcp:
json
{
"mcpServers": {
"cnb": {
"command": "cnb-rs-mcp",
"env": {
"CNB_TOKEN": "<YOUR_TOKEN>"
}
}
}
}认证
Token 获取优先级:
CNB_TOKEN环境变量(MCP Client 通过env配置传入,推荐)~/.cnb/config.toml中已登录的账号(通过cnb-rs auth login登录)- 系统 keyring
获取 Token:在 cnb.cool 个人设置 → 访问令牌 → 创建。
支持的 Tools(40 个)
Issue 管理(12 个)
| Tool | 描述 |
|---|---|
cnb_list_issues | 列出仓库的 Issues |
cnb_get_issue | 获取指定 Issue 详情 |
cnb_create_issue | 创建 Issue |
cnb_update_issue | 更新 Issue |
cnb_list_issue_comments | 获取评论列表 |
cnb_create_issue_comment | 创建评论 |
cnb_update_issue_comment | 更新评论 |
cnb_list_issue_labels | 获取标签列表 |
cnb_add_issue_labels | 添加标签 |
cnb_set_issue_labels | 设置标签(替换) |
cnb_clear_issue_labels | 清空标签 |
cnb_remove_issue_label | 删除单个标签 |
PR 管理(7 个)
| Tool | 描述 |
|---|---|
cnb_list_pulls | 列出合并请求 |
cnb_get_pull | 获取 PR 详情 |
cnb_create_pull | 创建 PR |
cnb_update_pull | 更新 PR |
cnb_merge_pull | 合并 PR |
cnb_list_pull_comments | 获取 PR 评论 |
cnb_create_pull_comment | 创建 PR 评论 |
仓库管理(5 个)
| Tool | 描述 |
|---|---|
cnb_list_repositories | 列出用户仓库 |
cnb_list_group_repositories | 列出组织仓库 |
cnb_get_current_repository | 从 git remote URL 获取当前仓库信息 |
cnb_get_repository | 获取仓库详情 |
cnb_create_repository | 创建仓库 |
组织管理(4 个)
| Tool | 描述 |
|---|---|
cnb_list_groups | 列出顶层组织 |
cnb_list_sub_groups | 列出子组织 |
cnb_get_group | 获取组织详情 |
cnb_create_group | 创建组织 |
构建管理(7 个)
| Tool | 描述 |
|---|---|
cnb_get_build_logs | 查询构建列表 |
cnb_get_build_stage | 查询构建 Stage 详情 |
cnb_get_build_status | 查询构建状态 |
cnb_start_build | 启动构建 |
cnb_stop_build | 停止构建 |
cnb_build_logs_delete | 删除构建日志 |
cnb_build_runner_download_log | 下载 Runner 日志 |
工作区管理(3 个)
| Tool | 描述 |
|---|---|
cnb_list_workspaces | 列出云原生开发环境 |
cnb_delete_workspace | 删除开发环境 |
cnb_start_workspace | 启动开发环境 |
知识库(2 个)
| Tool | 描述 |
|---|---|
cnb_get_knowledge_base_info | 获取知识库信息 |
cnb_query_knowledge_base | 语义查询知识库 |
与官方 MCP Server 的对比
| 维度 | 官方 @cnbcool/mcp-server | cnb-rs MCP |
|---|---|---|
| 语言 | TypeScript (Node.js) | Rust(原生二进制) |
| 启动速度 | ~500ms(npx 冷启动) | ~10ms |
| 运行时依赖 | Node.js 18+ | 无(通过 npm 分发时需要 Node 执行 wrapper) |
| 内存占用 | ~50MB(V8) | ~5MB |
| Tool 数量 | 37 | 40 |
| 维护状态 | 已停止维护 | 社区活跃维护 |
故障排查
验证 MCP Server 启动
bash
echo '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' | cnb-rs-mcp应返回包含 cnb-rs-mcp 的 JSON 响应。
常见问题
- "认证失败":检查
CNB_TOKEN是否正确设置 - "资源不存在":检查仓库路径格式(应为
group/repo或group/subgroup/repo) - npx 超时:首次运行需下载 ~3MB binary,后续运行会使用缓存