/
登录
 找回密码
 立即注册

只需一步,快速开始

发帖

将 N8N 工作流转换为模型上下文协议 (MCP) 服务器,从而实现与 Claude、Cursor 等 AI 助手以及其他兼容 MCP 的平台无缝集成

华人网 2025-7-22 21:13

 一个综合平台,可将 N8N 工作流转换为模型上下文协议 (MCP) 服务器,从而实现与 Claude、Cursor 等 AI 助手以及其他兼容 MCP 的平台无缝集成。使用 N8N 的可视化工作流编辑器构建强大的自动化工具,并将其部署为可调用的 AI 函数。 演示

✨ 使用方法

  1. 从任何工作流复制 N8N 模板链接/JSON

  2. 通过我们直观的界面映射您的凭证

  3. 一键部署!

您的 N8N 工作流程已部署完毕,并创建本地托管的 MCP 服务器。只需将服务器 URL 粘贴到 Claude、Cursor、Super Chain 或任何兼容 MCP 的平台即可!

🎯 主要特点

🤖 MCP 服务器创建

将您的 N8N 工作流程转换为 MCP 服务器,以便 AI 助手可以将其用作自定义工具

🔄双重架构

  • 代理市场:基于 Web 的工作流管理和部署平台
  • MCP 路由器:高性能 MCP 服务器创建和路由系统

🛠️全面的工作流程管理

  • 浏览并部署预先构建的工作流模板
  • 上传和管理您的自定义 N8N 工作流程
  • 实时凭证配置和测试
  • 一键部署到您的 N8N 实例

🏗️ 建筑

📦安装

先决条件

  • Python 3.11+
  • N8N 实例(cloud.n8n.io 或自托管)
  • Supabase 帐户(用于数据存储)
  • 剧作家(N8N 认证所需)
  • Docker(可选,用于容器化部署)

⚠️ 重要提示:执行 N8N 工作流程需要安装 Playwright 。如果 Playwright 安装不正确,系统将使用虚拟凭证,从而限制功能。

快速入门

  1. 克隆存储库

    git clone https://github.com/Super-Chain/N8N2MCP.git
    cd N8N2MCP
  2. 安装依赖项

    pip install -r requirements.txt
  3. 安装 Playwright 浏览器(必需)

    playwright install
    # This downloads the necessary browser binaries for N8N authentication
  4. 配置环境

    # Copy and edit the .env file (see Environment Configuration section)
    cp .env.example .env
    # Edit .env with your actual configuration values
    # Supabase Configuration
    SUPABASE_URL=https://your-project-id.supabase.co
    SUPABASE_KEY=your_supabase_anon_key
    SUPABASE_SERVICE_KEY=your_supabase_service_role_key
    
    # N8N Configuration
    X_N8N_API_KEY=your_n8n_api_key
    N8N_BASE_URL=https://your-n8n-instance.com
    N8N_USERNAME=your_n8n_username
    N8N_PASSWORD=your_n8n_password
    
    # MCP Router Configuration
    N8N_BUILDER_URL=http://localhost:6545
    
    # Server Configuration
    FLASK_HOST=0.0.0.0
    FLASK_PORT=5000
    MCP_HOST=0.0.0.0
    MCP_PORT=6545
    
    # Optional: Authentication credentials (auto-populated)
    N8N_AUTH=
    N8N_BROWSER_ID=   
  5. 启动两个服务器

    python main.py

    开始于:

  6. 访问 UI 前端:http://localhost:5000

