使用说明
n8n MCP服务器
企业级 模型上下文协议(MCP) 服务器,使克劳德等人工智能助手能够安全地与 n8n 工作流自动化平台。
专为受监管行业打造 包括加密货币、金融科技和需要严格安全控制的企业。
安全特性
- TLS/SSL强制:默认情况下需要HTTPS,启用证书验证
- 审计日志:具有相关性ID的全面日志记录,以实现合规性
- 速率限制:内置防滥用保护
- 输入验证:通过注射模式检测进行严格验证
- 敏感数据补救:从未记录API密钥和机密
- 请求跟踪:用于调试和取证的相关ID
看 安全.md 获取完整的安全文档。
特性
- 工作流管理:创建、读取、更新、删除、激活和停用工作流
- 执行控制:手动执行工作流并监控执行历史记录
- 凭证可见性:列出可用凭据(仅元数据)
- 健康监测:检查连接和服务器状态
先决条件
- Python 3.10或更高版本
- 已启用API访问的n8n实例
- n8n API密钥(如何生成)
快速开始
1.克隆存储库
git clone https://github.com/tommytang2414/n8n-mcp-server.git
cd n8n-mcp-server
2.安装依赖项
pip install -r requirements.txt
3.配置环境
# Copy the example environment file
cp .env.example .env
# IMPORTANT: Set secure permissions (Unix/Linux/macOS)
chmod 600 .env
# Edit .env with your n8n credentials
4.配置克劳德代码
添加到您的克劳德代码设置(~/.claude/settings.json):
窗户:
{
"mcpServers": {
"n8n": {
"command": "py",
"args": ["-3", "C:\\path\\to\\n8n-mcp-server\\server.py"]
}
}
}
macOS/Linux:
{
"mcpServers": {
"n8n": {
"command": "python3",
"args": ["/path/to/n8n-mcp-server/server.py"]
}
}
}
配置
必需变量
| 变量 | 描述 | 示例 |
|---|---|---|
N8N_URL |
n8n实例URL(建议使用HTTPS) | https://n8n.example.com |
N8N_API_KEY |
n8n API密钥(至少32个字符) | eyJhbGciOiJIUzI1... |
安全变量
| 变量 | 描述 | 默认值 |
|---|---|---|
N8N_REQUIRE_HTTPS |
非本地主机需要HTTPS | true |
N8N_VERIFY_TLS |
验证TLS证书 | true |
AUDIT_LOG_ENABLED |
启用审核日志记录 | true |
可选变量
| 变量 | 描述 | 默认值 |
|---|---|---|
N8N_REQUEST_TIMEOUT |
请求超时(秒) | 30 |
N8N_MAX_PAYLOAD_SIZE |
最大有效载荷大小(字节) | 10485760 |
LOG_LEVEL |
日志记录级别 | INFO |
可用工具
工作流管理
| 工具 | 说明 |
|---|---|
n8n_list_workflows |
列出所有具有可选筛选的工作流 |
n8n_get_workflow |
获取特定工作流的详细信息 |
n8n_create_workflow |
创建新工作流 |
n8n_update_workflow |
更新现有工作流 |
n8n_delete_workflow |
删除工作流 |
n8n_activate_workflow |
激活工作流(启用触发器) |
n8n_deactivate_workflow |
停用工作流(禁用触发器) |
n8n_import_workflow |
从JSON导入工作流 |
执行管理
| 工具 | 说明 |
|---|---|
n8n_execute_workflow |
手动执行工作流 |
n8n_list_executions |
使用筛选器列出执行历史记录 |
n8n_get_execution |
获取特定执行的详细信息 |
其他
| 工具 | 说明 |
|---|---|
n8n_list_credentials |
列出可用凭据(仅元数据) |
n8n_health_check |
检查n8n连接和运行状况 |
示例用法
列出所有工作流:
“显示n8n中的所有活动工作流”
创建工作流:
“创建一个每天早上8点触发并发送Slack消息的工作流”
调试失败的执行:
“为什么我上次的工作流执行失败了?”
健康检查:
“检查n8n是否已连接并工作”
审计日志
当 AUDIT_LOG_ENABLED=true,所有操作都以JSON格式记录:
{
"timestamp": "2024-01-15T10:30:00.000Z",
"correlation_id": "a1b2c3d4e5f6",
"operation": "create_workflow",
"success": true,
"duration_ms": 125.5,
"parameters": {"name": "My Workflow"}
}
项目结构
n8n-mcp-server/
├── server.py # Main MCP server (enterprise security)
├── requirements.txt # Python dependencies
├── .env.example # Configuration template
├── .env # Your configuration (git-ignored)
├── .gitignore # Git ignore rules
├── SECURITY.md # Security policy and documentation
├── SPEC.md # API specification
└── README.md # This file
故障排除
“需要HTTPS”错误
- 您的n8n URL使用HTTP而不是HTTPS
- 仅用于开发:set
N8N_REQUIRE_HTTPS=false
“TLS验证失败”
- n8n实例的证书问题
- 对于开发中的自签名证书:set
N8N_VERIFY_TLS=false
“超出费率限制”
- 短时间内请求过多
- 等待并重试,或检查使用中的循环
“身份验证失败”
- 检查
N8N_API_KEY是正确的 - 验证API密钥是否未过期
- 确保API密钥具有所需的权限
发展
# Run with debug logging
LOG_LEVEL=DEBUG python server.py
# Run security scan
pip install bandit
bandit -r server.py
# Check dependencies for vulnerabilities
pip install safety
safety check -r requirements.txt
贡献
- 克隆该仓库
- 创建要素分支
- 进行更改(影响安全的更改需要审查)
- 提交拉取请求
看 安全.md 安全指南。
许可证
MIT许可证-请参阅 许可证 了解详情。
更新日志
v2.0.0(2024)-企业安全版
- 默认情况下执行TLS/SSL
- 带有相关ID的全面审计日志记录
- 速率限制保护
- 通过注射检测增强输入验证
- 敏感数据编辑
- 安全策略文档
- .env文件权限检查
v1.2.0版本
- 添加
.env文件支持 - 添加健康检查工具
- 改进日志记录
v1.0.0
- 初始版本