返回市场
MCP-n8n构建器

MCP-n8n构建器

作者:spences1078 星标更新:2025-11-18

项目介绍

mcp-n8n-builder

这是一个用于程序化创建和管理n8n工作流的模型上下文协议(MCP)服务器。该服务器提供了与n8n的REST API交互的工具和资源,允许AI助手在无需直接用户干预的情况下构建、修改和管理工作流。

<a href="https://glama.ai/mcp/servers/@spences10/mcp-n8n-builder"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=3740080061,3574599704&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

特性

  • 🔄 工作流管理:创建、读取、更新、删除、激活和停用工作流
  • 📊 执行管理:列出并检索工作流执行详情
  • 模式验证:使用Zod对输入和输出数据进行全面验证
  • 🔍 节点验证:在创建工作流之前验证节点类型是否符合n8n可用节点,以防止错误
  • 🤔 智能建议:当检测到无效节点时提供类似节点类型的建议
  • 🛠️ 错误处理:详细的错误消息用于故障排除
  • 📝 文档:所有工具和资源的详尽文档
  • 🔍 搜索与过滤:按名称、标签或活动状态过滤工作流

⚠️ 令牌消耗警告

由于n8n工作流的性质,此工具是一个“令牌怪兽”:

  • N8N工作流是复杂的JSON结构,包含嵌套的节点、连接、参数和设置
  • 单个工作流在查看或编辑时可能会轻易消耗数千个令牌
  • JSON结构无法有意义地减少而不丢失重要的工作流信息
  • LLM上下文窗口是有限的——复杂的工作流可能超出可用上下文

缓解策略

该工具实现了几种优化措施以减少令牌使用:

  • 冗长控制:使用OUTPUT_VERBOSITY=concise(默认)进行摘要而不是完整的JSON
  • 对象简化:工作流列表仅显示关键字段(ID、名称、状态、节点数量)
  • 选择性指南包含:错误消息仅包括相关部分的组成指南
  • 每个工具的冗长控制:通过verbosity参数覆盖单个工具调用的冗长级别

推荐使用方法

  • 首先列出工作流以确定所需内容(低令牌成本)
  • 尽可能使用简单的工作流
  • 除非特别需要完整的JSON,否则使用concise冗长级别
  • 将复杂的工作流分解成更小的部分以便于管理
  • 在检索或编辑大型工作流之前考虑令牌成本

配置

此服务器需要通过您的MCP客户端进行配置。以下是不同环境下的示例:

Cline配置

在Cline MCP设置中添加以下内容:

{
	"mcpServers": {
		"n8n-workflow-builder": {
			"command": "npx",
			"args": ["-y", "mcp-n8n-builder"],
			"env": {
				"N8N_HOST": "http://localhost:5678/api/v1",
				"N8N_API_KEY": "your-n8n-api-key",
				"OUTPUT_VERBOSITY": "concise" // 选项:'concise' 或 'full'
			}
		}
	}
}

Claude Desktop与WSL配置

对于WSL环境,在Claude Desktop配置中添加以下内容:

{
	"mcpServers": {
		"n8n-workflow-builder": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"N8N_HOST=http://localhost:5678/api/v1 N8N_API_KEY=your-n8n-api-key OUTPUT_VERBOSITY=concise npx -y mcp-n8n-builder"
			]
		}
	}
}

环境变量

服务器可以通过环境变量进行配置:

变量描述默认值
N8N_HOSTn8n API的URLhttp://localhost:5678/api/v1
N8N_API_KEYn8n身份验证的API密钥""
SERVER_NAMEMCP服务器的名称"n8n-workflow-builder"
SERVER_VERSIONMCP服务器的版本包版本
LOG_LEVEL日志级别"info"
CACHE_ENABLED是否启用缓存false
CACHE_TTL缓存TTL(秒)300
OUTPUT_VERBOSITY输出冗长级别(concisefull"concise"

MCP工具

节点管理

  • list_available_nodes:列出n8n实例中的所有可用节点。重要:在创建或更新工作流之前使用此工具,确保只使用有效的节点类型。这有助于防止因使用当前n8n实例中不存在的节点类型而导致的错误。

工作流管理

  • list_workflows:列出n8n中的所有工作流及其基本信息,包括ID、名称、状态、创建日期和标签。结果可以根据活动状态、标签或名称进行过滤。
  • create_workflow:在n8n中创建一个具有指定节点和连接的新工作流。返回创建的工作流及其分配的ID。验证所有节点类型是否存在于n8n实例中。
  • get_workflow:根据其ID检索特定工作流的完整详细信息,包括所有节点、连接、设置和元数据。
  • update_workflow:更新现有工作流的新配置。必须提供整个工作流结构,而不仅仅是更改的部分。验证所有节点类型是否存在于n8n实例中。
  • delete_workflow:永久删除一个工作流。此操作不可撤销。
  • activate_workflow:激活一个工作流,使其基于触发器自动运行。
  • deactivate_workflow:停用一个工作流,阻止其自动运行。

执行管理

  • list_executions:列出工作流执行历史记录,包括成功/失败状态、持续时间和时间戳的详细信息。结果可以根据工作流ID、状态,并限制到特定数量进行过滤。
  • get_execution:检索特定工作流执行的详细信息,包括执行时间、状态,以及可选的每一步处理的完整数据。

MCP资源

  • n8n://workflows:n8n中的所有工作流列表
  • n8n://workflows/{id}:特定n8n工作流的详细信息
  • n8n://executions/{id}:特定n8n工作流执行的详细信息

开发

设置

  1. 克隆仓库
  2. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 在开发模式下运行:
npm run dev

发布

该项目使用changesets进行版本管理。要发布:

  1. 创建一个changeset:
npm changeset
  1. 版本化包:
npm changeset version
  1. 发布到npm:
npm release

贡献

欢迎贡献!请随时提交Pull Request。

许可证

MIT许可证 - 详情见LICENSE文件。

致谢