ryoureddy
服务介绍
MedAdapt 内容服务器
一个专为 Claude 桌面版设计的模型上下文协议(MCP)服务器,通过从 PubMed、NCBI 书架和用户提供的文档中获取和处理教育资源来增强AI辅助医学学习。
概述
MedAdapt 内容服务器与 Claude 桌面版集成,提供搜索、检索和分析医学教育内容的工具。它作为 Claude 和医学知识来源之间的桥梁,允许实现增强的AI辅助学习体验。
快速开始
bash
克隆仓库
git clone https://github.com/ryoureddy/medadapt-content-server.git
cd medadapt-content-server
安装依赖
pip install -r requirements.txt
运行服务器
python content_server.py
功能
- 内容搜索:跨多个来源搜索医学教育资源
- 资源检索:获取完整的文章、书籍章节和用户文档
- 主题概览:生成医学主题的全面概述
- 学习资源推荐:根据主题和学生水平建议适当的学习资源
- 学习计划:创建具有目标和资源的结构化学习计划
- 内容分析:从医学资源中提取关键点、方法论和发现
- 用户内容:导入并分析用户提供的文档
安装
标准安装
-
克隆仓库:
bash
git clone https://github.com/ryoureddy/medadapt-content-server.git
cd medadapt-content-server -
创建虚拟环境(可选但推荐):
bash
python -m venv .venv
source .venv/bin/activate # 在 Windows 上使用: .venvScriptsactivate -
安装依赖:
bash
pip install -r requirements.txt -
配置(可选):
- 获取 NCBI API 密钥以提高速率限制:https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/
- 根据
.env.example创建一个.env文件
使用
运行服务器
bash
python content_server.py
与 Claude 桌面版集成
- 打开 Claude 桌面版
- 转到设置 → 模型上下文协议 → 添加服务器
- 在您的
claude_desktop_config.json文件中配置以下 JSON:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%Claudeclaude_desktop_config.json
- macOS:
json
{
"mcpServers": {
"medadapt": {
"command": "/path/to/python",
"args": [
"/path/to/medadapt-content-server/content_server.py"
],
"env": {
"DB_PATH": "/path/to/medadapt-content-server/medadapt_content.db"
}
}
}
}
将 /path/to/python 替换为您的实际 Python 路径(例如,/opt/anaconda3/bin/python 或 C:Python311python.exe)。
将 /path/to/medadapt-content-server/ 替换为您克隆仓库的绝对路径。
重要提示:
DB_PATH环境变量确保数据库文件使用绝对路径创建和访问,防止常见的文件访问错误。
填充初始主题映射
bash
python populate_topics.py
测试
运行测试以验证一切正常:
bash
python test_server.py
使用 Claude 的示例
场景 1:学习医学主题
用户向 Claude 提示:
我想了解心脏周期。你能给我一个总体概述,并帮助我理解关键概念吗?
场景 2:查找特定资源
用户向 Claude 提示:
我需要找到关于 COVID-19 治疗方案的最新研究文章。你能帮我找到相关资源吗?
场景 3:创建学习计划
用户向 Claude 提示:
我是一名二年级的医学生,正在学习神经学。你能为我创建一个关于中风病理生理学的学习计划吗?
可用工具
服务器为 Claude 提供以下工具:- search_medical_content: 通过筛选条件搜索医学内容
get_resource_content: 获取特定资源的完整内容get_topic_overview: 生成医学主题的全面概述suggest_learning_resources: 获取个性化的学习资源推荐import_user_document: 上传用户提供的学习材料generate_learning_plan: 创建带有目标的结构化学习计划extract_article_key_points: 从医学文章中提取关键发现
故障排除
常见问题及解决方案
-
数据库连接错误
- 症状:
sqlite3.OperationalError: unable to open database file - 解决方案: 确保在您的Claude Desktop配置中正确设置了
DB_PATH环境变量,指向应用程序具有写权限的绝对路径。
- 症状:
-
文件路径错误
- 症状:
No such file or directory错误 - 解决方案: 确保Claude Desktop配置中的所有路径都是没有额外引号或转义字符的绝对路径。
- 症状:
-
API速率限制
- 症状: 从PubMed或NCBI Bookshelf获取响应缓慢或失败
- 解决方案: 获取一个NCBI API密钥并将其添加到您的
.env文件中
-
Claude Desktop连接
- 症状: Claude无法连接到MCP服务器
- 解决方案: 确认服务器正在终端窗口中运行,并且在Claude Desktop中正确配置
项目结构
medadapt-content-server/
│
├── content_server.py # 主MCP服务器实现
├── database.py # SQLite数据库接口
├── pubmed_utils.py # PubMed API工具
├── bookshelf_utils.py # NCBI Bookshelf工具
├── populate_topics.py # 脚本用于填充初始主题数据
├── test_server.py # 测试脚本
├── requirements.txt # Python依赖
├── .env.example # 示例环境变量
└── README.md # 文档
许可证
此项目根据MIT许可证发布 - 详情请参阅LICENSE文件。
致谢
- NCBI提供对PubMed和Bookshelf API的访问
- Anthropic为Claude和MCP集成能力的支持