MedLookup
一个医学术语MCP服务器,提供缩写、病症、药物和临床定义的即时查找。在Docker中运行,并连接到任何兼容MCP的客户端。
它的作用
lookup_keyword --一次在所有来源中搜索一个或多个医学关键字:
- 4600+医学缩略语(ABG、CBC、COPD等)
- NLM状态数据库和ICD-10诊断代码
- MedlinePlus健康主题总结
- 通过RxNorm(配方、分类)和OpenFDA(适应症、剂量、警告、相互作用、作用机制)获取药物信息
- UMLS医学概念和定义(可选,需要免费的API密钥)
add_new_keyword --将缺少的缩写或术语定义保存到本地数据库以供将来查找。
remove_keyword --从本地数据库中删除自定义添加的条目。仅删除通过添加的条目 add_new_keyword --种子数据库中的内置缩写受到保护。
快速开始
1.克隆和配置
git clone https://github.com/hypersniper05/MCP-MedLookup.git
cd MCP-MedLookup
cp .env.example .env编辑 .env 添加您的UMLS API密钥(可选-没有它,其他一切都可以工作):
UMLS_API_KEY=your_key_here # Free at https://uts.nlm.nih.gov/uts/profile2.构建和运行
docker compose up --build -d服务器启动于 http://localhost:8010/mcp.
3.连接您的MCP客户端
将此添加到您的MCP客户端配置中(Claude Desktop、Claude Code等):
{
"mcpServers": {
"med_lookup": {
"type": "streamable-http",
"url": "http://localhost:8010/mcp"
}
}
}用法示例
连接后,您的AI助手可以直接使用这些工具:
“ABG代表什么?” → 查询lookup_keyword随着["ABG"]--返回“动脉血气”
“查阅二甲双胍与糖尿病” → 查询lookup_keyword随着["metformin", "diabetes"]--返回药物信息(配方、FDA标签、药物类别)和病情信息(ICD-10代码、临床定义)
“添加ROSC作为缩写,表示自发循环的恢复” → Calls add_new_keyword 在本地保存“删除我添加的ROSC缩写” → Calls remove_keyword 删除它(仅适用于自定义添加的条目)数据源
| 来源 | 它提供了什么 | API密钥 |
|---|---|---|
| 医学缩略语 | 4600多个缩写在构建时播种到SQLite中 | 无 |
| NLM临床表 | 条件,ICD-10代码 | 无 |
| MedlinePlus | 消费者友好型健康主题摘要 | 无 |
| RxNorm | 药物配方、分类 | 无 |
| OpenFDA | 完整的处方信息(适应症、剂量、警告、相互作用) | 无 |
| UMLS | 跨医学词汇的概念定义 | 自由键 |
建筑
server.py # All MCP tools and server logic (single file)
scripts/seed_db.py # CSV-to-SQLite import (runs during Docker build)
Dockerfile
docker-compose.yml
requirements.txt
.env.example服务器是一个单独的Python文件,使用 FastMCP 使用流式HTTP传输。缩写数据从GitHub克隆,并在Docker构建期间播种到SQLite中。外部API在运行时以优雅的降级方式进行查询——如果任何源失败,仍然会返回其他源的结果。
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
UMLS_API_KEY | 否 | -- | 启用UMLS概念查找(获得免费钥匙) |
MCP_HOST | 没有 | 0.0.0.0 | 服务器绑定地址 |
MCP_PORT | 没有 | 8010 | 服务器端口 |
DATABASE_PATH | 没有 | /app/data/medical.db | SQLite数据库路径 |
Docker命令
docker compose up --build -d # Build and start
docker compose logs -f # View logs
docker compose down # Stop
docker compose up --build -d # Rebuild after code changes验证服务器
# Check the endpoint
curl http://localhost:8010/mcp
# Interactive testing with MCP Inspector
npx @modelcontextprotocol/inspector
# Connect to: http://localhost:8010/mcp系统提示示例
配置AI助手以有效使用这些工具的示例系统提示:
技术栈
- Python 3.12 使用FastMCP、httpx、Pydantic
- SQLite 用于本地缩写和自定义术语存储
- 码头工人 具有卷持久化数据库
许可证
麻省理工学院
