n8n MCP服务器

企业级MCP服务器,使AI助手如Claude能够安全地与n8n工作流自动化平台交互,适用于加密货币、金融科技等需要严格安全控制的行业。

  • by tommytang2414
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 tommytang2414/n8n-mcp-server

使用说明

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

贡献

  1. 克隆该仓库
  2. 创建要素分支
  3. 进行更改(影响安全的更改需要审查)
  4. 提交拉取请求

看 安全.md 安全指南。

许可证

MIT许可证-请参阅 许可证 了解详情。

更新日志

v2.0.0(2024)-企业安全版

  • 默认情况下执行TLS/SSL
  • 带有相关ID的全面审计日志记录
  • 速率限制保护
  • 通过注射检测增强输入验证
  • 敏感数据编辑
  • 安全策略文档
  • .env文件权限检查

v1.2.0版本

  • 添加 .env 文件支持
  • 添加健康检查工具
  • 改进日志记录

v1.0.0

  • 初始版本