n8n工作流管理服务

一个用于程序化创建和管理n8n工作流的MCP服务器,提供与n8n REST API交互的工具和资源,允许AI助手无需用户直接干预即可构建、修改和管理工作流。

  • by spences10
  • TypeScript
  • 本地部署
  • 86 星标
  • 更新于
在 GitHub 查看 spences10/mcp-n8n-builder

使用说明

mcp-n8n-builder

用于程序化创建和执行的模型上下文协议(MCP)服务器 n8n工作流的管理。此服务器提供工具和资源 用于与n8n的REST API交互, 用户可以在没有直接用户干预的情况下创建、修改和管理工作流。

特性

  • 🔄 工作流管理:创建、读取、更新、删除、激活、, 并停用工作流
  • 📊 执行管理:列出并检索工作流执行 详情
  • ✅ 架构验证:使用Zod对两者进行全面验证 输入和输出数据
  • 🔍 节点验证:根据n8n的可用性验证节点类型 在创建工作流之前创建节点以防止错误
  • 🤔 聪明的建议:为类似节点提供建议 检测到无效节点时的类型
  • 🛠️ 错误处理:用于故障排除的详细错误消息
  • 📝 文档:所有工具和 资源
  • 🔍 搜索和筛选:按名称、标记或活动筛选工作流 状态

⚠️ 令牌消耗警告

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

  • N8N工作流是复杂的JSON结构 具有嵌套节点、连接、参数和设置
  • 单个工作流可以轻松消耗数千个令牌 查看或编辑时
  • JSON结构不能被有意义地简化 而不会丢失基本的工作流信息
  • LLM上下文窗口是有限的 -复杂的工作流可能超出可用上下文

缓解策略

该工具实施了多项优化以减少令牌使用:

  • 详细程度控制:使用 OUTPUT_VERBOSITY=concise (默认)用于摘要,而不是完整的JSON
  • 对象简化:工作流列表仅显示基本字段(id、名称、状态、节点计数)
  • 选择性指南纳入:错误消息仅包括作文指南的相关部分
  • 按工具详细程度:使用以下命令覆盖单个工具调用的冗长内容 verbosity 参数

推荐使用方法

  • 首先列出工作流 确定您需要什么(低令牌成本)
  • 使用简单的工作流程 在可能的情况下
  • 使用 concise 冗长 除非你特别需要完整的JSON
  • 将复杂的工作流程分解为更小的部分 便于管理
  • 考虑代币成本 在检索或编辑大型工作流之前

配置

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

临床配置

将此添加到您的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" // Options: 'concise' or 'full'
			}
		}
	}
}

带WSL配置的Claude桌面

对于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_HOST n8n API的URL http://localhost:5678/api/v1
N8N_API_KEY n8n身份验证的API密钥 ""
SERVER_NAME MCP服务器的名称 "n8n-workflow-builder"
SERVER_VERSION MCP服务器的版本 软件包版本
LOG_LEVEL 日志记录级别 "info"
CACHE_ENABLED 启用缓存 false
CACHE_TTL 缓存TTL(秒) 300
OUTPUT_VERBOSITY 输出详细程度(concise 或 full) "concise"

MCP工具

节点管理

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

工作流管理

  • list_workflows:列出n8n中的所有工作流及其基本工作流 信息包括ID、名称、状态、创建日期和标签。 结果可以按活动状态、标签或名称进行筛选。
  • create_workflow:使用指定的参数在n8n中创建新工作流 节点和连接。返回创建的工作流及其 分配的ID。验证n8n中是否存在所有节点类型 例子
  • get_workflow:通过以下方式检索特定工作流的完整详细信息 其ID,包括所有节点、连接、设置和元数据。
  • update_workflow:用新的工作流更新现有工作流 配置。必须提供整个工作流程结构,而不是 只是更换了零件。验证中是否存在所有节点类型 n8n实例。
  • delete_workflow:按ID永久删除工作流。这 该操作无法撤消。
  • activate_workflow:通过工作流的ID激活工作流,使其能够 根据其触发器自动运行。
  • deactivate_workflow:按ID停用工作流,防止 它不会自动运行。

执行管理

  • 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

出版

该项目使用变更集进行版本管理。要发布,请执行以下操作:

  1. 创建变更集:
npm changeset
  1. 版本包:
npm changeset version
  1. 发布到npm:
npm release

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