这是一个通过查询多个权威医疗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)输出:
示例:
医学文献搜索:"糖尿病治疗"
找到10篇文章
1. **新型糖尿病管理方法**
PMID:12345678
期刊:新英格兰医学杂志
出版日期:2024-01-15
search-google-scholar使用Google Scholar搜索学术研究文章。
输入:
query (字符串):要搜索的学术主题或研究查询输出:
示例:
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数据库中搜索的药物名称输出:
git clone <repository-url>
cd medical-mcp
npm install
npm run build
启动MCP服务器:
npm start
该服务器运行于标准I/O,并可以连接到任何兼容MCP的客户端。
这里有一些你可以使用此MCP服务器进行的示例查询:
{
"tool": "search-drugs",
"arguments": {
"query": "泰诺",
"limit": 5
}
}
{
"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": "阿司匹林"
}
}
此MCP服务器集成了以下医疗API:
GET /drug/label.json - 药物标签信息GET /api/Indicator - 健康统计数据和指标GET /esearch.fcgi - 搜索医学文章GET /efetch.fcgi - 获取文章详情GET /REST/drugs.json - 标准化药物命名法服务器包括全面的错误处理:
Google Scholar集成使用Puppeteer进行网络爬虫,具有以下特性:
# 在标准I/O模式下构建和运行(仅限本地主机)
npm run build
npm start
# 或直接运行
node build/index.js
# 仅限本地主机的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
# 克隆仓库
git clone https://github.com/JamesANZ/medical-mcp.git
cd medical-mcp
# 安装依赖项
npm install
# 构建服务器
npm run build
创建或编辑你的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
一旦连接,你将拥有这些医疗工具:
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将使用:
- 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 查找额外的学术来源
# 检查服务器是否正确构建
npm run build
# 直接测试服务器
node build/index.js
# 检查端口冲突
lsof -i :3000
# 确保可执行文件具有正确的权限
chmod 755 build/index.js
# 在macOS上,您可能需要在“安全性与隐私”中允许Node.js
{
"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"