配置说明:

  • SUPABASE_URL:您的 Supabase 项目 URL
  • SUPABASE_KEY:客户端操作的匿名密钥
  • SUPABASE_SERVICE_KEY:管理操作的服务角色密钥
  • N8N_BASE_URL:您的 N8N 实例 URL(必须包含 https://)
  • N8N_BUILDER_URL:必须包含 http:// 协议

🔧 使用方法

从 N8N 工作流创建 MCP 服务器

方法 1:导入 N8N 模板

  1. 浏览模板:访问市场http://localhost:5000
  2. 导入模板:输入来自 n8n.io 的 N8N 模板 ID
  3. 配置凭证:填写所需的 API 密钥和服务凭证
  4. 部署工作流:单击部署以在 N8N 实例中创建工作流
  5. MCP 服务器已创建:自动生成 MCP 服务器端点

方法 2:上传自定义工作流程

  1. 上传 JSON:上传您的 N8N 工作流 JSON 文件
  2. 审查分析:检查检测到的节点和所需的凭证
  3. 配置和部署:填写凭证并部署到 N8N
  4. 访问 MCP 服务器:在 AI 工具中使用生成的 MCP 端点

使用 MCP 服务器

# Example MCP server URL format:
http://localhost:6545/mcp/{workflow_id}/{api_key}

# Test MCP server:
curl http://localhost:6545/list  # List all registered MCP servers

🎨用例

🔍数据处理与分析

  • 使用 N8N 的数据操作节点转换 CSV/Excel 文件
  • 连接到数据库和 API 进行实时数据分析
  • 根据 AI 对话生成报告和可视化内容

🌐 API 集成中心

  • 将 AI 助手连接到外部服务(Slack、Google 等)
  • 为专有系统创建自定义 API 端点
  • 为多个SaaS平台构建统一接口

📧通讯与通知

  • 发送电子邮件、Slack 消息或 Discord 通知
  • 创建自动报告系统
  • 构建由人工智能交互触发的警报系统

🔄工作流自动化

  • 通过人工智能对话触发复杂的业务流程
  • 创建审批工作流程和任务管理系统
  • 构建与企业系统的定制集成

🛠️ 开发

项目结构

N8N2MCP/
├── main.py                        # Unified server startup script
├── requirements.txt               # Consolidated Python dependencies
├── .env                          # Environment configuration (shared)
│
├── agent_marketplace/             # Flask web application
│   ├── app.py                    # Main Flask app with API endpoints
│   ├── database.py               # Supabase integration & data models
│   ├── n8n_workflow_parser.py    # Workflow analysis engine
│   ├── setup_supabase.py         # Database setup utilities
│   ├── templates/                # HTML templates
│   │   ├── workflows.html        # Main marketplace interface
│   │   └── static/               # CSS, JS assets
│   └── __init__.py               # Python package marker
│
├── mcp_router/                   # FastAPI MCP service
│   ├── mcp_router.py             # Main FastAPI application
│   ├── n8n_credential_extractor.py # N8N authentication
│   ├── credential_helper.py       # Credential management utilities
│   └── __init__.py               # Python package marker
│
└── README.md                     # This documentation

数据库设置

系统使用Supabase 中的2 个主要表

设置

  1. 创建 Supabase 项目:在supabase.com上建立一个新项目
  2. 在 Supabase SQL 编辑器中运行 SQL
-- Main workflow storage table
CREATE TABLE IF NOT EXISTS public.user_workflows (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    user_id TEXT NOT NULL,
    template_id TEXT NOT NULL,
    template_url TEXT NOT NULL,
    workflow_name TEXT NOT NULL,
    workflow_json JSONB NOT NULL,
    workflow_description TEXT,
    n8n_workflow_id TEXT,
    source TEXT DEFAULT 'user_upload',
    credentials_required JSONB DEFAULT '[]'::jsonb,
    mcp_link TEXT,
    status TEXT DEFAULT 'pending',
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- MCP server configurations
CREATE TABLE IF NOT EXISTS public.mcp_configs (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    workflow_id TEXT NOT NULL,
    user_apikey TEXT NOT NULL,
    code TEXT NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(workflow_id, user_apikey)
);

-- Enable Row Level Security (recommended)
ALTER TABLE user_workflows ENABLE ROW LEVEL SECURITY;
ALTER TABLE mcp_configs ENABLE ROW LEVEL SECURITY;

🚀 运行系统

统一启动(推荐)

python main.py

这将自动启动这两项服务:

  • ✅ 环境验证
  • ✅ 数据库设置验证
  • ✅ 优雅关机处理
  • ✅ 集中式日志记录

个人服务

代理市场(端口 5000)

cd agent_marketplace
python app.py

MCP 路由器(端口 6545)

cd mcp_router
python mcp_router.py

确认

# Test Agent Marketplace
curl http://localhost:5000/api/health

# Test MCP Router
curl http://localhost:6545/list

# View all endpoints
curl http://localhost:5000/api/health | grep endpoints

🔧 故障排除

常见问题

端口已被使用

# Kill processes on ports 5000 and 6545
fuser -k 5000/tcp 6545/tcp
# Or restart with main.py which handles this automatically
python main.py

数据库连接问题

# Verify Supabase configuration
python -c "from agent_marketplace.database import db_manager; print('✅ Database OK' if db_manager.supabase else '❌ Database connection failed')"

# Reset database tables
python agent_marketplace/setup_supabase.py

MCP 路由器无响应

# Check if MCP Router is running
curl http://localhost:6545/list

# View MCP Router logs
# Logs appear in terminal where main.py was started

N8N 工作流创建失败

  • 验证N8N_BASE_URL包括https://
  • 检查X_N8N_API_KEY有效并且具有工作流创建权限
  • 确保可以从您的服务器访问 N8N 实例

缺少依赖项

# Install missing packages
pip install playwright
playwright install  # For N8N authentication (required)

# Or install all dependencies
pip install -r requirements.txt

Playwright 浏览器问题

# If playwright browsers fail to download
playwright install --force

# For headless environments (servers)
playwright install chromium

# Check if playwright is working
python -c "from playwright.async_api import async_playwright; print('✅ Playwright OK')"

开发技巧

# Enable debug mode for Flask
export FLASK_DEBUG=1

# View detailed MCP Router logs
cd mcp_router && python mcp_router.py --log-level debug

# Test individual components
python -m agent_marketplace.n8n_workflow_parser  # Test parser
python -m mcp_router.mcp_router                  # Test MCP Router

🔐 安全最佳实践

  • 凭证管理:永远不要在服务器端存储用户凭证
  • API 密钥轮换:定期轮换 N8N API 密钥和 Supabase 密钥
  • 网络安全:在生产环境中使用 HTTPS 和适当的 SSL 证书
  • 访问控制:实施适当的身份验证和授权
  • 数据隔离:通过 RLS 策略确保正确的用户数据隔离

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支git checkout -b feature/amazing-feature
  3. 提交您的更改git commit -m 'Add amazing feature'
  4. 推送到分支git push origin feature/amazing-feature
  5. 打开拉取请求

📄 许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

📋 快速参考

API 端点

代理市场(端口 5000)

  • GET /- 主市场界面
  • GET /api/health- 健康检查和可用端点
  • POST /api/import-n8n-template-enhanced- 导入N8N模板
  • POST /api/deploy-workflow-to-n8n- 使用凭证部署工作流程
  • GET /api/user/uploaded-workflows- 列出用户工作流程
  • GET /api/user/mcp-servers- 列出活动的 MCP 服务器

MCP 路由器(端口 6545)

  • GET /list- 列出所有注册的 MCP 服务器
  • POST /n8n/build- 从 N8N 工作流程创建 MCP 服务器
  • GET /n8n/credentials/status- 检查 N8N 凭证状态
  • /mcp/{workflow_id}/{api_key}- MCP 服务器端点

关键文件位置

  • 配置:(.env根目录)
  • 主要启动main.py
  • Flask应用程序agent_marketplace/app.py
  • MCP路由器mcp_router/mcp_router.py

🆘 支持

  • 问题GitHub 问题
  • 文档:查看此自述文件和内联代码文档
  • 社区:加入我们的社区讨论以获取帮助和功能请求

🙏 致谢


由 SUPERCHAIN 团队倾情打造,面向 AI 自动化社区


路过

雷人

握手

鲜花

鸡蛋
文章点评