使用说明
Contoso提供者目录MCP服务器
一种模型上下文协议(MCP)服务器,它公开了一个基于Contoso的提供者目录。该服务器设计用于使用标准FHIR R4 API,专门为UHC Public API配置,但可适用于其他应用程序。
特性
- 符合QUICR4标准:与标准Contoso资源交互。
- 提供商目录焦点:用于搜索从业者、组织、地点和保险计划的专业工具。
- FastMCP:基于高效
fastmcp框架。 - 类型安全参数:使用Pydantic的
Annotated和Field用于参数验证和记录。
设置
先决条件
- Python 3.13+
uv(推荐)或pip
安装
- 克隆存储库。
- 安装依赖项:
uv sync
配置
服务器使用环境变量进行配置。提供了默认值,但您可以通过创建 .env 根目录中的文件:
FHIR_SERVER_URL=https://flex.optum.com/fhirpublic/R4
可用工具
search_practitioner
在目录中搜索从业者。
- 参数:
identifier:从业者的标识符(例如NPI)。family:姓氏。given:名字(名字)。address_state:从业者地址的状态。limit:要返回的结果数(1-1000,默认值:25)。
search_practitioner_role
搜索从业者在某个地点的组织中扮演的角色。
- 参数:
practitioner:提及从业者(例如,“从业者/123”或简称“123”)。organization:提及该组织。location:参考位置。specialty:专业代码。limit:要返回的结果数(1-1000,默认值:100)。
search_location
搜索物理位置(例如诊所、医院)。
- 参数:
name:位置名称或别名的一部分。address:地址部分的一部分。city:地址中指定的城市。state:地址中指定的州。postal_code:地址中指定的邮政编码。usage:位置使用代码。status:位置状态(active,suspended,或inactive).limit:要返回的结果数(1-1000,默认值:50)。
search_organization
搜索组织(如医院、保险公司)。
- 参数:
name:该组织名称的一部分。type:组织类型的代码(例如。,prov,dept,ins,pay).partof:指上级组织。limit:要返回的结果数(1-1000,默认值:25)。
search_organization_affiliation
搜索组织之间的关系。
- 参数:
primary_organization:指主要组织。participating_organization:提及参与组织。role:参与组织所起作用的定义。specialty:参与组织在角色背景下的具体专长。location:角色出现的位置。limit:要返回的结果数(1-1000,默认值:100)。
search_healthcare_service
搜索某个地点的组织提供的特定服务。
- 参数:
organization:提供此医疗服务的组织。location:提供此医疗服务的地点。name:医疗保健服务名称的一部分。category:医疗服务的服务类别。type:医疗服务的服务类型的代码或名称。specialty:所提供服务的专业性。limit:要返回的结果数(1-1000,默认值:25)。
search_insurance_plan
搜索保险产品。
- 参数:
name:保险计划名称的一部分。type:计划类型(例如。,medical,dental,mental).administered_by:产品管理员(组织)。owned_by:产品发行人(组织)。coverage_area:产品的覆盖区域(位置)。limit:要返回的结果数(1-1000,默认值:25)。
read_resource
按类型和ID读取特定的Contoso资源。
- 参数:
resource_type:资源的类型(例如。,Practitioner,Organization,Location,HealthcareService,InsurancePlan,PractitionerRole,OrganizationAffiliation).id:资源的逻辑ID。
发展
在本地运行服务器进行开发/测试:
uv run src/fhir_provider_directory_mcp/server.py
与MCP客户端一起使用
要将此服务器与MCP客户端(如Claude Desktop)一起使用,请将以下配置添加到您的 mcp_config.json 或 claude_desktop_config.json:
{
"mcpServers": {
"fhir-provider-directory": {
"command": "uv",
"args": [
"run",
"src/fhir_provider_directory_mcp/server.py"
],
"env": {
"FHIR_SERVER_URL": "https://flex.optum.com/fhirpublic/R4"
}
}
}
}
备注:您可能需要提供到的绝对路径 src/fhir_provider_directory_mcp/server.py 和 uv 如果客户端从其他目录运行。例如:
{
"mcpServers": {
"fhir-provider-directory": {
"command": "/path/to/uv",
"args": [
"run",
"/absolute/path/to/fhir-provider-directory-mcp/src/fhir_provider_directory_mcp/server.py"
],
"env": {
"FHIR_SERVER_URL": "https://flex.optum.com/fhirpublic/R4"
}
}
}
}