NHSUK MCP服务器
模型上下文协议(MCP)服务器,提供按类型和位置搜索NHS组织的工具,并使用Azure API管理访问NHS健康信息。
特性
- 获取组织类型:列出所有24种可用的NHS组织类型
- 转换邮政编码:将英国邮政编码转换为纬度/经度坐标
- 按邮政编码搜索:查找特定邮政编码附近的NHS组织
- 按坐标搜索:查找特定坐标附近的NHS组织
- 获取健康主题:获取详细的NHS健康信息和医疗状况指导
安装
来自PyPI(推荐)
pip install nhsuk-mcp来源
git clone https://github.com/sinclr4/nhsuk-mcp-python.git
cd nhsuk-mcp-python
pip install -e .配置
环境变量
此服务器需要两个环境变量:
API_MANAGEMENT_ENDPOINT-Azure API管理基础URL(无服务路径)API_MANAGEMENT_SUBSCRIPTION_KEY-API管理的订阅密钥
使用Claude Desktop
安装
pip install nhsuk-mcp配置
添加到您的Claude Desktop配置文件中:
macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"nhsuk": {
"command": "python",
"args": ["-m", "nhsuk_mcp.server"],
"env": {
"API_MANAGEMENT_ENDPOINT": "https://nhsuk-apim-int-uks.azure-api.net",
"API_MANAGEMENT_SUBSCRIPTION_KEY": "your-subscription-key-here"
}
}
}
}视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"nhsuk": {
"command": "python",
"args": ["-m", "nhsuk_mcp.server"],
"env": {
"API_MANAGEMENT_ENDPOINT": "https://nhsuk-apim-int-uks.azure-api.net",
"API_MANAGEMENT_SUBSCRIPTION_KEY": "your-subscription-key-here"
}
}
}
}重新启动克劳德桌面
更新配置后,重新启动Claude Desktop。MCP服务器将提供5个工具。
可用的MCP工具
1.get_organization_types
列出所有NHS组织类型及其描述。
退货:组织类型代码及其描述词典。
示例类型:
PHA-药房GPP-GP实践HOS-医院DEN-牙医CLI-诊所
2.convert_postcode_to_cords
将英国邮政编码转换为纬度/经度坐标。
参数:
postcode(字符串,必填):英国邮政编码(例如,“SW1A 1AA”)
退货:经纬度坐标
3.搜索_组织_邮政编码
搜索特定邮政编码附近的NHS组织。
参数:
organisationType(字符串,必填):组织类型代码(例如“PHA”、“GPP”、“HOS”)postcode(string,必填):英国邮政编码maxResults(整数,可选):最大结果数(1-50,默认值:10)
退货:包含名称、地址、邮政编码、距离和坐标的组织列表
4.搜索_组织_坐标
搜索特定坐标附近的NHS组织。
参数:
organisationType(字符串,必填):组织类型代码latitude(数字,必填):纬度坐标longitude(数字,必填):经度坐标maxResults(整数,可选):最大结果数(1-50,默认值:10)
退货:包含名称、地址、邮政编码、距离和坐标的组织列表
5.获取健康主题
从NHS API获取有关特定健康状况或主题的详细信息。
参数:
topic(字符串,必需):健康主题或病症(例如,“哮喘”、“糖尿病”、“流感”、“新冠肺炎”)
退货:综合信息,包括名称、描述、上次审核日期、URL和内容部分
示例主题:哮喘、糖尿病、流感、新冠肺炎、心脏病、中风、癌症、抑郁症、焦虑症
支持的组织类型
服务器支持24种NHS组织类型:
| 代码 | 描述 |
|---|---|
| CCG | 临床调试组 |
| CLI | 诊所 |
| 牙科医生 | |
| GDOS | 通用服务目录 |
| GPB | GP |
| GP | GP实践 |
| GSD | 通用服务目录 |
| HA | 卫生局 |
| HOS | 医院 |
| HWB | 健康与福利委员会 |
| LA | 地方当局 |
| LAT | 区域团队 |
| MIU | 轻伤小组 |
| OPT | 配镜师 |
| PHA | 药学 |
| RAT | 区域团队 |
| SCL | 社会护理提供者位置 |
| SCP | 社会护理提供者 |
| 民政事务局局长 | 战略卫生局 |
| STP | 可持续发展和转型伙伴关系 |
| TRU | 信任 |
| UC | 紧急护理 |
| 未知 | 未知 |
Docker部署
构建图像
docker build -t nhs-orgs-mcp-python .运行容器
docker run -i \
-e API_MANAGEMENT_ENDPOINT="https://nhsuk-apim-int-uks.azure-api.net" \
-e API_MANAGEMENT_SUBSCRIPTION_KEY="your-key" \
nhs-orgs-mcp-python示例用法
在Claude Desktop中配置后,您可以提出以下问题:
- “NHS有哪些组织类型?”
- “查找邮政编码SW1A 1AA附近的药店”
- “让我看看伦敦5英里范围内的全科医生诊所”
- “离坐标51.5074,-0.1278最近的医院是哪家?”
- “将邮政编码M1 1AE转换为坐标”
- “获取有关哮喘的信息”
- “告诉我糖尿病的症状和治疗”
- “NHS对流感的指导是什么?”
发展
本地设置
# Clone repository
git clone https://github.com/sinclr4/nhsuk-mcp-python.git
cd nhsuk-mcp-python
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
# Set environment variables
export API_MANAGEMENT_ENDPOINT="https://nhsuk-apim-int-uks.azure-api.net"
export API_MANAGEMENT_SUBSCRIPTION_KEY="your-key"
# Run the server
python -m nhsuk_mcp.server项目结构
nhsuk-mcp-python/
├── nhsuk_mcp/
│ ├── __init__.py # Package initialization
│ ├── server.py # MCP server implementation
│ ├── models.py # Data models (Organisation, PostcodeResult)
│ └── azure_search.py # API Management service integration
├── pyproject.toml # Project metadata and dependencies
├── Dockerfile # Container build configuration
└── README.md # This file需求
- Python 3.10或更高版本
- 依赖关系:
- mcp>=1.0.0 -模型上下文协议SDK - httpx>=0.27.0 -HTTP客户端 - pydantic>=2.0.0 -数据验证
许可证
MIT许可证-有关详细信息,请参阅许可证文件
链接
- PyPI: https://pypi.org/project/nhsuk-mcp/
- GitHub: https://github.com/sinclr4/nhsuk-mcp-python
- 问题: https://github.com/sinclr4/nhsuk-mcp-python/issues
作者
罗伯·辛克莱rob.sinclair@nhschoices.net
贡献
欢迎投稿!请随时提交拉取请求。
