一个完整的模型上下文协议(MCP)服务器,提供AI助手全面访问n8n工作流自动化的功能。特性包括完整的工作流生命周期:发现节点、创建工作流、执行它们并验证其正确性。
One-Stop-Shop-N8N-MCP 是一个完整的解决方案,用于基于AI的n8n自动化。它为AI代理提供了理解、创建、管理和验证n8n工作流所需的一切——所有这些都来自单一且易于部署的服务器。
这是唯一一个提供AI代理以下功能的MCP服务器:
三分钟内启动,只需一个命令:
git clone https://github.com/Zevas1993/One-Stop-Shop-N8N-MCP.git
cd One-Stop-Shop-N8N-MCP
npm run setup
交互式安装向导将:
就这样! 无需手动配置,无需编辑JSON文件。
查看完整的**GETTING-STARTED.md**指南:
# 交互式设置(推荐 - 提问模式)
npm run setup
# Claude Desktop(自动配置)
npm run setup:claude-desktop
# 远程/HTTP服务器
npm run setup:http
# Docker部署
npm run setup:docker
通过单个命令部署完整堆栈(n8n + MCP + 开放WebUI):
# 1. 克隆仓库
git clone https://github.com/Zevas1993/One-Stop-Shop-N8N-MCP.git
cd One-Stop-Shop-N8N-MCP
# 2. 生成认证令牌
AUTH_TOKEN=$(openssl rand -base64 32)
WEBUI_SECRET_KEY=$(openssl rand -base64 32)
echo "AUTH_TOKEN=$AUTH_TOKEN" > .env
echo "WEBUI_SECRET_KEY=$WEBUI_SECRET_KEY" >> .env
# 3. 启动所有服务
docker compose up -d
# 4. 检查状态
docker compose ps
# 5. 访问服务
# - n8n: http://localhost:5678
# - 开放WebUI: http://localhost:3000
# - MCP: Stdio模式(Claude Desktop)
为了启用MCP的工作流管理功能(创建、更新、执行工作流),您需要配置n8n API密钥:
步骤1:获取您的n8n API密钥
步骤2:更新您的.env文件
在您的.env文件中添加API密钥:
# 编辑.env文件
nano .env
# 或使用您喜欢的编辑器
# 添加以下行:
N8N_API_KEY=your-api-key-here
N8N_API_URL=http://n8n:5678/api
步骤3:重启MCP
# 重启MCP服务以应用API密钥
docker compose restart mcp
# 验证连接
docker compose logs mcp | grep -i "api\|workflow"
现在您可以:
MCP中的所有11个工作流管理工具现在都可以使用!
docker-compose.yml编排了三个集成的服务:
| 服务 | 目的 | 端口 |
|---|---|---|
| n8n | 工作流自动化平台(官方n8nio/n8n镜像) | 5678 |
| MCP服务器 | 节点文档 + GraphRAG学习系统 | Stdio模式 |
| 开放WebUI | 自然语言编排界面 | 3000 |
当n8n更新时,MCP会自动检测:
nodes.dbdocker compose up -d# 更新n8n(MCP自动检测并重建)
docker compose pull n8n
docker compose up -d
# MCP将自动重建nodes.db
docker compose logs -f mcp
# 查看MCP启动日志(显示版本检测)
docker compose logs -f mcp
# 停止服务(保留数据)
docker compose down
# 停止并清理(警告:删除所有数据)
docker compose down -v
# 重新启动单个服务
docker compose restart mcp
查看docs/DOCKER_COMPOSE_SETUP.md:
对于Claude Desktop:
对于HTTP/Docker:
{
"mcpServers": {
"n8n-mcp-docker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/mcp-remote@latest",
"connect",
"http://localhost:3000/mcp"
],
"env": {
"MCP_AUTH_TOKEN": "test-browser-automation-token"
}
}
}
}
替代方案:使用提供的配置文件:
# 复制现成的配置
cp claude-desktop-config.json ~/.claude_desktop_config.json
# 重启Claude Desktop以加载新配置
对于Docker(stdio模式 - 高级):
{
"mcpServers": {
"n8n-mcp": {
"command": "docker",
"args": ["exec", "-i", "n8n-mcp-unified", "node", "dist/mcp/index.js"],
"env": {
"MCP_MODE": "stdio"
}
}
}
}
对于希望修改代码的开发者:
# 克隆并安装
git clone https://github.com/Zevas1993/One-Stop-Shop-N8N-MCP.git
cd One-Stop-Shop-N8N-MCP
npm install
# 构建项目
npm run build
# 初始化数据库(下载n8n节点信息)
npm run rebuild
# 在stdio模式下启动服务器
npm start
状态:生产就绪 | 完成:92%(第1-4阶段100%)
参阅PHASE4_FINAL_TEST_REPORT.md以获取详细的测试细节。
服务器使用环境变量进行配置。关键设置:
# 服务器模式 - stdio用于Claude Desktop,http用于远程访问
MCP_MODE=http
PORT=3000
# 认证令牌(HTTP模式必需)
AUTH_TOKEN=test-browser-automation-token
# 数据库路径
NODE_DB_PATH=/app/data/nodes.db
# 日志级别
LOG_LEVEL=info
# 通过提供n8n API访问来启用工作流管理工具
N8N_API_URL=http://localhost:5678
N8N_API_KEY=your-n8n-api-key
# 可选:API超时和重试次数
N8N_API_TIMEOUT=30000
N8N_API_MAX_RETRIES=3
http://localhost:5678).env文件中{
"mcpServers": {
"n8n-mcp-docker": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/mcp-remote@latest",
"connect",
"http://localhost:3000/mcp"
],
"env": {
"MCP_AUTH_TOKEN": "test-browser-automation-token"
}
}
}
}
{
"mcpServers": {
"n8n-mcp": {
"command": "node",
"args": ["/path/to/One-Stop-Shop-N8N-MCP/dist/mcp/index.js"],
"env": {
"MCP_MODE": "stdio"
}
}
}
}
服务器提供了39个专用工具,按类别组织:
list_nodes - 列出所有可用的n8n节点,并进行过滤find_nodes - 按关键词或类别搜索节点get_node_info - 完整的节点详细信息(基础约5KB,完整约50KB)get_node_summary - 超轻量概述(小于1KB)get_node_essentials - 仅基本属性及其示例search_nodes - 在所有节点文档中进行全文搜索search_node_properties - 在特定节点中搜索特定属性get_node_as_tool_info - 获取有关将节点作为AI工具的信息list_ai_tools - 列出所有支持AI的节点n8n_create_workflow - 从JSON创建新的工作流n8n_get_workflow - 按ID获取工作流(多种详细程度)n8n_update_full_workflow - 完全替换工作流n8n_update_partial_workflow - 基于差异的工作流更新n8n_delete_workflow - 永久删除工作流n8n_list_workflows - 浏览现有工作流并进行过滤n8n_trigger_webhook_workflow - 通过webhook执行工作流n8n_get_execution - 按ID获取执行详细信息n8n_list_executions - 浏览执行历史n8n_delete_execution - 删除执行记录n8n_system - 健康检查和诊断get_node_config - 常见任务的预配置节点设置get_node_for_task - 获取特定任务的节点配置list_tasks - 列出所有可用的任务模板validate_node - 节点配置验证(最小/完全模式)validate_node_operation - 操作感知的节点验证validate_node_minimal - 快速验证必填字段validate_workflow - 完整的工作流验证(多种模式)validate_workflow_connections - 检查工作流结构和连接validate_workflow_expressions - 验证所有n8n表达式validate_before_adding - 预飞行工作流验证check_compatibility - 快速节点连接验证get_template - 根据模板ID获取完整的工作流JSONlist_node_templates - 使用特定节点查找工作流模板get_templates_for_task - 获取常见任务的精选模板get_workflow_guide - 基于场景的常见模式指导get_property_dependencies - 分析属性依赖关系get_node_documentation - 从n8n-docs获取解析的文档get_database_statistics - 服务器指标和性能数据n8n_validate_workflow - 根据ID从n8n实例验证工作流AI代理:"我需要创建一个处理webhook的工作流"
1. find_nodes({"query": "webhook"}) -> 查找webhook节点
2. get_node_summary({"nodeType": "nodes-base.webhook"}) -> 快速概览(小于1KB)
3. get_node_essentials({"nodeType": "nodes-base.webhook"}) -> 基本配置(约5KB)
AI代理:"创建一个webhook到Slack的工作流"
1. n8n_create_workflow({"name": "Webhook to Slack", "nodes": [...], "connections": {...}})
2. validate_workflow({"workflow": {...}, "mode": "quick"}) -> 验证配置
3. n8n_get_workflow({"id": "workflow-id"}) -> 确认创建
AI代理:"在现有工作流中添加一个