关于 Careflow Mcp
Careflow Mcp 将 n8n 工作流操作接入 Claude 等 AI 助手,面向医疗任务管理与照护协调自动化。它提供工作流触发和状态查询工具,并附有 HIPAA 合规文档。
主要功能
- 01触发 n8n 工作流
- 02列出已启用工作流
- 03查询工作流执行状态
- 04创建患者任务
- 05使用 TypeScript 与 Zod 验证
适用场景
- 01通过自然语言创建患者任务
- 02查看 n8n 中已启用的工作流
- 03检查工作流运行结果
- 04自动化医疗照护协调流程
MCP 相关
该 MCP 服务向 MCP 客户端提供 n8n 工作流触发、列表及状态查询工具,也支持提交结构化患者任务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CareFlow MCP 🏥
由 n8n 和 Model Context Protocol 驱动、可用于生产环境的医疗工作流自动化工具。支持 Claude 和其他 AI 助手通过自然语言触发符合 HIPAA 要求的患者任务管理工作流。
🏥 医疗就绪:提供全面的 HIPAA 合规文档和患者任务管理工作流。
功能
- 🚀 触发工作流 - 通过 webhook 执行 n8n 工作流,并支持自定义负载
- 📋 列出工作流 - 查询 n8n 实例中的所有活动工作流
- 📊 检查状态 - 实时监控工作流执行状态
- 🏥 医疗就绪 - 内置患者任务工作流支持
- 🔒 类型安全 - 全面支持 TypeScript,并使用 Zod 进行验证
- ⚡ 可用于生产环境 - 提供全面的错误处理和日志记录
- 🛠️ 符合 MCP 标准 - 兼容 Claude Desktop 和其他 MCP 客户端
📚 文档与示例
- [案例研究][(./case-studies/README.md)] - 5 个真实实施案例及 ROI 指标
- HEALTHCARE.md - 全面的 HIPAA 合规指南(我们的差异化优势!)
- 示例工作流 - 可导入的 n8n 工作流 JSON 文件
使用示例快速入门
# 1. Import workflow to n8n
examples/healthcare-patient-task-workflow.json
# 2. Configure credentials in n8n
# 3. Ask Claude:
"Create a patient task for ID P12345 in the Patient Care workflow"
提供的工具
| 工具 | 描述 | 必需参数 |
|---|---|---|
trigger_workflow | 按名称触发 n8n 工作流,并传入 JSON 负载 | workflowName、payload |
list_workflows | 列出 n8n 中的所有活动工作流 | 无 |
get_workflow_status | 根据 ID 检查执行状态 | executionId |
create_patient_task | 将结构化患者任务发送到工作流 | workflowName、patientId、taskType |
前置条件
- Node.js >= 18.0.0
- n8n 实例(云端或可自托管),并具有 API 访问权限
- n8n API Key(在 n8n Settings > API 中生成)
安装
选项 1:通过 Smithery(最简单)
通过 Smithery 从 mcp.so 直接安装:
npx @smithery/cli install careflow-mcp
此操作将自动:
- 安装软件包
- 添加到 Claude Desktop 配置
- 提示设置所需的环境变量
选项 2:通过 NPM 安装
npm install -g careflow-mcp
选项 3:从源代码安装
# Clone the repository
git clone https://github.com/pratapsfdc22-dev/careflow-mcp.git
cd careflow-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Link globally (optional)
npm link
配置
1. 创建环境文件
cp .env.example .env
2. 配置环境变量
使用你的 n8n 凭据编辑 .env:
# Base URL of your n8n instance
N8N_BASE_URL=https://your-n8n-instance.com
# n8n API Key (Settings > API > Create API Key)
N8N_API_KEY=n8n_api_xxxxxxxxxxxxxxxxxxxxxxxx
# Optional: Webhook Secret
N8N_WEBHOOK_SECRET=your_webhook_secret
3. 配置 Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"n8n-workflow": {
"command": "node",
"args": [
"/path/to/careflow-mcp/dist/index.js"
],
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your_api_key_here",
"N8N_WEBHOOK_SECRET": "your_webhook_secret"
}
}
}
}
使用 npm 全局安装:
{
"mcpServers": {
"n8n-workflow": {
"command": "careflow-mcp",
"env": {
"N8N_BASE_URL": "https://your-n8n-instance.com",
"N8N_API_KEY": "your_api_key_here"
}
}
}
}
使用示例
1. 触发工作流
// Ask Claude:
"Trigger the 'Customer Onboarding' workflow with this data:
{ email: '[email protected]', name: 'John Doe' }"
2. 列出所有活动工作流
// Ask Claude:
"Show me all active n8n workflows"
3. 检查工作流执行状态
// Ask Claude:
"Check the status of execution ID: abc123"
4. 创建患者任务
// Ask Claude:
"Create a high-priority follow-up task for patient ID P12345
in the 'Patient Care' workflow, due tomorrow"
开发
构建
npm run build
监视模式
npm run watch
本地运行
npm run dev
清理构建产物
npm run clean
项目结构
careflow-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── types.ts # TypeScript types and Zod schemas
├── dist/ # Compiled JavaScript (generated)
├── .env.example # Environment variable template
├── .gitignore # Git ignore rules
├── package.json # NPM package configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file
API 参考
trigger_workflow
按名称触发 n8n 工作流,并可选择传入 JSON 负载。
输入:
{
workflowName: string; // Name of the workflow
payload?: object; // Optional JSON data
}
输出:
{
"success": true,
"workflowId": "abc123",
"workflowName": "Customer Onboarding",
"response": { ... }
}
list_workflows
列出 n8n 实例中的所有活动工作流。
输入: 无
输出:
{
"success": true,
"count": 5,
"workflows": [
{
"id": "abc123",
"name": "Customer Onboarding",
"active": true,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-15T12:00:00.000Z"
}
]
}
get_workflow_status
检查工作流运行的执行状态。
输入:
{
executionId: string; // Execution ID from trigger response
}
输出:
{
"success": true,
"execution": {
"id": "exec123",
"workflowId": "abc123",
"finished": true,
"status": "success",
"startedAt": "2024-01-15T12:00:00.000Z",
"stoppedAt": "2024-01-15T12:00:05.000Z"
}
}
create_patient_task
向 n8n 工作流发送结构化的患者任务。
输入:
{
workflowName: string; // Target workflow
patientId: string; // Patient identifier
taskType: string; // Task type
priority?: "low" | "medium" | "high" | "urgent";
description?: string;
dueDate?: string; // ISO 8601 format
assignedTo?: string;
metadata?: object;
}
输出:
{
"success": true,
"workflowId": "abc123",
"workflowName": "Patient Care",
"task": { ... },
"response": { ... }
}
错误处理
服务使用适当的 MCP 错误代码,实现全面的错误处理:
- 参数无效 -
ErrorCode.InvalidParams - 找不到方法 -
ErrorCode.MethodNotFound - 内部错误 -
ErrorCode.InternalError
所有错误都包含便于调试的描述性消息。
安全最佳实践
- 切勿提交
.env- 始终使用.env.example作为模板 - 轮换 API 密钥 - 定期更新 n8n API 密钥
- 使用 Webhook 密钥 - 为 Webhook 触发器添加身份验证
- 限制 API 访问 - 使用 n8n 的 API 密钥权限
- 监控日志 - 检查服务日志,留意可疑活动
故障排除
服务无法启动
# Check Node.js version
node --version # Should be >= 18.0.0
# Verify environment variables
cat .env
# Check TypeScript compilation
npm run build
找不到工作流
- 确认工作流名称完全匹配(区分大小写)
- 确保工作流在 n8n 中处于启用状态
- 检查 API 密钥是否有权访问工作流
身份验证失败
- 确认
N8N_API_KEY正确 - 检查
N8N_BASE_URL是否包含协议(https://) - 确保 API 密钥尚未过期
Webhook 触发器失败
- 确认工作流中存在 Webhook 节点
- 检查 Webhook 路径是否与工作流 ID 匹配
- 如有需要,确认
N8N_WEBHOOK_SECRET
贡献
欢迎贡献!请:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 将分支推送到远程仓库(
git push origin feature/amazing-feature) - 发起 Pull Request
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
致谢
- 基于 Model Context Protocol SDK 构建
- 由 n8n workflow automation 提供支持
- 使用 Zod 进行类型验证
支持
- 🐛 问题:GitHub Issues
- 💬 讨论:GitHub Discussions
- 📖 文档:完整 API 参考
基于 Model Context Protocol 构建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。