医学术语查询服务

一个医学术语MCP服务器,提供缩写、病症、药物和临床定义的即时查询服务,运行于Docker容器中并可连接任何MCP兼容客户端。

  • by hypersniper05
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 hypersniper05/MCP-MedLookup

使用说明

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/profile

2.构建和运行

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助手以有效使用这些工具的示例系统提示:

  • 详细的 --完整提示,包括分步研究工作流程、多步示例和搜索规则。最适合具有思维能力的大型模型。
  • 简单 --简洁明了的提示涵盖了所有3个工具和核心规则。最适合更小或更快的型号。

技术栈

  • Python 3.12 使用FastMCP、httpx、Pydantic
  • SQLite 用于本地缩写和自定义术语存储
  • 码头工人 具有卷持久化数据库

许可证

麻省理工学院