Skip to main content
Glama
bobbynoble

MCP Server Healthcare

by bobbynoble

MCP Server Healthcare

一个用于 NHS 临床编码工作流的 Model Context Protocol (MCP) 服务器 —— 为临床记录建议 ICD-10-CM/OPCS-4/HCC 代码、跟踪 SAR/FOI 信息治理请求、将 DSAR 映射仓库请求运行至分类和临床审查、批量编码,以及通过 Cerner FHIR R4 沙箱读写患者数据。

任何 MCP 客户端(Claude Desktop、Claude Code、Copilot Studio 的 MCP 连接器等)都可以直接调用这些工具 —— 无需 REST API 层。

最初作为 bobbynoble/clinical-coding-bot 的一部分构建;本仓库是独立的 MCP 服务器,包含其封装的业务逻辑的独立副本,因此不依赖该仓库。

工具

领域

工具

临床编码

suggest_clinical_codes

SAR/FOI 追踪器

list_sar_foi_requests、create_sar_foi_request、update_sar_foi_request、list_overdue_sar_foi_requests、list_sar_foi_requests_due_soon、get_sar_foi_stats、get_sar_foi_cerner_bundle

DSAR 映射仓库

list_dsar_types、classify_dsar_type、list_dsar_requests、create_dsar_request、get_dsar_request、review_dsar_element、deliver_dsar_request

批量编码

list_coding_batches、get_batch_episodes、get_batch_episode、get_batch_coding_stats、get_revenue_at_risk

Cerner FHIR 沙箱

cerner_status、cerner_search_patients、cerner_get_patient、cerner_get_encounters、cerner_get_discharge_note、cerner_get_documents、cerner_post_condition、cerner_post_procedure、cerner_import_encounters_to_batch、cerner_writeback_episode

cerner_post_condition、cerner_post_procedure 和 cerner_writeback_episode 会对所配置的任何 Cerner 环境执行真实写入(默认为非生产沙箱 —— 参见 app/fhir_cerner.py)。

Related MCP server: LangCare MCP FHIR Server

设置

pip install -r requirements.txt
cp .env.example .env   # fill in Azure OpenAI / Search / Cerner credentials as needed

无论设置了哪些凭据,所有工具都会加载,但 suggest_clinical_codes 需要配置 Azure OpenAI + Azure AI Search,cerner_* 工具需要 CERNER_CLIENT_ID/CERNER_CLIENT_SECRET —— 在缺少匹配凭据的情况下调用相应工具会以明确的错误失败,而不会导致服务器崩溃。

运行

Stdio(Claude Desktop、Claude Code、大多数本地 MCP 客户端):

python -m MCP_Server_Healthcare

Claude Desktop 配置示例(claude_desktop_config.json):

{
  "mcpServers": {
    "clinical-coding-bot": {
      "command": "python",
      "args": ["-m", "MCP_Server_Healthcare"],
      "cwd": "/absolute/path/to/mcp_server_healthcare"
    }
  }
}

Streamable HTTP(远程访问,例如从 Copilot Studio 或托管的 MCP 客户端):

python -m MCP_Server_Healthcare --transport http --port 8010

HTTP 传输需要在 .env 中设置 CODING_API_KEY —— 每个请求都必须携带匹配的 X-API-Key 头,否则会被拒绝并返回 401(默认拒绝)。默认监听 127.0.0.1;设置 MCP_HOST=0.0.0.0(并将其置于 TLS/反向代理之后)即可在 localhost 之外暴露。

仓库结构

MCP_Server_Healthcare/   the MCP server itself (server.py has the tool
                         definitions; __main__.py the stdio/http entry point;
                         auth.py the HTTP transport's API-key gate)
app/                     business logic each tool wraps — coder.py (RAG
                         coding), sar_foi.py, dsar.py, batch.py,
                         fhir_cerner.py. Each stores its state in a SQLite
                         file created alongside it on first run.

备注

  • 阻塞式网络调用(Azure OpenAI/Search、Cerner FHIR)通过 asyncio.to_thread 卸载,这样一次慢调用不会阻塞同一服务器上的其他工具调用。

  • SQLite 文件(app/sar_foi.db、app/batch.db、app/dsar.db)在首次运行时自动创建,并已被 gitignore。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A clean-room SHARP-on-MCP compliant FHIR R4 MCP server that enables AI agents to interact with any FHIR R4 endpoint using SHARP context headers, without server-side OAuth. It provides clinical tools, lab results, imaging, and interactive MCP-UI dashboards.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI applications to query and retrieve healthcare data (patients, conditions, observations, medications) from a public FHIR R4 server via MCP tools.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for FHIR interoperability, enabling natural language querying and manipulation of clinical data with full CRUD operations, semantic search, and RAG capabilities.
    13
    MIT