关于 mcp-ratchet-clinical-charting
mcp-ratchet-clinical-charting 是一款 MCP 服务,帮助居家护理护士通过 Claude 将患者访视记录写入 EMR。目前它以虚构患者数据运行于模拟模式,生产环境的 EMR 集成尚待完成。
主要功能
- 01按姓名、ID 或电话查找患者
- 02创建含生命体征的访视记录
- 03检索患者访视历史
- 04使用内存中的模拟访视记录
适用场景
- 01在记录工作流中查找患者
- 02记录含生命体征的访视
- 03查看患者过往访视
MCP 相关
该 MCP 服务向 Claude 和其他 MCP 客户端提供患者搜索、创建访视记录及查询患者历史的工具。目前模拟模式使用虚构患者数据,并将记录保存在内存中;PointCare 生产集成尚待完成。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mcp-ratchet-clinical-chartingPOINTCARE_API_URLEMR API base URL (optional - runs in mock mode if not set)POINTCARE_API_KEY密钥EMR API key (required for production mode)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 要返回的最大结果数(默认值:10,最大值:50) |
| query | string | 是 | 搜索词:患者姓名、ID(例如:PT-10001)或电话号码 |
| status | enum | 否 | 按患者状态筛选。如果未指定,则返回所有状态的患者。active | inactive | discharged | pending |
| searchType | enum | 否 | 要执行的搜索类型。默认为 "all",即搜索所有字段。name | id | phone | all |
详细介绍
mcp-ratchet-clinical-charting
用于临床病历记录的 MCP 服务,可与 Claude 配合使用(代号:Ratchet) - 支持 Claude 将患者就诊记录直接写入电子病历,减轻居家护理护士的行政负担。
**注意:**目前处于模拟模式,用于开发和测试。即将支持生产环境电子病历集成。
状态
| 组件 | 状态 |
|---|---|
| MCP Server | ✅ 正常运行(模拟模式) |
| 单元测试 | ✅ 20/20 通过 |
| Claude Desktop | ✅ 已准备好进行测试 |
| PointCare API | ⏳ 等待 API 文档 |
**当前模式:**模拟模式 - 使用逼真的测试数据进行开发和测试。
快速开始
从 npm 安装(推荐)
npx mcp-ratchet-clinical-charting
从源码安装
git clone https://github.com/m2ai-mcp-servers/mcp-ratchet-clinical-charting.git
cd mcp-ratchet-clinical-charting
npm install
npm run build
npm run dev # Development mode
npm test # Run tests
模拟模式
默认情况下,如果未配置 POINTCARE_API_URL,Ratchet 将以模拟模式运行。模拟模式:
- 使用 5 位虚构测试患者
- 在内存中存储就诊记录
- 返回逼真的响应
- 非常适合开发和 Claude Desktop 测试
可用工具
| 工具 | 描述 | 模拟模式 |
|---|---|---|
search_patient | 按姓名、ID 或电话号码查找患者 | ✅ 正常运行 |
create_visit_note | 记录患者就诊情况及生命体征 | ✅ 正常运行 |
get_patient_history | 检索患者就诊历史 | ✅ 正常运行 |
使用示例(在 Claude 中)
"Search for patient Eleanor Thompson"
→ Returns patient PT-10001 with demographics and status
"Create a visit note for PT-10001 with blood pressure 120/80"
→ Creates and stores visit note with vitals
"Get visit history for PT-10001"
→ Returns list of previous visits
Claude Desktop 集成
配置 Claude Desktop
将以下内容添加到 Claude Desktop 配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": ["-y", "mcp-ratchet-clinical-charting"]
}
}
}
要在生产模式下集成电子病历:
{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": ["-y", "mcp-ratchet-clinical-charting"],
"env": {
"POINTCARE_API_URL": "https://api.pointcare.com",
"POINTCARE_API_KEY": "your-api-key"
}
}
}
}
步骤 3:重启 Claude Desktop
重启 Claude Desktop 以加载新的 MCP 服务。
步骤 4:验证
在 Claude Desktop 中,你应该能看到:
search_patient工具可用create_visit_note工具可用get_patient_history工具可用
试试:“搜索患者 Eleanor”
测试患者(模拟模式)
| ID | 姓名 | 状态 | 主要诊断 |
|---|---|---|---|
| PT-10001 | Eleanor Thompson | 在院 | 2 型糖尿病、CHF |
| PT-10002 | Robert Martinez | 在院 | COPD、术后 |
| PT-10003 | Margaret Wilson | 在院 | 帕金森病 |
| PT-10004 | James Thompson | 在院 | 中风后康复 |
| PT-10005 | Dorothy Anderson | 已出院 | 髋关节置换 |
起源故事
Ratchet 源自 M2AI NurseCall n8n 工作流,旨在帮助居家护理护士记录就诊情况:
Current Flow (M2AI NurseCall):
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Twilio │───>│ n8n │───>│ VAPI │───>│ Email │
│ SMS │ │ Workflow│ │ Call │ │ Summary │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
**问题:**就诊记录会发送到电子邮件,但仍需手动录入 PointCare EMR。
Ratchet 的解决方案:
Future Flow (with Ratchet):
┌─────────┐ ┌─────────┐ ┌──────────┐ ┌───────────┐
│ Twilio │───>│ n8n │───>│ Ratchet │───>│ PointCare │
│ SMS │ │ Workflow│ │ MCP │ │ EMR │
└─────────┘ └─────────┘ └──────────┘ └───────────┘
配置
| 变量 | 必需 | 描述 |
|---|---|---|
POINTCARE_API_URL | 否* | PointCare API 基础 URL |
POINTCARE_API_KEY | 否* | API 密钥或令牌 |
RATCHET_MOCK_MODE | 否 | 强制启用模拟模式(true/false) |
LOG_LEVEL | 否 | 日志级别(debug/info/warn/error) |
*生产环境使用时必需。未设置时将启用模拟模式。
项目结构
ratchet/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Configuration management
│ ├── tools/ # Tool implementations
│ │ ├── search-patient.ts
│ │ ├── create-visit-note.ts
│ │ └── get-patient-history.ts
│ ├── services/ # Business logic
│ │ ├── patient-service.ts
│ │ └── mock-data.ts
│ ├── types/ # TypeScript types
│ └── utils/ # Logger, errors
├── tests/
│ └── patient-service.test.ts
├── dist/ # Compiled output
├── prds/
│ └── RATCHET-PRD.yaml
├── docs/
│ └── API_REQUIREMENTS.md
├── package.json
├── tsconfig.json
└── jest.config.js
开发
# Run in watch mode
npm run dev
# Run tests
npm test
# Run tests with coverage
npm test -- --coverage
# Lint
npm run lint
后续步骤
- 获取 PointCare API 文档 - 参见
docs/API_REQUIREMENTS.md - 完成 PRD - 根据真实 API 详情填写工具规范
- 实现真实 API 调用 - 替换模拟响应
- 集成测试 - 使用 PointCare 沙盒进行测试
相关项目
- GRIMLOCK - 自主 MCP 服务工厂
- ratchet-demo-emr - 用于测试的演示电子病历 React 应用
许可证
MIT
使用 GRIMLOCK 构建 - 自主 MCP 服务工厂
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。