Clinical Handover MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Clinical Handover MCP ServerClassify patient risk for Mr. Jones presenting with chest pain"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Clinical Handover MCP Server
A Model Context Protocol (MCP) server for clinical handover coordination agents. It provides structured tools for risk classification, SBAR generation, completeness validation, follow-up task extraction, and ward preference management.
⚠️ Safety Notice: All outputs are clinical communication support drafts only. This system does not diagnose, prescribe, or make clinical decisions. Every output must be reviewed by a qualified clinical professional before use in patient care.
Quick Start
Prerequisites
Node.js ≥ 20
npm ≥ 9
Install & Build
# 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.Local Development (no build step)
npm run dev # runs src/index.ts via tsx directlyLint (TypeScript type-check without emitting)
npm run lintInspect with MCP Inspector
npm run inspect
# Opens MCP Inspector UI — usually at http://localhost:5173The inspector lets you call each tool interactively with a form UI and see raw
JSON responses. Use the sample inputs in src/data/sample-handover.md as test data.
Tools
Tool | Purpose |
| Risk-score a patient case (high/medium/low/uncertain) |
| Check for missing critical fields, return 0–100 score |
| Extract prioritised tasks from Gmail/Fireflies/Notion text |
| Format a structured SBAR handover document |
| Assemble a full shift handover record |
| Draft ward-specific preference rules from clinician feedback |
Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"clinical-handover": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/clinical-handover-mcp-server/build/index.js"]
}
}
}Replace /ABSOLUTE/PATH/TO/ with the real path, then restart Claude Desktop.
The 6 tools will appear in Claude's tool palette.
Connect to Agentman
In your Agentman agent config, add this MCP server as a tool source:
{
"mcp_servers": [
{
"name": "clinical-handover",
"transport": "stdio",
"command": "node",
"args": ["build/index.js"],
"cwd": "/path/to/clinical-handover-mcp-server"
}
]
}The agent will discover all 6 tools automatically via the MCP protocol.
Environment Variables
Copy .env.example to .env and populate if needed:
cp .env.example .envCurrently the server needs no secrets — all logic is local. Future integrations (e.g. Notion write-back) would add tokens here.
Future: Streamable HTTP Deployment
The server currently uses stdio transport (simplest for local agents and Claude Desktop).
To expose it as an HTTP endpoint for multi-agent or remote deployments:
Install the HTTP transport package when available:
npm install @modelcontextprotocol/sdk-transport-httpReplace
StdioServerTransportinsrc/index.tswithStreamableHttpServerTransport:import { StreamableHttpServerTransport } from "@modelcontextprotocol/sdk-transport-http"; const transport = new StreamableHttpServerTransport({ port: 3000 });Deploy behind a reverse proxy (nginx/Caddy) with TLS.
Add bearer token auth middleware before exposing publicly.
For now, stdio is preferred — it keeps the attack surface minimal and avoids network credential management for a clinical communication tool.
Safety Design Principles
No diagnosis. Tools score and classify for communication purposes only — not to inform clinical treatment.
No prescribing. The
recommendationfield in SBAR is a handover communication field, not a prescription.Mandatory disclaimer. Every tool output carries the safety notice.
Human approval gate.
update_ward_preferencesnever writes to Notion directly — it drafts rules for human review.No PII storage. The server holds no state between calls. Patient identifiers used in tool calls are not persisted.
Project Structure
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 referenceThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ApentengJoseph/clinical-handover-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server