返回市场
医疗-MCP

医疗-MCP

作者:JamesANZ38 星标更新:2025-11-03

项目介绍

医疗MCP服务器

这是一个通过查询多个权威医疗API(包括FDA、WHO、PubMed和RxNorm)提供全面医疗信息的Model Context Protocol (MCP)服务器。

<a href="https://glama.ai/mcp/servers/@JamesANZ/medical-mcp"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=3237060013,3025285917&fm=3081&app=3081&f=PNG?w=760&h=400" alt="medical-mcp MCP服务器" /> </a>

信任评分

功能

此MCP服务器提供了五个专门工具,用于从可靠来源查询医疗信息:

💊 药物信息工具

search-drugs

使用FDA数据库搜索药物信息。

输入:

  • query (字符串):要搜索的药物名称(品牌名或通用名)
  • limit (可选,数字):返回的结果数量(1-50,默认值:10)

输出:

  • 药物信息,包括品牌名、通用名、制造商、给药途径、剂型和用途

示例:

药物搜索结果:"Advil"

找到1个药物

1. **ADVIL**
   通用名:IBUPROFEN
   制造商:PFIZER CONSUMER HEALTHCARE
   给药途径:ORAL
   剂型:TABLET
   用途:暂时缓解轻微疼痛...
   最后更新日期:20210902

get-drug-details

通过NDC(国家药物代码)获取特定药物的详细信息。

输入:

  • ndc (字符串):药物的国家药物代码(NDC)

输出:

  • 包括警告、药物相互作用和临床药理学在内的综合药物信息

📊 健康统计工具

get-health-statistics

从WHO全球健康观察站获取健康统计数据和指标。

输入:

  • indicator (字符串):要搜索的健康指标(例如,“预期寿命”,“死亡率”)
  • country (可选,字符串):国家代码(例如,“USA”,“GBR”)
  • limit (可选,数字):返回的结果数量(1-20,默认值:10)

输出:

  • 包含数值、范围和时间数据的健康统计数据

示例:

健康统计数据:出生时预期寿命(年)

国家:USA
找到10个数据点

1. **USA** (2019)
   数值:78.5年
   数值:78.5
   日期:2019-12-31

🔬 医学文献工具

search-medical-literature

在PubMed中搜索医学研究文章。

输入:

  • query (字符串):要搜索的医学主题或条件
  • max_results (可选,数字):返回的文章最大数量(1-20,默认值:10)

输出:

  • 包含标题、PMID、期刊和出版日期的医学研究文章

示例:

医学文献搜索:"糖尿病治疗"

找到10篇文章

1. **新型糖尿病管理方法**
   PMID:12345678
   期刊:新英格兰医学杂志
   出版日期:2024-01-15

search-google-scholar

使用Google Scholar搜索学术研究文章。

输入:

  • query (字符串):要搜索的学术主题或研究查询

输出:

  • 包含标题、作者、摘要、期刊、年份、引用次数和URL的学术研究文章

示例:

Google Scholar搜索:"机器学习医疗保健"

找到10篇文章

1. **机器学习在医疗保健中的系统综述**
   作者:Smith J, Johnson A - 医疗AI杂志
   年份:2023
   引用次数:被引用45次
   URL:https://scholar.google.com/...
   摘要:本系统综述探讨了机器学习的应用...

注意:此工具使用网络爬虫访问Google Scholar,因为Google Scholar没有提供公共API。它包括速率限制保护和反检测措施以避免被发现。

🏥 药物命名工具

search-drug-nomenclature

使用RxNorm(标准化药物命名法)搜索药物信息。

输入:

  • query (字符串):要在RxNorm数据库中搜索的药物名称

输出:

  • 包含RxCUI代码、同义词和术语类型的标准化药物信息

安装

  1. 克隆此仓库:
git clone <repository-url>
cd medical-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

使用

运行服务器

启动MCP服务器:

npm start

该服务器运行于标准I/O,并可以连接到任何兼容MCP的客户端。

示例查询

这里有一些你可以使用此MCP服务器进行的示例查询:

搜索药物信息

{
  "tool": "search-drugs",
  "arguments": {
    "query": "泰诺",
    "limit": 5
  }
}

通过NDC获取药物详情

{
  "tool": "get-drug-details",
  "arguments": {
    "ndc": "00071015527"
  }
}

获取健康统计数据

{
  "tool": "get-health-statistics",
  "arguments": {
    "indicator": "出生时预期寿命(年)",
    "country": "USA",
    "limit": 5
  }
}

搜索医学文献

{
  "tool": "search-medical-literature",
  "arguments": {
    "query": "COVID-19治疗",
    "max_results": 10
  }
}

搜索药物命名

{
  "tool": "search-drug-nomenclature",
  "arguments": {
    "query": "阿司匹林"
  }
}

API端点

