医疗指南搜索服务器

一个生产就绪的模型上下文协议(MCP)服务器,用于从权威来源搜索医疗指南并将全文内容返回给Claude.ai进行分析。

  • by kieran-heidi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kieran-heidi/medical-mcp-server

使用说明

医疗指南MCP服务器

一个生产就绪的模型上下文协议(MCP)服务器,从权威来源搜索医疗指南,并将全文内容返回给Claude.ai进行分析。

特性

  • 权威人士:搜索NICE、RACGP、世界卫生组织和CDC指南
  • 不需要API密钥:使用DuckDuckGo HTML搜索以获得可靠的结果
  • 智能内容提取:针对特定站点的解析以获得最佳结果
  • 速率限制:尊重爬行,内置延迟
  • 生产就绪:铁路部署,包括健康检查和监测
  • Claude.ai兼容:完全支持基于SSE协议的MCP

支持的医疗资源

  • NICE指南 (nice.org.uk)-英国国家健康与护理卓越研究所
  • RACGP指南 (racgp.org.au)-澳大利亚皇家全科医生学院
  • 世界卫生组织指南 (who.int)-世界卫生组织
  • 美国疾病控制与预防中心指南 (cdc.gov)-美国疾病控制与预防中心

快速开始

1.分叉/克隆存储库

git clone https://github.com/yourusername/medical-mcp-server.git
cd medical-mcp-server

2.部署到铁路

  1. 连接到铁路:

    • 首选 Railway.app
    • 使用您的GitHub帐户登录
    • 点击“新建项目”→ “从GitHub仓库部署”
    • 选择您的分叉存储库
  2. 部署:

    • Railway将自动检测Python应用程序
    • 部署将使用 Procfile 和 requirements.txt
    • 等待构建完成(通常2-3分钟)
  3. 获取您的URL:

    • 一旦部署,Railway将提供一个公共URL
    • 例子: https://your-app-name.railway.app

3.连接到Claude.ai

  1. 添加MCP服务器:

    • 首选 克劳德·艾
    • 点击您的个人资料→ “自定义克劳德”
    • 滚动到“模型上下文协议(MCP)”
    • 点击“添加MCP服务器”
  2. 配置连接:

    • 服务器URL: https://your-app-name.railway.app/sse
    • 服务器名称: Medical Guidelines MCP
    • 点击“添加服务器”
  3. 测试连接:

    • 服务器应成功连接
    • 您将在可用工具中看到“医疗指南MCP”

使用示例

连接到Claude.ai后,您可以提出以下问题:

基本搜索

  • “搜索NICE糖尿病管理指南”
  • “查找RACGP对高血压治疗的建议”
  • “获取世界卫生组织疫苗接种计划指南”
  • “搜索美国疾病控制与预防中心的心理健康治疗指南”

特定域搜索

  • “仅搜索NICE和世界卫生组织癌症筛查指南”
  • “查找RACGP儿科护理指南”

比较分析

  • “比较NICE和CDC关于新冠肺炎预防的指南”
  • “世界卫生组织和RACGP对糖尿病的建议有什么不同?”

API响应格式

服务器返回格式化的指南内容:

GUIDELINE: [Title]
SOURCE: [Domain Name] 
URL: [Full URL]
================================================================================

[Full extracted guideline text content]

================================================================================
END OF GUIDELINE

技术细节

MCP协议实现

服务器通过服务器发送事件(SSE)实现MCP协议,包括:

  • 工具规范: search_medical_guidelines
  • 输入架构:查询,可选域,最大结果(1-5)
  • 内容提取:特定于站点的HTML解析
  • 速率限制:请求之间延迟1.5秒

健康检查端点

访问 /health 要检查服务器状态,请执行以下操作:

{
  "status": "healthy",
  "uptime": "2:30:15",
  "timestamp": "2024-01-15T10:30:00Z",
  "supported_domains": ["nice.org.uk", "racgp.org.au", "who.int", "cdc.gov"],
  "mcp_protocol": "sse",
  "version": "1.0.0"
}

内容提取逻辑

  • NICE指南:nice.org.uk结构的专用解析器
  • RACGP指南:针对racgp.org.au布局进行了优化
  • 通用解析器:世界卫生组织、疾控中心和其他医疗机构的撤退
  • 文本清理:删除导航、广告和非内容元素
  • 长度限制:为了可读性,将内容截断为8000个字符

地方发展

先决条件

  • Python 3.8+
  • 点

设置

# Clone the repository
git clone https://github.com/yourusername/medical-mcp-server.git
cd medical-mcp-server

# Install dependencies
pip install -r requirements.txt

# Run locally
python main.py

服务器将于启动 http://localhost:8080

环境变量

  • PORT:服务器端口(默认:8080,Railway会自动设置此端口)

添加新的医疗资源

要添加新的医疗域,请编辑 MEDICAL_DOMAINS 配置在 main.py:

MEDICAL_DOMAINS = {
    'new-domain.org': {
        'name': 'New Medical Guidelines',
        'search_url': 'https://duckduckgo.com/html/?q=site:new-domain.org+{query}',
        'parser': 'generic'  # or 'nice', 'racgp' for specialized parsing
    },
    # ... existing domains
}

故障排除

常见问题

  1. 连接失败:

    • 检查铁路部署状态
    • 验证URL是否包含 /sse 端点
    • 确保CORS标头设置正确
  2. 未找到结果:

    • 尝试不同的搜索词
    • 检查是否支持医疗领域
    • 验证查询是否与医疗相关
  3. 内容提取问题:

    • 某些网站可能会阻止自动请求
    • 内容结构可能已更改
    • 检查服务器日志中的特定错误

铁路部署问题

  1. 构建失败:

    • 检查 requirements.txt 正确的依赖关系
    • 验证 Procfile 语法
    • 检查铁路日志中的特定错误
  2. 运行期错误:

    • 在仪表板中监视铁路日志
    • 检查运行状况端点: https://your-app.railway.app/health
    • 验证环境变量是否设置正确

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 本地测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

对于问题和疑问:

  • 检查上面的故障排除部分
  • 查看铁路部署日志
  • 在GitHub上打开一个问题

备注:此服务器遵守速率限制和robots.txt指南。请按照医疗指南网站的服务条款负责任地使用。