Token导航 LogoToken导航TokenDH.com
N8n Self Hosted Stack logo
AI代理stdio官方级别未说明来源级核验

N8n Self Hosted Stack

MCP Server

一个基于AWS CloudFormation的自动化部署解决方案,提供完整的n8n工作流自动化平台,包括Selenium WebDriver和n8n MCP服务器集成。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化DockerClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

CaRniFeXeR

提供方

CaRniFeXeR

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

AWS上的n8n自托管堆栈

一个全面的AWS CloudFormation模板,可自动部署一个完整的n8n工作流自动化平台,并提供其他服务,包括Selenium WebDriver和n8n MCP服务器集成。

🚀 特性

  • 全自动部署:使用AWS CloudFormation进行一键部署
  • n8n工作流自动化:使用PostgreSQL数据库完成n8n实例
  • Selenium WebDriver:用于web自动化和测试工作流
  • n8n MCP服务器:用于工作流管理的AI助手集成(可在以下网址访问 /custom-mcp)
  • Caddy反向代理:带SSL证书的自动HTTPS
  • 自定义域支持:在您自己的域名上提供n8n
  • 安全:适当的安全组和可配置的秘密
  • 可扩展的:基于AWS基础设施构建

📋 先决条件

在部署此堆栈之前,请确保您已经:

  1. AWS帐户:具有创建CloudFormation堆栈、EC2实例和其他AWS资源的足够权限
  2. S3铲斗:保存CloudFormation模板文件(AWS可以为您创建一个,但拥有自己的bucket可以避免尴尬的自动生成名称)
  3. 域名:您要托管n8n的域名(例如。, n8n.yourdomain.comautomation.yourdomain.com)
  4. DNS提供商:访问配置DNS记录(Cloudflare、Route53等)-建议使用Cloudflare
  5. n8n API密钥:部署后,您需要在n8n实例中生成此内容

🏗️ 建筑

此堆栈创建以下AWS资源:

  • EC2实例:使用Docker和Docker Compose的亚马逊Linux 2023
  • 弹性IP:n8n实例的静态IP地址
  • 安全组:配置为HTTP、HTTPS、SSH、n8n(5678)和Selenium(4444)
  • 匿名函数:用于自动创建和管理SSH密钥对
  • SSM参数存储:SSH私钥的安全存储

🚀 快速开始

“绿色大按钮”方法

跟随 Saurabh哲学,这个堆栈被设计成一个“绿色大按钮”——你按下它,一切都会自动完成。不再需要手动设置步骤、调试或配置麻烦。

步骤1:部署CloudFormation堆栈

  1. 上传模板:上传 aws-stack.yaml 文件到S3存储桶
  2. 创建堆栈:使用CloudFormation控制台创建新堆栈
  3. 配置参数:

