
MedAdapt Content Server
一个专门的模型上下文协议服务器,通过将 Claude Desktop 连接到 PubMed、NCBI Bookshelf 和用户文档,以搜索、检索和分析医学教育内容,从而增强 AI 辅助的医学学习。
README
MedAdapt 内容服务器
一个专为 Claude Desktop 设计的专业模型上下文协议 (MCP) 服务器,通过从 PubMed、NCBI Bookshelf 和用户提供的文档中获取和处理教育资源,增强 AI 辅助的医学学习。
概述
MedAdapt 内容服务器与 Claude Desktop 集成,提供搜索、检索和分析医学教育内容的工具。它充当 Claude 和医学知识来源之间的桥梁,从而增强 AI 辅助的学习体验。
快速开始
# 克隆仓库
git clone https://github.com/ryoureddy/medadapt-content-server.git
cd medadapt-content-server
# 安装依赖
pip install -r requirements.txt
# 运行服务器
python content_server.py
功能
- 内容搜索: 跨多个来源搜索医学教育内容
- 资源检索: 获取完整的文章、书籍章节和用户文档
- 主题概述: 生成医学主题的全面概述
- 学习资源: 根据主题和学生水平推荐合适的学习资源
- 学习计划: 创建具有目标和资源的结构化学习计划
- 内容分析: 从医学资源中提取关键点、方法和发现
- 用户内容: 导入和分析用户提供的文档
安装
标准安装
- 克隆仓库:
git clone https://github.com/ryoureddy/medadapt-content-server.git
cd medadapt-content-server
- 创建虚拟环境(可选但推荐):
python -m venv .venv
source .venv/bin/activate # 在 Windows 上,使用: .venv\Scripts\activate
- 安装依赖:
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
文件
使用
运行服务器
python content_server.py
与 Claude Desktop 集成
- 打开 Claude Desktop
- 转到 Settings → Model Context Protocol → Add Server
- 在您的
claude_desktop_config.json
文件中使用以下 JSON 进行配置,该文件位于:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
{
"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:\Python311\python.exe
)。
将 /path/to/medadapt-content-server/
替换为您克隆的仓库的绝对路径。
重要提示:
DB_PATH
环境变量确保数据库文件使用绝对路径创建和访问,从而防止常见的文件访问错误。
填充初始主题映射
python populate_topics.py
测试
运行测试以验证一切正常:
python test_server.py
使用示例
场景 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
- 解决方案: 确保
DB_PATH
环境变量在您的 Claude Desktop 配置中设置正确,指向应用程序具有写入权限的绝对路径。
- 症状:
-
文件路径错误
- 症状:
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 集成功能
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。