X

healthcare-mcp-public

Information

医疗MCP服务器 一个实现模型上下文协议(MCP)的服务器,为AI助手提供访问医疗数据和医学信息工具的能力。 概览 医疗MCP服务器是一个专门的服务器,它实现了模型上下文协议(MCP),以使AI助手能够访问医疗数据和医学信息工具。它让AI模型可以从权威来源检索准确且最新的医学信息。 功能特点 FDA药品信息:从FDA数据库中搜索并获取全面的药品信息 PubMed研究:从PubMed的科学文章数据库中搜索医学文献 健康主题:从Health.gov获取基于证据的健康信息 临床试验:搜索正在进行和已完成的临床试验 医学术语:查找ICD-10编码及医学术语定义 缓存:高效的缓存系统与连接池减少API调用次数并提高性能 使用跟踪:匿名使用跟踪以监控API使用情况 错误处理:强大的错误处理与日志记录 多接口支持:同时支持stdio(用于命令行界面)和HTTP/SSE接口 API文档:带有Swagger UI的交互式API文档 全面测试:广泛的测试套件,包括pytest和覆盖率报告 安装 通过Smithery安装 要通过Smithery自动为Claude Desktop安装医疗数据和医学信息服务器: bash npx -y @smithery/cli install @Cicatriiz/healthcare-mcp-public --client claude 手动安装 克隆仓库: bash git clone https://github.com/Cicatriiz/healthcare-mcp-public.git cd healthcare-mcp-public 创建虚拟环境: bash python -m venv venv source venv/bin/activate # 在Windows上: venvScriptsactivate 安装依赖项: bash pip install -r requirements.txt 设置环境变量(可选): bash 从示例创建.env文件 cp .env.example .env 使用您的API密钥编辑.env文件(可选) 运行服务器: bash python run.py 使用 在不同传输模式下运行 stdio模式(默认,适用于命令行): bash python run.py HTTP/SSE模式(适用于Web客户端): bash python run.py --http --port 8000 测试工具 您可以使用新的基于pytest的测试套件来测试MCP工具: bash 使用pytest和覆盖率运行所有测试 python -m tests.run_tests --pytest 运行特定测试文件 python -m tests.run_tests --test test_fda_tool.py 测试HTTP服务器 python -m tests.run_tests --server --port 8000 为了向后兼容,您仍然可以运行旧版测试: bash 运行所有测试(旧风格) python -m tests.run_tests 测试单个工具(旧风格) python -m tests.run_tests --fda # 测试FDA药品查询 python -m tests.run_tests --pubmed # 测试PubMed搜索 python -m tests.run_tests --health # 测试健康主题 python -m tests.run_tests --trials # 测试临床试验搜索 python -m tests.run_tests --icd # 测试ICD-10编码查询 API参考 医疗MCP服务器提供了程序化API以便直接集成以及RESTful HTTP API供Web客户端使用。 RESTful API端点 在HTTP模式下运行时,以下端点可用: 健康检查 GET /health 返回服务器及其服务的状态。 FDA药品查询 GET /api/fda?drug_name=\{drug_name\}&search_type=\{search_type\} 参数: drug_name:要搜索的药品名称 search_type:要检索的信息类型- general: 基本药物信息(默认) label: 药物标签信息 adverse_events: 报告的不良事件 示例响应: json \{ "status": "success", "drug_name": "aspirin", "search_type": "general", "total_results": 25, "results": [ \{ "brand_name": "ASPIRIN", "generic_name": "ASPIRIN", "manufacturer": "Bayer Healthcare", "product_type": "HUMAN OTC DRUG", "route": "ORAL", "active_ingredients": [ \{ "name": "ASPIRIN", "strength": "325 mg/1" \} ] \} ] \} PubMed 搜索 GET /api/pubmed?query=\{query\}&max_results=\{max_results\}&date_range=\{date_range\} 参数: query: 医学文献搜索查询 max_results: 返回的最大结果数量(默认:5,最大:50) date_range: 限制为最近几年内发表的文章(例如:5 表示最近5年) 示例响应: json \{ "status": "success", "query": "diabetes treatment", "total_results": 123456, "date_range": "5", "articles": [ \{ "pmid": "12345678", "title": "糖尿病治疗的新进展", "authors": ["Smith J", "Johnson A"], "journal": "糖尿病研究杂志", "publication_date": "2023-01-15", "abstract": "本研究探讨了新的治疗选择...", "url": "https://pubmed.ncbi.nlm.nih.gov/12345678/" \} ] \} 健康主题 GET /api/health_finder?topic=\{topic\}&language=\{language\} 参数: topic: 搜索健康信息的主题 language: 内容的语言(en 或 es,默认:en) 示例响应: json \{ "status": "success", "search_term": "diabetes", "language": "en", "total_results": 15, "topics": [ \{ "title": "2型糖尿病", "url": "https://health.gov/myhealthfinder/topics/health-conditions/diabetes/diabetes-type-2", "last_updated": "2023-05-20", "section": "健康状况", "description": "关于管理2型糖尿病的信息", "content": ["糖尿病是一种疾病...", "治疗方法包括..."] \} ] \} 临床试验搜索 GET /api/clinical_trials?condition=\{condition\}&status=\{status\}&max_results=\{max_results\} 参数: condition: 要搜索的医学状况或疾病 status: 试验状态(招募中、已完成、进行中、不再招募、或全部) max_results: 返回的最大结果数量(默认:10,最大:100) 示例响应: json \{ "status": "success", "condition": "乳腺癌", "search_status": "recruiting", "total_results": 256, "trials": [ \{ "nct_id": "NCT12345678", "title": "针对乳腺癌的新治疗方法研究", "status": "Recruiting", "phase": "Phase 2", "study_type": "Interventional", "conditions": ["乳腺癌", "HER2阳性乳腺癌"], "locations": [ \{ "facility": "纪念医院", "city": "纽约", "state": "NY", "country": "美国" \} ], "sponsor": "国家癌症研究所", "url": "https://clinicaltrials.gov/study/NCT12345678", "eligibility": \{ "gender": "女性", "min_age": "18岁", "max_age": "75岁", "healthy_volunteers": "否" \} \} ] \} ICD-10 代码查询 GET /api/medical_terminology?code=\{code\}&description=\{description\}&max_results=\{max_results\} 参数: code: 要查找的ICD-10代码(如果提供了描述则可选) description: 要搜索的医疗状况描述(如果提供了代码则可选) max_results: 返回的最大结果数量(默认:10,最大:50) 示例响应: json \{ "status": "success", "search_type": "description", "search_term": "糖尿病", "total_results": 25, "codes": [ \{ "code": "E11", "description": "2型糖尿病", "category": "内分泌、营养和代谢性疾病" \}, \{ "code": "E10", "description": "1型糖尿病", "category": "内分泌、营养和代谢性疾病" \} ] \}#### 通用工具执行 POST /mcp/call-tool 请求体: json \{ "name": "fda_drug_lookup", "arguments": \{ "drug_name": "aspirin", "search_type": "general" \}, "session_id": "optional-session-id" \} 程序化 API 当以编程方式使用 MCP 服务器时,可以使用以下函数: FDA 药物查询 python fda_drug_lookup(drug_name: str, search_type: str = "general") 参数: drug_name: 要搜索的药物名称 search_type: 要检索的信息类型 general: 基本药物信息(默认) label: 药物标签信息 adverse_events: 报告的不良事件 PubMed 搜索 python pubmed_search(query: str, max_results: int = 5, date_range: str = "") 参数: query: 医学文献搜索查询 max_results: 返回的最大结果数量(默认:5) date_range: 限制为在某几年内发表的文章(例如,5 表示过去 5 年) 健康主题 python health_topics(topic: str, language: str = "en") 参数: topic: 要搜索信息的健康主题 language: 内容语言(en 或 es,默认:en) 临床试验搜索 python clinical_trials_search(condition: str, status: str = "recruiting", max_results: int = 10) 参数: condition: 要搜索的医疗状况或疾病 status: 试验状态(招募中、已完成、进行中、未招募中或全部) max_results: 返回的最大结果数量 ICD-10 代码查询 python lookup_icd_code(code: str = None, description: str = None, max_results: int = 10) 参数: code: 要查找的 ICD-10 代码(如果提供了描述则可选) description: 要搜索的医疗状况描述(如果提供了代码则可选) max_results: 返回的最大结果数量 数据源 此 MCP 服务器利用了多个公开可用的医疗保健 API: FDA OpenFDA API PubMed E-utilities API Health.gov API ClinicalTrials.gov API NLM Clinical Table Search Service for ICD-10-CM 高级版本(仍在建设中) 这是具有使用限制的免费版 Healthcare MCP 服务器。对于高级功能和更高的使用限制,请查看我们的高级版本: 无限次 API 调用 高级医疗数据工具 自定义集成 优先支持 许可证 MIT 许可证

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
  • Community

Add Discussion

Upload Pictures and Videos