NHS组织搜索服务

一个基于Azure API管理的NHS组织搜索和健康信息查询服务,提供按类型、位置搜索NHS组织及获取健康指南的功能。

  • by sinclr4
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sinclr4/NHSUKMCP-Python

使用说明

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

贡献

欢迎投稿!请随时提交拉取请求。