n8n MCP服务器
无状态•已验证•实时同步•LLM供电
使用智能MCP服务器转换您的n8n工作流开发,该服务器可以在错误发生之前防止错误。
🚀 v3.0中的新增功能
| 特性 | 描述 |
|---|---|
| 实时节点同步 | 节点目录直接从您的n8n实例同步-无需预构建数据库 |
| 防弹验证 | 6层验证在工作流达到n8n之前阻止其中断 |
| 双LLM架构 | 嵌入模型+为您的硬件优化的生成模型 |
| 无状态设计 | n8n是事实的来源-MCP中没有工作流存储 |
| 双界面 | 人工智能代理的MCP(Claude)+人类的HTTP(Open WebUI) |
______________________________________________________________________
⚡ 快速开始
一个命令启动
# Clone and enter directory
git clone https://github.com/Zevas1993/One-Stop-Shop-N8N-MCP.git
cd One-Stop-Shop-N8N-MCP
# Install dependencies
npm install
# Start the server (smart launcher handles everything)
npm run goWindows用户: 只需双击 Start-MCP-Server.bat
智能启动器会自动执行以下操作:
- ✅ 检查Node.js版本
- ✅ 使用预构建的dist/(如果可用)
- ✅ 如果需要,回退到ts节点
- ✅ 设置合理的默认值
Node.js要求
| 用例 | 最低Node.js |
|---|---|
运行时 (预制 nodes.db, npx n8n-mcp) | 节点18+ |
发展 (npm install 通过devDeps, npm run rebuild) | 节点20.19+ |
运行时使用双数据库适配器(better-splite3→ sql.js回退)以实现通用兼容性。
配置Claude桌面
添加 claude_desktop_config.json:
{
"mcpServers": {
"n8n-mcp": {
"command": "node",
"args": ["C:/path/to/One-Stop-Shop-N8N-MCP/start.js"],
"env": {
"N8N_API_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}选项2:Docker Compose(全栈)
# Clone the repo
git clone https://github.com/Zevas1993/One-Stop-Shop-N8N-MCP.git
cd One-Stop-Shop-N8N-MCP
# Configure
cp .env.example .env
# Edit .env with your N8N_API_KEY
# Start everything (n8n + MCP + Ollama + Open WebUI)
docker compose up -d访问权限:
- n8n: http://localhost:5678
- 开放网络用户界面: http://localhost:3000
- MCP API: http://localhost:3001
选项3:Docker(仅限MCP)
# Build
docker build -t n8n-mcp:latest .
# Run in MCP mode (for Claude Desktop)
docker run -it --rm \
-e N8N_API_URL=http://host.docker.internal:5678 \
-e N8N_API_KEY=your-key \
n8n-mcp:latest
# Run in HTTP mode (for Open WebUI)
docker run -d -p 3001:3001 \
-e MCP_MODE=http \
-e N8N_API_URL=http://your-n8n:5678 \
-e N8N_API_KEY=your-key \
n8n-mcp:latest______________________________________________________________________
🛡️ 验证网关
每个工作流都经过 6层验证 在达到n8n之前:
Workflow Input
│
▼
┌─────────────────────┐
│ 1. Schema (Zod) │ ──▶ Structure correct?
├─────────────────────┤
│ 2. Node Existence │ ──▶ Do nodes exist in n8n?
├─────────────────────┤
│ 3. Connections │ ──▶ Are connections valid?
├─────────────────────┤
│ 4. Credentials │ ──▶ Required creds configured?
├─────────────────────┤
│ 5. Semantic (LLM) │ ──▶ Does this make sense?
├─────────────────────┤
│ 6. Dry Run (n8n) │ ──▶ Test in n8n itself
└─────────────────────┘
│
▼
n8n API ✅结果:无效的工作流将被拒绝,并显示明确的错误消息和修复建议。
______________________________________________________________________
🤖 双LLM架构
系统使用 两种特殊型号 针对不同任务进行了优化:
| 型号 | 用途 | 示例 |
|---|---|---|
| 嵌入 | 语义搜索,相似性 | nomic-embed-text, embedding-gemma-300m |
| 生成 | 聊天、验证、建议 | llama3.2:1b/3b, gemma:2b, nemotron-nano-4b |
模型是 根据您的硬件自动选择:
| RAM | CPU内核 | 嵌入模型 | 生成模型 |
|---|---|---|---|
| \“管道” |
- 创建新管道 - 粘贴生成的代码
- 开始聊天:
- “列出我的工作流” - “创建发送到Slack的webhook” - “我可以将哪些节点用于电子邮件?”
______________________________________________________________________
📁 建筑
src/
├── core/ # NEW: Core architecture
│ ├── index.ts # Core orchestrator
│ ├── node-catalog.ts # Live sync from n8n
│ ├── validation-gateway.ts # 6-layer validation
│ ├── n8n-connector.ts # Stateless passthrough
│ └── llm-brain.ts # Dual LLM integration
├── interfaces/ # NEW: Dual interface
│ ├── mcp-interface.ts # For AI agents
│ └── openwebui-interface.ts # For humans
├── ai/ # Existing LLM support
│ └── hardware-detector.ts # Auto-detects optimal models
├── services/ # Existing services
└── main.ts # NEW: Unified entry point______________________________________________________________________
🔐 环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
N8N_API_URL | 是的 | http://localhost:5678 | n8n实例URL |
N8N_API_KEY | 是\* | - | n8n API密钥(\*对于大多数功能是必需的) |
OLLAMA_URL | 没有 | http://localhost:11434 | Ollama服务器URL |
MCP_MODE | 没有 | stdio | stdio 对于克劳德来说, http 对于Open WebUI |
PORT | 没有 | 3001 | HTTP服务器端口 |
AUTH_TOKEN | 无 | - | HTTP API身份验证 |
ENABLE_DRY_RUN | 没有 | true | 启用n8n模拟运行验证 |
______________________________________________________________________
🐛 故障排除
“找不到节点类型”
n8n实例中不存在该节点。使用 n8n_search_nodes 以查找可用节点。
“层验证失败:dryRun”
n8n拒绝了工作流。有关详细信息,请查看错误消息。
“LLM不可用”
奥利玛不在跑,也无法联系到。启动Ollama或禁用语义验证。
“拒绝连接n8n”
检查n8n是否正在运行 N8N_API_URL 是正确的。
______________________________________________________________________
📜 许可证
麻省理工学院
______________________________________________________________________
🙏 积分
- 原始MCP服务器 罗穆尔德 Czlonkowski
- 重构为v3.0 MCP服务器架构