- DomainName:您的域名(例如。, n8n.yourdomain.comautomation.yourdomain.com) - WebhookUrl:您的webhook URL(例如。, https://n8n.yourdomain.com/) - N8nEncryptionKey:用于n8n加密的安全随机字符串 - N8nJwtSecret:用于JWT身份验证的安全随机字符串 - N8nApiKey:n8n API密钥(在部署后生成)

步骤2:配置DNS(关键步骤)

重要:此步骤最好在启动CloudFormation堆栈后立即执行,以允许DNS解析在Caddy启动并运行时稳定下来。

  1. 获取弹性IP:从CloudFormation输出中复制弹性IP地址(几乎立即可用)
  2. 创建记录:在您的DNS提供商(如Cloudflare)中,创建一个A记录,将您的域指向弹性IP
  3. 设置域名解析:使用“仅DNS”设置, 未代理 -这对Caddy正常工作至关重要
  4. 等待传播DNS更改可能需要长达48小时(通常要快得多)

步骤3:访问您的n8n实例

大约10分钟后(EC2上的设置时间),您的n8n实例将在以下位置可用:

  • n8n接口: https://your-domain.com
  • Selenium WebDriver: http://elastic-ip:4444
  • n8n MCP服务器: https://your-domain.com/custom-mcp

瞧! 就是这样——不再需要调试,不再需要配置麻烦。就像 Saurabh的经历,第一次应该能顺利工作。

🔧 配置

MCP服务器配置

n8n MCP服务器可以通过两种方式配置: 服务器上的HTTP模式本地Docker模式每种方法都有不同的用例和局限性。

选项1:本地Docker模式(建议用于桌面客户端)

最适合:游标、Claude Desktop和其他桌面MCP客户端

这种方法使用Docker容器在本地运行MCP服务器。每个MCP客户端会话都有自己的容器实例,提供真正的多会话支持。

优势:

  • 多个会话 -每个客户端会话都有自己的容器
  • 无身份验证 -不需要Bearer代币
  • 自动清理 -会话结束时,容器将被删除
  • 无服务器端设置 -适用于任何n8n实例
  • 隔离 -每个会话都是完全独立的

配置:

{
  "mcpServers": {
    "n8n": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "--init",
        "-e", "N8N_API_URL=https://your-domain.com/api/v1",
        "-e", "N8N_API_KEY=your-n8n-api-key",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}

它是如何工作的:

  1. 光标开始 → 创建一个新的Docker容器
  2. 集装箱运行 → 处于stdio模式的n8n mcp服务器
  3. API连接 → 连接到n8n实例
  4. 会话结束 → 容器自动移除(--rm 旗帜)
  5. 新会话 → 干净状态的新鲜容器

选项2:HTTP服务器模式(适用于Web客户端)

最适合:基于Web的MCP客户端、简单的部署、单用户场景

MCP服务器在n8n服务器上以HTTP模式运行,可通过您的域访问。

限制:

  • 仅限单次会话 -一次只能连接一个客户端
  • 需要认证 -需要承载令牌
  • 服务器端设置 -需要Caddy路由配置
  • 会话冲突 -多个客户端出现“服务器已初始化”错误

配置:

对于游标(HTTP模式):

{
  "mcpServers": {
    "n8n": {
      "command": "curl",
      "args": [
        "-X", "POST",
        "-H", "Content-Type: application/json",
        "-H", "Accept: application/json, text/event-stream",
        "-H", "Authorization: Bearer n8n-mcp-secure-token-55e2c81fceb0",
        "https://your-domain.com/custom-mcp/mcp",
        "-d", "@-"
      ],
      "env": {
        "N8N_API_URL": "https://your-domain.com/api/v1",
        "N8N_API_KEY": "your-n8n-api-key"
      }
    }
  }
}

对于Claude Desktop(HTTP模式):

{
  "mcpServers": {
    "n8n": {
      "command": "curl",
      "args": [
        "-X", "POST",
        "-H", "Content-Type: application/json",
        "-H", "Accept: application/json, text/event-stream",
        "-H", "Authorization: Bearer n8n-mcp-secure-token-55e2c81fceb0",
        "https://your-domain.com/custom-mcp/mcp",
        "-d", "@-"
      ],
      "env": {
        "N8N_API_URL": "https://your-domain.com/api/v1",
        "N8N_API_KEY": "your-n8n-api-key"
      }
    }
  }
}

方案3:地方发展

对于希望从源代码本地运行MCP服务器的开发人员:

git clone https://github.com/czlonkowski/n8n-mcp.git
cd n8n-mcp
npm install
npm run build
npm run start:http

然后配置:

{
  "mcpServers": {
    "n8n": {
      "command": "node",
      "args": ["/path/to/n8n-mcp/dist/index.js"],
      "env": {
        "N8N_API_URL": "https://your-domain.com/api/v1",
        "N8N_API_KEY": "your-api-key"
      }
    }
  }
}

选项4:本地Docker HTTP模式

您还可以使用Docker以HTTP模式在本地运行MCP服务器:

docker run -d \
  --name n8n-mcp-local \
  -p 3000:3000 \
  -e MCP_MODE=http \
  -e AUTH_TOKEN=your-custom-token \
  -e N8N_API_URL=https://your-domain.com/api/v1 \
  -e N8N_API_KEY=your-n8n-api-key \
  ghcr.io/czlonkowski/n8n-mcp:latest

然后配置您的MCP客户端以连接到 http://localhost:3000/mcp.

建议:

  • 适用于桌面MCP客户端 (光标,克劳德桌面)→ Use 本地Docker模式
  • 对于基于web的客户端 → Use HTTP服务器模式
  • 为了发展 → Use 地方发展

注:

  • 替换 your-domain.com 使用您的实际域名
  • 替换 your-n8n-api-key 使用实际n8n API密钥
  • 可以通过修改以下内容来更改HTTP模式身份验证令牌 AUTH_TOKEN AWS堆栈中的环境变量
  • MCP服务器端点为 /custom-mcp/mcp (不只是 /custom-mcp)

可用的MCP工具:

克朗考斯基/n8n mcp 服务器提供了全面的工具:

核心工具

  • tools_documentation -获取任何MCP工具的文档
  • list_nodes -列出所有具有筛选选项的n8n节点
  • get_node_info -获取特定节点的全面信息
  • get_node_essentials -仅通过示例获取基本属性
  • search_nodes -在所有节点文档中进行全文搜索
  • validate_node_operation -验证节点配置
  • validate_workflow -完成工作流验证

n8n管理工具(配置API时)

  • n8n_create_workflow -使用节点和连接创建新的工作流
  • n8n_get_workflow -按ID获取完整的工作流程
  • n8n_update_full_workflow -更新整个工作流程
  • n8n_delete_workflow -永久删除工作流
  • n8n_list_workflows -列出具有过滤和分页功能的工作流
  • n8n_trigger_webhook_workflow -通过webhook URL触发工作流
  • n8n_get_execution -按ID获取执行详细信息
  • n8n_list_executions -列出执行情况并进行状态筛选

环境变量

堆栈会自动配置以下环境变量:

POSTGRES_USER=n8n
POSTGRES_PASSWORD=n8n
POSTGRES_DB=n8n
N8N_ENCRYPTION_KEY=your-encryption-key-here
N8N_USER_MANAGEMENT_JWT_SECRET=your-jwt-secret-here
N8N_PAYLOAD_SIZE_MAX=100
NODE_FUNCTION_ALLOW_EXTERNAL=node-fetch
WEBHOOK_URL=https://your-domain.com/
N8N_API_KEY=your-n8n-api-key-here

服务包括

  1. n8n:主要工作流自动化平台
  2. PostgreSQL:n8n数据数据库
  3. :用于web自动化的WebDriver
  4. n8n MCP服务器:AI助手集成
  5. 卡迪:使用自动HTTPS反向代理

🔐 安全

  • SSH访问:私钥安全地存储在AWS SSM参数存储中
  • 安全组:仅打开必要的端口(22、80、443、5678、4444)
  • 超文本传输安全协议:通过Caddy自动获得SSL证书
  • 可配置的秘密:可以自定义加密密钥和JWT密钥

📊 监测和管理

CloudFormation 输出

堆栈提供以下输出:

  • CaddyDomain:您的n8n URL
  • SeleniumUrl:Selenium WebDriver URL
  • ElasticIP:静态IP地址
  • McpServerInfo:MCP服务器可在以下位置访问 /custom-mcp 端点
  • KeyDownloadCommand:下载SSH密钥的AWS CLI命令

SSH访问

要通过SSH访问EC2实例:

# Download the SSH private key
aws ssm get-parameter --name /ec2/privateKey/n8n-automatic-EC2-PemFile --with-decryption --query Parameter.Value --output text > n8n-automatic-EC2-PemFile.pem

# Set proper permissions
chmod 400 n8n-automatic-EC2-PemFile.pem

# Connect to the instance
ssh -i n8n-automatic-EC2-PemFile.pem ec2-user@your-elastic-ip

🛠️ 故障排除

常见问题

  1. DNS无法解析:等待DNS传播或检查DNS配置
  2. HTTPS不工作:确保您的DNS A记录未被代理(仅DNS)-这对Caddy正常工作至关重要
  3. 服务未启动:检查Docker日志: docker compose logs
  4. API关键问题:在n8n设置中生成新的API密钥
  5. 浏览器安全警告:如果您看到“不安全”警告,请确保您使用的是HTTPS和正确的DNS配置

MCP服务器故障排除

  1. 502网关故障:MCP服务器容器可能未运行。请检查:
   docker ps | grep n8n-mcp-server
   docker logs n8n-mcp-server
  1. 身份验证错误:确保您的MCP客户端包含正确的Bearer令牌:
   curl -H "Authorization: Bearer n8n-mcp-secure-token-55e2c81fceb0" https://your-domain.com/custom-mcp/mcp
  1. 错误的端点:确保你正在使用 /custom-mcp/mcp (不只是 /custom-mcp)
  1. 球童路线问题:重新启动Caddy容器以应用配置更改:
   docker compose restart caddy
  1. MCP服务器未启动:检查环境变量是否正确:
   docker exec n8n-mcp-server env | grep -E "(MCP_MODE|AUTH_TOKEN|PORT)"

有用的命令

# Check service status
docker compose ps

# View logs
docker compose logs n8n
docker compose logs selenium
docker compose logs n8n-mcp-server

# Restart services
docker compose restart

# Update n8n
docker compose pull n8n
docker compose up -d n8n

💰 成本考虑

此堆栈创建了以下可计费资源:

  • EC2实例:t4g.micro(约8-12美元/月)
  • 弹性IP:连接到正在运行的实例时免费
  • EBS存储:30GB gp3容量(约3美元/月)
  • 数据传输:根据使用情况而有所不同

预计每月成本:10-15美元

小心:由于创建了资源,AWS将开始相应地向您收费。请注意这一点,如果您不再使用该设置,请删除堆栈。

🧹 清理

为避免持续收费,请在完成以下操作后删除CloudFormation堆栈:

  1. 转到AWS CloudFormation控制台
  2. 选择您的堆栈
  3. 点击“删除”并确认

这将删除所有创建的资源。

🤝 贡献

这个项目基于几个开源贡献。请随时提交问题或拉取请求以改进堆栈。

📄 许可证

该项目根据MIT许可证获得许可。

🙏 致谢

这个堆栈建立在几个了不起的开发人员和项目的工作之上:

核心技术

  • n8n:强大的工作流自动化平台使这一切成为可能
  • 码头工人:集装箱化技术
  • 卡迪:具有自动HTTPS的现代web服务器

原始AWS堆栈

  • Saurabh Sawhney:为n8n部署创建了原始的AWS CloudFormation模板,并引入了“绿色大按钮”概念——将所有繁琐的设置步骤自动化到一个单一、流畅的部署中。这个堆栈基于他出色的工作,并在保持其简单性和自动化理念的同时,扩展了其他功能。

n8n MCP服务器集成

  • 伦纳德·塞勒姆:开发了n8n MCP服务器,使AI助手能够与n8n工作流进行交互。这种集成允许强大的AI驱动的工作流管理和自动化。

附加功能

  • 硒集成:添加了web自动化功能
  • 增强的安全性:改进了安全组配置
  • 自定义环境:可配置的环境变量和秘密

📞 支持

如果您遇到问题或有疑问:

  1. 检查上面的故障排除部分
  2. 查看n8n文档:https://docs.n8n.io/
  3. 查看原始AWS堆栈指南:https://saurabh-sawhney.medium.com/self-hosting-the-workflow-automation-tool-n8n-on-aws-ec2-d4d2abf06282
  4. 查看MCP服务器文档:https://github.com/leonardsellem/n8n-mcp-server

______________________________________________________________________

备注:此堆栈专为开发和测试环境而设计。对于生产使用,请考虑其他安全措施、监控和备份策略。

目录标签

目录标签

工作流自动化DockerClaude本地部署AWS部署Selenium集成AI助手一键部署

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP