基于 CNB 知识库 API 的 MCP (Model Context Protocol) 服务器。
项目提供了 CNB MCP 服务器自动配置脚本 setup-cnb-mcp.sh,提供完整的 CNB 平台集成功能。
# 远程执行(推荐)
curl -fsSL https://cnb.cool/xbotter/cnb-knowledge/-/git/raw/main/setup-cnb-mcp.sh | bash
# 或本地执行
./setup-cnb-mcp.sh
脚本会自动配置 CNB MCP 服务器,支持 Issues、Pull Requests、仓库管理等功能。使用前需设置环境变量:
export CNB_TOKEN=your-cnb-token
项目提供了自动配置脚本 setup-cnb-kb-mcp.sh,可以快速完成知识库 MCP 服务器的安装和配置。
无需克隆仓库,直接运行远程脚本。注意:管道执行需要提供 Repo Slug 参数
# 直接指定 Repo Slug(推荐)
curl -fsSL https://cnb.cool/xbotter/cnb-knowledge/-/git/raw/main/setup-cnb-kb-mcp.sh | bash -s cnb/feedback
# 或先下载脚本,再交互式执行
curl -fsSL -o setup-cnb-kb-mcp.sh https://cnb.cool/xbotter/cnb-knowledge/-/git/raw/main/setup-cnb-kb-mcp.sh && bash setup-cnb-kb-mcp.sh
如果已克隆仓库,可以运行本地脚本:
# 交互式配置
./setup-cnb-kb-mcp.sh
# 或直接指定 Repo Slug
./setup-cnb-kb-mcp.sh cnb/feedback
脚本会:
.mcp.json 配置文件cnb-knowledge-mcpREPO_SLUG 配置配置完成后,需要设置环境变量:
export CNB_TOKEN=your-cnb-token
本项目已配置 CNB npm 源,可以直接安装:
npm install
或从 CNB npm 仓库安装:
npm install --registry=https://npm.cnb.cool/xbotter/open/-/packages/
在使用前需要设置以下环境变量:
| 环境变量 | 说明 | 示例 | 必填 |
|---|---|---|---|
CNB_TOKEN | CNB 访问令牌 (需要 repo-code:r 权限) | your-token-here | 是 |
REPO_SLUG | 仓库 slug | cnb/feedback | 是 |
CNB_API_BASE | CNB API 地址 | https://api.cnb.cool | 否 |
编辑 Claude Desktop 配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cnb-knowledge": {
"command": "node",
"args": ["/path/to/index.js"],
"env": {
"CNB_TOKEN": "your-cnb-token",
"REPO_SLUG": "your-repo-slug"
}
}
}
}
如果已发布到 CNB npm,可以使用 npx 运行:
{
"mcpServers": {
"cnb-knowledge": {
"command": "npx",
"args": ["--registry=https://npm.cnb.cool/xbotter/open/-/packages/", "-y", "cnb-knowledge-mcp"],
"env": {
"CNB_TOKEN": "your-cnb-token",
"REPO_SLUG": "your-repo-slug"
}
}
}
}
查询知识库,根据问题检索相关文档片段。
参数:
query (string, 必填): 要查询的关键词或问题top_k (number, 可选): 返回结果的最大数量,默认 5score_threshold (number, 可选): 匹配相关性分数阈值 (0-1),默认 0返回: 匹配的知识内容,包含相关度分数、文档片段和元数据。
获取当前知识库的配置信息。
返回:
repo_slug: 仓库 slugapi_base: API 地址token_configured: token 是否已配置query_url: 完整的查询 URLCNB_TOKEN="your-token" REPO_SLUG="cnb/docs" node index.js
import { queryKnowledgeBase } from './index.js';
const results = await queryKnowledgeBase(
"如何配置知识库?",
3,
0.5
);
console.log(results);
推送 tag 到 CNB 仓库会自动触发发布流程:
git tag 1.0.0 git push origin 1.0.0
流水线会:
https://npm.cnb.cool/xbotter/open/-/packages/要在代码仓库中启用知识库功能,需要在 .cnb.yml 中配置知识库插件:
main:
push:
- stages:
- name: build knowledge base
image: cnbcool/knowledge-base
settings:
include: "**/*.md"
更多信息请参考 CNB 知识库文档。