医疗健康MCP服务器提供了一系列API端点和程序化API,用于获取医疗相关的数据,如FDA药品信息、PubMed文献、健康主题、临床试验信息以及ICD - 10代码等,数据均来自公开资源。
本服务器提供了多种API接口,可根据需求调用不同的接口获取相应的医疗数据。
GET
/fda/drugs?brand_name={drug_name}&search_type={search_type}
参数说明:
参数 | 详情 |
---|---|
drug_name |
要搜索的药物名称 |
search_type |
检索的信息类型,可选值为 general (基本药物信息,默认)、label (药品标签信息)、adverse_events (不良反应报告) |
示例响应:
{
"status": "success",
"results": {
"drug_info": [
{
"brand_name": "阿司匹林",
"generic_name": "aspirin",
"approval_date": "2010-05-18",
"active_ingredients": ["乙酰水杨酸"]
}
]
}
}
GET
/pubmed/search?query={query}&max_results={max_results}&date_range={date_range}
参数说明:
参数 | 详情 |
---|---|
query |
文献查询关键词 |
max_results |
返回的最大结果数,默认值为5 |
date_range |
限制返回的文章发表时间范围,例如'5'表示过去5年 |
GET
/health_topics/{topic}?language={language}
参数说明:
参数 | 详情 |
---|---|
topic |
健康主题关键词 |
language |
内容语言,可选值为 en 或 es ,默认为 en |
GET
/clinical_trials/search?condition={condition}&status={status}&max_results={max_results}
参数说明:
参数 | 详情 |
---|---|
condition |
医学状况或疾病名称 |
status |
试验状态,可选值为 recruiting 、completed 、active 、not_recruiting 、all |
max_results |
返回的最大结果数 |
GET
/icd10/codes?code={code}&description={description}&max_results={max_results}
参数说明:
参数 | 详情 |
---|---|
code |
ICD - 10代码(可选,如果提供了描述) |
description |
医学状况描述(可选,如果提供了代码) |
max_results |
返回的最大结果数,默认值为10 |
POST
/mcp/call-tool
请求正文示例:
{
"name": "fda_drug_lookup",
"arguments": {
"drug_name": "阿司匹林",
"search_type": "general"
},
"session_id": "optional-session-id"
}
def fda_drug_lookup(drug_name: str, search_type: str = "general"):
pass
参数说明:
参数 | 详情 |
---|---|
drug_name |
要搜索的药物名称 |
search_type |
检索的信息类型,可选值为 general (基本药物信息,默认)、label (药品标签信息)、adverse_events (不良反应报告) |
def pubmed_search(query: str, max_results: int = 5, date_range: str = None):
pass
参数说明:
参数 | 详情 |
---|---|
query |
文献查询关键词 |
max_results |
返回的最大结果数,默认值为5 |
date_range |
限制返回的文章发表时间范围,例如'5'表示过去5年 |
def get_health_topics(topic: str, language: str = "en"):
pass
参数说明:
参数 | 详情 |
---|---|
topic |
健康主题关键词 |
language |
内容语言,默认为 en |
def search_clinical_trials(condition: str, status: str = "all", max_results: int = None):
pass
参数说明:
参数 | 详情 |
---|---|
condition |
医学状况或疾病名称 |
status |
试验状态,可选值为 recruiting 、completed 、active 、not_recruiting 、all ,默认值为 all |
max_results |
返回的最大结果数 |
def lookup_icd10_codes(code: str = None, description: str = None, max_results: int = 10):
pass
参数说明:
参数 | 详情 |
---|---|
code |
ICD - 10代码(可选) |
description |
医学状况描述(可选) |
max_results |
返回的最大结果数,默认值为10 |
所有数据均来自以下公开资源:
本项目遵循MIT许可证,详情请参考LICENSE文件。