logo
0
0
WeChat Login

CNB Knowledge Base MCP Server

基于 CNB 知识库 API 的 MCP (Model Context Protocol) 服务器。

功能

  • 查询 CNB 知识库,检索相关文档片段
  • 获取知识库配置信息
  • 支持自定义返回数量和相关度阈值

快速配置

CNB MCP 服务器

项目提供了 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

CNB 知识库 MCP 服务器

项目提供了自动配置脚本 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 npm 源安装 cnb-knowledge-mcp
  • 设置 REPO_SLUG 配置

配置完成后,需要设置环境变量:

export CNB_TOKEN=your-cnb-token

安装

从 CNB npm 源安装

本项目已配置 CNB npm 源,可以直接安装:

npm install

或从 CNB npm 仓库安装:

npm install --registry=https://npm.cnb.cool/xbotter/open/-/packages/

配置

在使用前需要设置以下环境变量:

环境变量说明示例必填
CNB_TOKENCNB 访问令牌 (需要 repo-code:r 权限)your-token-here
REPO_SLUG仓库 slugcnb/feedback
CNB_API_BASECNB API 地址https://api.cnb.cool

在 Claude Desktop 中配置

编辑 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 中的包

如果已发布到 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_knowledge_base

查询知识库,根据问题检索相关文档片段。

参数:

  • query (string, 必填): 要查询的关键词或问题
  • top_k (number, 可选): 返回结果的最大数量,默认 5
  • score_threshold (number, 可选): 匹配相关性分数阈值 (0-1),默认 0

返回: 匹配的知识内容,包含相关度分数、文档片段和元数据。

get_knowledge_base_info

获取当前知识库的配置信息。

返回:

  • repo_slug: 仓库 slug
  • api_base: API 地址
  • token_configured: token 是否已配置
  • query_url: 完整的查询 URL

使用示例

作为独立脚本运行

CNB_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);

发布到 CNB npm

推送 tag 到 CNB 仓库会自动触发发布流程:

git tag 1.0.0 git push origin 1.0.0

流水线会:

  1. 更新 package.json 版本号
  2. 自动发布到 CNB npm: https://npm.cnb.cool/xbotter/open/-/packages/

知识库配置

要在代码仓库中启用知识库功能,需要在 .cnb.yml 中配置知识库插件:

main: push: - stages: - name: build knowledge base image: cnbcool/knowledge-base settings: include: "**/*.md"

更多信息请参考 CNB 知识库文档

About

No description, topics, or website provided.
376.00 KiB
4.72 KiB
0 forks0 stars1 branches2 TagREADME
Language
JavaScript50.7%
Shell49.3%