README
🚀 Get 笔记 MCP 服务器
这是一个用于集成 Get 笔记 API 的 Model Context Protocol (MCP) 服务器,提供了从 Get 笔记知识库中搜索和召回知识的工具,能有效助力知识管理与应用。
🚀 快速开始
本服务器可帮助你从 Get 笔记知识库中搜索和召回知识。以下是快速上手的步骤:
- 克隆仓库
- 安装依赖:
npm install - 从示例创建
.env文件:cp .env.example .env - 在
.env中配置您的 API 密钥:GET_API_KEY=T0TR1HWqw+tL00gVc5PPoXDnGIUIuPw7QCBeb1dMC6afCojR9WpHyuZicEFJjkMg3oZYS0HB/S3vqOj7+0e5FGoVtYuv938zkR8= GET_NOTE_TOPIC_ID=RYk1kmRJ
✨ 主要特性
- 知识库搜索:经过 AI 处理的搜索,返回综合的答案和引用。
- 知识库召回:相关笔记和文件的原始召回。
- 速率限制:内置保护,限制 QPS < 2 和总请求数 < 5000。
- 重试机制:针对瞬时网络错误 (5xx) 的自动重试。
📦 安装指南
- 克隆仓库:获取项目代码。
- 安装依赖:
npm install - 创建配置文件:
cp .env.example .env - 配置 API 密钥:在
.env文件中设置 API 密钥。GET_API_KEY=T0TR1HWqw+tL00gVc5PPoXDnGIUIuPw7QCBeb1dMC6afCojR9WpHyuZicEFJjkMg3oZYS0HB/S3vqOj7+0e5FGoVtYuv938zkR8= GET_NOTE_TOPIC_ID=RYk1kmRJ
💻 使用示例
基础用法
使用 npx 运行
可以直接使用 npx 运行服务器,无需安装:
npx get_notebook_mcp_server
本地运行
node index.js
使用 MCP Inspector 测试
使用 MCP Inspector 交互式测试 MCP 服务器:
npx @modelcontextprotocol/inspector node index.js
高级用法
MCP 配置 (Claude Desktop)
方式 1:单个知识库(简单配置)
在 claude_desktop_config.json 中添加以下配置:
{
"mcpServers": {
"get-notes": {
"command": "npx",
"args": ["-y", "get_notebook_mcp_server"],
"env": {
"GET_API_KEY": "T0TR1HWqw+tL00gVc5PPoXDnGIUIuPw7QCBeb1dMC6afCojR9WpHyuZicEFJjkMg3oZYS0HB/S3vqOj7+0e5FGoVtYuv938zkR8=",
"GET_NOTE_TOPIC_ID": "RYk1kmRJ"
}
}
}
}
方式 2:多知识库(分组配置,推荐) 对于多个共享相同 API 密钥的知识库,使用分组配置,系统会自动展开为独立的知识库:
{
"mcpServers": {
"get-notes-multi": {
"command": "npx",
"args": ["-y", "get_notebook_mcp_server"],
"env": {
"GET_KNOWLEDGE_BASES": "[{\"id\":\"medical_group\",\"name\":\"医学知识库组\",\"config\":{\"api_key\":\"T0TR1HWqw+tL00gVc5PPoXDnGIUIuPw7QCBeb1dMC6afCojR9WpHyuZicEFJjkMg3oZYS0HB/S3vqOj7+0e5FGoVtYuv938zkR8=\",\"topics\":[{\"id\":\"kb_pancreatic_trials\",\"name\":\"肿瘤临床试验知识库\",\"topic_id\":\"RYk1kmRJ\"},{\"id\":\"kb_patient_experience\",\"name\":\"小胰宝病友经验信息\",\"topic_id\":\"mnyV9OjY\"}]}}]"
}
}
}
}
此配置会自动展开为 kb_pancreatic_trials 和 kb_patient_experience 两个独立的知识库。
方式 3:使用本地配置文件(推荐用于开发)
在项目根目录创建 knowledge_bases.json 文件:
[
{
"id": "demo_group",
"name": "sam的知识库",
"description": "使用同一个 API Key 的知识库",
"config": {
"api_key": "T0TR1HWqw+tL00gVc5PPoXDnGIUIuPw7QCBeb1dMC6afCojR9WpHyuZicEFJjkMg3oZYS0HB/S3vqOj7+0e5FGoVtYuv938zkR8=",
"api_endpoint": "https://open-api.biji.com/getnote/openapi",
"topics": [
{
"id": "kb_pancreatic_trials",
"name": "肿瘤临床试验知识库",
"description": "有关肿瘤临床试验的知识库",
"topic_id": "RYk1kmRJ"
},
{
"id": "kb_patient_experience",
"name": "小胰宝病友经验信息",
"description": "小胰宝病友经验信息,包括各种指南和治疗经验",
"topic_id": "mnyV9OjY"
}
]
}
}
]
然后在 Claude Desktop 配置中使用本地文件:
{
"mcpServers": {
"get-notes": {
"command": "npx",
"args": ["-y", "get_notebook_mcp_server"]
}
}
}
Claude 如何使用多知识库
Claude 会自动选择合适的知识库,无需手动选择,工作流程如下:
- 用户提问:例如 "胰腺癌术后多久开始化疗?"
- Claude 自动调用
list_knowledge_bases:查看所有可用的知识库 - Claude 智能选择:根据问题内容,自动选择最相关的知识库(如
kb_pancreatic_trials) - Claude 调用
search_knowledge:传入选定的kb_id和问题 - 返回结果:Claude 综合搜索结果给出答案
用户也可以明确指定:
- "在肿瘤临床试验知识库中搜索:胰腺癌化疗方案"
- "在小胰宝病友经验中查找:化疗副作用处理方法" 这样 Claude 就会明确使用指定的知识库。
📚 详细文档
工具说明
list_knowledge_bases
列出所有可用的知识库及其 ID、名称和描述。 参数:无 返回:知识库信息数组(不包含敏感的 API 密钥)
search_knowledge
使用 AI 处理搜索知识库。 参数:
kb_id(string, 可选):知识库 ID。如果未提供,使用第一个配置的知识库。question(string, 必需):要提问的问题。deep_seek(boolean):启用深度思考模式(默认值:false)。history(array):用于上下文的聊天历史。
recall_knowledge
从知识库原始召回,不进行 AI 综合。 参数:
kb_id(string, 可选):知识库 ID。如果未提供,使用第一个配置的知识库。question(string, 必需):问题或查询。top_k(number):返回结果数量(默认值:10)。intent_rewrite(boolean):启用意图重写(默认值:false)。
开发
运行测试
npm test
项目结构
src/api:API 客户端实现src/utils:工具类(速率限制器等)tests:单元和集成测试index.js:MCP 服务器主入口点
📄 许可证
ISC
❤️ 致谢
本项目由小x宝社区贡献,这是一个专注于改善癌症/罕见病患者及其家庭整个生命周期医疗信息获取的 AI 开源公益社区。
关于小x宝社区
我们是一个 AI 开源公益社区,致力于使用 AI 技术构建高质量、高密度的患者知识生态系统,以改善医疗信息壁垒。社区汇聚了开源贡献者、AI 技术专家、癌症患者、家庭成员、医疗专业人员和公益志愿者等多元化群体,共同努力改善患者面临的信息获取挑战。
社区网站:https://info.xiao-x-bao.com.cn
我们的使命:使用 AI 技术打破医疗信息壁垒,为患者构建全面的知识生态系统。
社区名称由来:我们所有的 AI 助手都以"小x宝"命名,如"小胰宝"、"小粉宝"等,因此社区命名为"小x宝社区"。
社区发展:2024 年,项目捐赠给"天工开物基金会",该基金会提供资金和指导以促进公益倡议。
进展更新:通过微信公众号"小胰宝助手"发布。
社区联系方式
详细社区介绍: 查看介绍
联系我们:
- 微信号: qinxiaoqiang2002
- 微信号: hhxdeweixinxin
- 微信号: zhuangbiaowei
我们欢迎所有贡献者、开发人员、医疗专业人员和志愿者加入我们的社区,使用技术改善医疗信息可及性!🌟
Scan to join WeChat group