Skip to main content
Glama
ApentengJoseph

Clinical Handover MCP Server

临床交接班 MCP 服务器

一个用于临床交接班协调代理的 模型上下文协议 (MCP) 服务器。 它提供结构化工具,用于风险分类、SBAR 生成、完整性 验证、后续任务提取以及病房偏好管理。

⚠️ 安全须知: 所有输出仅为临床沟通支持草稿。 本系统不进行诊断、开具处方或做出临床决策。 在用于患者护理之前,所有输出必须由合格的临床专业人员进行审核。


快速入门

前置要求

  • Node.js ≥ 20

  • npm ≥ 9

安装与构建

# 1. Install dependencies
npm install

# 2. Compile TypeScript → build/
npm run build

# 3. Verify the server starts cleanly
npm start
# Expected stderr: [clinical-handover-mcp] Server running on stdio transport. Ready.
# Press Ctrl+C to stop.

本地开发(无需构建步骤)

npm run dev          # runs src/index.ts via tsx directly

代码检查(TypeScript 类型检查,不生成文件)

npm run lint

Related MCP server: CardioTriage MCP Server

使用 MCP Inspector 进行检查

npm run inspect
# Opens MCP Inspector UI — usually at http://localhost:5173

Inspector 允许您通过表单 UI 交互式地调用每个工具,并查看原始 JSON 响应。使用 src/data/sample-handover.md 中的示例输入作为测试数据。


工具

工具

用途

classify_patient_risk

对患者病例进行风险评分(高/中/低/不确定)

validate_handover_completeness

检查是否缺少关键字段,返回 0–100 的评分

generate_follow_up_tasks

从 Gmail/Fireflies/Notion 文本中提取优先级任务

build_sbar_handover

格式化结构化的 SBAR 交接班文档

create_handover_record

汇总完整的轮班交接班记录

update_ward_preferences

根据临床医生的反馈起草特定病房的偏好规则


连接到 Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "clinical-handover": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/clinical-handover-mcp-server/build/index.js"]
    }
  }
}

将 /ABSOLUTE/PATH/TO/ 替换为实际路径,然后重启 Claude Desktop。 这 6 个工具将出现在 Claude 的工具面板中。


连接到 Agentman

在您的 Agentman 代理配置中,将此 MCP 服务器添加为工具源:

{
  "mcp_servers": [
    {
      "name": "clinical-handover",
      "transport": "stdio",
      "command": "node",
      "args": ["build/index.js"],
      "cwd": "/path/to/clinical-handover-mcp-server"
    }
  ]
}

代理将通过 MCP 协议自动发现所有 6 个工具。


环境变量

将 .env.example 复制到 .env 并根据需要进行填充:

cp .env.example .env

目前服务器不需要任何密钥 —— 所有逻辑都在本地运行。 未来的集成(例如 Notion 回写)将在此处添加令牌。


未来:可流式传输的 HTTP 部署

服务器目前使用 stdio 传输(对于本地代理和 Claude Desktop 最简单)。

若要将其作为 HTTP 端点暴露以用于多代理或远程部署:

  1. 在可用时安装 HTTP 传输包:

    npm install @modelcontextprotocol/sdk-transport-http
  2. 将 src/index.ts 中的 StdioServerTransport 替换为 StreamableHttpServerTransport:

    import { StreamableHttpServerTransport } from "@modelcontextprotocol/sdk-transport-http";
    const transport = new StreamableHttpServerTransport({ port: 3000 });
  3. 在反向代理(nginx/Caddy)后部署并启用 TLS。

  4. 在公开暴露之前添加承载令牌 (Bearer token) 认证中间件。

目前,首选 stdio —— 它使攻击面最小化,并避免了临床沟通工具的网络凭据管理问题。


安全设计原则

  1. 不进行诊断。 工具仅用于沟通目的的评分和分类 —— 不用于指导临床治疗。

  2. 不进行处方。 SBAR 中的 recommendation(建议)字段是交接班沟通字段,而非处方。

  3. 强制免责声明。 每个工具输出都带有安全须知。

  4. 人工审批关卡。 update_ward_preferences 绝不会直接写入 Notion —— 它仅为人工审核起草规则。

  5. 不存储 PII(个人身份信息)。 服务器在调用之间不保留任何状态。工具调用中使用的患者标识符不会被持久化存储。


项目结构

src/
  index.ts        Entry point — stdio transport setup, graceful shutdown
  server.ts       Tool registration (MCP tool schemas + handlers)
  logic.ts        Core business logic (risk scoring, completeness, task extraction)
  formatters.ts   Output formatters (SBAR markdown, task tables, handover records)
  safety.ts       Safety disclaimer constants
  types.ts        Shared TypeScript interfaces and type aliases
  data/
    sample-handover.md   Sample handover text for testing
docs/
  CODEX_PROMPT.md  Agent system prompt reference

Related MCP Connectors

Related MCP Servers