此MCP服务器集成了以下医疗API:

FDA API

  • GET /drug/label.json - 药物标签信息
  • 通过品牌名、通用名或NDC搜索
  • 提供安全信息、警告和临床数据

WHO全球健康观察站API

  • GET /api/Indicator - 健康统计数据和指标
  • 全球健康数据,带有国家特定信息
  • 时间数据用于趋势分析

PubMed API

  • GET /esearch.fcgi - 搜索医学文章
  • GET /efetch.fcgi - 获取文章详情
  • 访问数百万篇医学研究论文

RxNorm API

  • GET /REST/drugs.json - 标准化药物命名法
  • 药物名称标准化和关系
  • 临床药物信息

Google Scholar(网络爬虫)

  • 网络爬虫Google Scholar搜索结果
  • 学术研究文章发现
  • 引用和出版信息
  • 注意:使用Puppeteer进行浏览器自动化并采取反检测措施

数据源

FDA(食品药品监督管理局)

  • 来源:官方FDA药物标签数据库
  • 覆盖范围:美国所有FDA批准的药物
  • 数据:药物安全性、有效性、剂量、警告和相互作用
  • 更新频率:实时更新,随着药物获批或标签更改

WHO(世界卫生组织)

  • 来源:全球健康观察站数据库
  • 覆盖范围:来自194个国家的全球健康统计数据
  • 数据:预期寿命、死亡率、疾病流行率和健康指标
  • 更新频率:年度更新,带有历史数据

PubMed(国家医学图书馆)

  • 来源:MEDLINE医学文献数据库
  • 覆盖范围:超过3000万篇来自医学期刊的引文
  • 数据:研究文章、临床研究和医学评论
  • 更新频率:每日更新,随着新文章发布

RxNorm(国家医学图书馆)

  • 来源:标准化药物命名法系统
  • 覆盖范围:美国可用的临床药物
  • 数据:药物名称、代码、关系和临床信息
  • 更新频率:每周更新

Google Scholar(网络爬虫)

  • 来源:Google Scholar学术搜索引擎
  • 覆盖范围:跨学科的学术论文、论文、书籍和摘要
  • 数据:研究文章、引用、作者、期刊和出版日期
  • 更新频率:实时更新,随着新论文被索引
  • 注意:通过网络爬虫访问,带有速率限制保护

错误处理

服务器包括全面的错误处理:

  • 捕获并报告网络错误,附带描述性消息
  • 无效查询返回适当的错误消息
  • 优雅地处理速率限制和API错误
  • 当特定API不可用时提供回退响应

网络爬虫实现

Google Scholar集成使用Puppeteer进行网络爬虫,具有以下特性:

反检测措施

  • 隐身模式:使用多个标志启动浏览器以避免被发现
  • 用户代理欺骗:使用真实的浏览器用户代理字符串
  • 随机延迟:请求之间内置随机延迟以避免速率限制
  • 头部欺骗:使用真实的HTTP头部以模拟常规浏览器
  • 视口设置:标准桌面视口尺寸

坚固的解析

  • 多种选择器:使用各种CSS选择器来处理不同的Google Scholar布局
  • 备用策略:针对不同页面结构的多种解析方法
  • 错误恢复:优雅地处理缺失元素或改变的页面结构
  • 数据验证:过滤掉不完整或无效的结果

速率限制保护

  • 随机延迟:请求之间的1-3秒随机延迟
  • 浏览器管理:适当清理浏览器以防止资源泄漏
  • 超时处理:网络请求的可配置超时
  • 错误恢复:失败请求的自动重试逻辑

🚀 使用

标准I/O模式(默认 - 最安全)

# 在标准I/O模式下构建和运行(仅限本地主机)
npm run build
npm start

# 或直接运行
node build/index.js

HTTP模式(仅限本地主机)

# 仅限本地主机的HTTP服务器(端口3000)
npm run start:http

# 自定义端口
npm run start:http:port
# 或
node build/index.js --http --port=8080

# 测试本地主机访问
curl http://localhost:3000/info

开发模式

# 构建和运行标准I/O
npm run dev

# 构建和运行HTTP
npm run dev:http

🤖 Claude Desktop集成

设置说明

1. 安装和构建服务器

# 克隆仓库
git clone https://github.com/JamesANZ/medical-mcp.git
cd medical-mcp

# 安装依赖项
npm install

# 构建服务器
npm run build

2. 配置Claude Desktop

创建或编辑你的Claude Desktop配置文件:

macOS~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "medical-mcp": {
      "command": "node",
      "args": ["/path/to/medical-mcp/build/index.js"],
      "cwd": "/path/to/medical-mcp"
    }
  }
}

替换实际安装目录的路径:

对于使用NVM(Node版本管理器)的用户:

