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工作流的详细信息
执行
发展
设置
- 克隆存储库
- 安装依赖项:
npm install- 构建项目:
npm run build- 在开发模式下运行:
npm run dev出版
该项目使用变更集进行版本管理。要发布,请执行以下操作:
- 创建变更集:
npm changeset- 版本包:
npm changeset version- 发布到npm:
npm release贡献
欢迎投稿!请随时提交拉取请求。
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
致谢
- 建立在
- 由...驱动 n8n