{
  "mcpServers": {
    "medical-mcp": {
      "command": "/Users/yourusername/.nvm/versions/node/v22.17.0/bin/node",
      "args": [
        "/Users/yourusername/Documents/projects/medical-mcp/build/index.js"
      ]
    }
  }
}

对于使用系统Node.js的用户:

{
  "mcpServers": {
    "medical-mcp": {
      "command": "node",
      "args": ["/Users/yourusername/medical-mcp/build/index.js"],
      "cwd": "/Users/yourusername/medical-mcp"
    }
  }
}

查找你的Node.js路径:

# 如果使用NVM
which node
# 示例输出:/Users/yourusername/.nvm/versions/node/v22.17.0/bin/node

# 如果使用系统Node.js
which node
# 示例输出:/usr/local/bin/node

3. 重启Claude Desktop

  • 完全关闭Claude Desktop
  • 重新打开Claude Desktop
  • 医疗MCP服务器将自动启动

Claude中可用的医疗工具

一旦连接,你将拥有这些医疗工具:

🔍 搜索工具

  • search-drugs - 搜索FDA药物数据库
  • search-pubmed-articles - 搜索医学文献
  • search-google-scholar - 搜索学术研究
  • search-medical-databases - 综合多数据库搜索
  • search-medical-journals - 搜索顶级医学期刊

💊 药物信息工具

  • get-drug-by-ndc - 通过NDC代码获取药物详情
  • check-drug-interactions - 检查药物相互作用
  • get-drug-safety-info - 获取药物安全信息

🏥 临床工具

  • generate-differential-diagnosis - 生成鉴别诊断
  • get-diagnostic-criteria - 获取疾病的诊断标准
  • get-risk-calculators - 获取临床风险计算器
  • get-lab-values - 获取正常实验室值范围

📊 健康数据工具

  • get-health-indicators - 获取WHO健康统计数据
  • search-rxnorm-drugs - 搜索RxNorm药物数据库
  • search-clinical-guidelines - 搜索临床指南

示例Claude对话

药物信息查询

用户:"二甲双胍有哪些副作用?它是否与赖诺普利有相互作用?"

Claude将使用:
- search-drugs 查询二甲双胍信息
- check-drug-interactions 查询二甲双胍+赖诺普利的相互作用
- get-drug-safety-info 获取详细的药物安全数据

临床决策支持

用户:"一位45岁的患者出现胸痛、呼吸困难和出汗。我应该考虑什么?"

Claude将使用:
- generate-differential-diagnosis 生成可能的病症
- get-diagnostic-criteria 获取特定诊断标准
- search-medical-databases 查找最新的研究

研究和文献回顾

用户:"查找最近关于COVID-19治疗方案的研究"

Claude将使用:
- search-pubmed-articles 搜索医学文献
- search-medical-journals 搜索顶级研究
- search-google-scholar 查找额外的学术来源

🔒 安全特性在Claude中

  • 仅限本地主机:服务器仅在本地运行,无外部访问
  • 进程隔离:医疗数据保留在您的计算机上
  • 无数据存储:不存储任何医疗数据
  • 动态数据:所有信息实时检索
  • 审计日志:记录所有查询以确保透明度

故障排除

服务器无法启动

# 检查服务器是否正确构建
npm run build

# 直接测试服务器
node build/index.js

# 检查端口冲突
lsof -i :3000

Claude无法连接

  1. 验证配置文件路径是否正确
  2. 确保服务器可执行文件路径是绝对路径
  3. 检查Node.js是否在PATH中
  4. 配置更改后重启Claude Desktop

权限问题

# 确保可执行文件具有正确的权限
chmod 755 build/index.js

# 在macOS上,您可能需要在“安全性与隐私”中允许Node.js

网络问题

  • 服务器使用仅限本地主机绑定以保证安全
  • 服务器本身不需要外部网络访问
  • 医疗数据在需要时从外部API获取

最佳实践

对于医疗专业人员

  • 始终通过多个来源验证信息
  • 作为研究起点,而不是最终决定
  • 遵循既定的临床指南
  • 文档化您的决策过程

对于学生和研究人员

  • 用于文献回顾和研究
  • 交叉参考原始来源
  • 理解AI生成摘要的局限性
  • 总是引用原始来源

对于普通用户

  • 仅用于教育目的
  • 不要替代专业医疗建议
  • 就医疗决策咨询医疗保健提供者
  • 注意信息的局限性

高级配置

自定义端口(如有必要)

{
  "mcpServers": {
    "medical-mcp": {
      "command": "node",
      "args": ["/path/to/medical-mcp/build/index.js", "--http", "--port=3001"],
      "cwd": "/path/to/medical-mcp"
    }
  }
}

环境变量

# 设置自定义API超时
export MCP_TIMEOUT=30000

# 设置自定义用户代理
export MCP_USER_AGENT="Medical-Research-Tool/1.0"

🔒 安