n8n REST API MCP服务器

一个Laravel包,将完整的n8n REST API和webhook功能作为MCP工具暴露,使每个n8n操作对AI代理和编码助手可用。

  • by rajurayhan
  • PHP
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 rajurayhan/laravel-n8n-mcp-server

使用说明

Laravel n8n MCP服务器

一个Laravel包,它公开了完整的 n8n REST API和webhook功能 模型上下文协议(MCP) 工具——使每个n8n动作都可供AI代理和编码助手使用。

建在上面 kayedspace/laravel-n8n 对于HTTP客户端层和 laravel/mcp MCP服务器基础设施。


需求

  • PHP 8.2+
  • Laravel 11或12
  • laravel/mcp >= 0.1.0
  • kayedspace/laravel-n8n ^1.1

安装

1.要求包装

composer require rajurayhan/laravel-n8n-mcp-server

这也会安装 kayedspace/laravel-n8n 自动作为依赖。Laravel会自动发现服务提供者,无需手动注册。

2.发布配置

php artisan vendor:publish --tag=n8n-mcp-config

4.设置环境变量

# n8n API connection (required)
N8N_API_BASE_URL=https://your-n8n-instance.com/api/v1
N8N_API_KEY=your_api_key

# n8n webhook base URL (required for TriggerWebhook tool)
N8N_WEBHOOK_BASE_URL=https://your-n8n-instance.com/webhook
N8N_WEBHOOK_USERNAME=your_webhook_username   # optional basic auth
N8N_WEBHOOK_PASSWORD=your_webhook_password   # optional basic auth

# MCP route (optional, defaults shown)
N8N_MCP_ROUTE_PREFIX=mcp/n8n

MCP服务器将在 https://yourapp.com/mcp/n8n.


配置

// config/n8n-mcp.php
return [
    'route_prefix'     => env('N8N_MCP_ROUTE_PREFIX', 'mcp/n8n'),
    'route_middleware' => ['web'],  // add 'auth:sanctum' to restrict access
];

工具参考

54工具 在11个资源组中注册。中每个客户端类上的每个公共方法 kayedspace/laravel-n8n 具有相应的MCP工具。

工作流程(14个工具)

工具 方法 说明
list-n8n-workflows GET 列出带有可选过滤器(活动、名称、标签、项目ID)的工作流
get-n8n-workflow GET 按ID获取完整的工作流定义
search-n8n-workflows-by-webhook GET 查找包含与路径匹配的Webhook节点的工作流
create-n8n-workflow POST 创建新工作流
update-n8n-workflow PUT 替换工作流定义
delete-n8n-workflow DELETE 删除单个工作流
delete-many-n8n-workflows DELETE 按ID数组删除多个工作流
activate-n8n-workflow POST 激活单个工作流
activate-many-n8n-workflows POST 按ID数组激活多个工作流
deactivate-n8n-workflow POST 停用单个工作流
deactivate-many-n8n-workflows POST 按ID数组停用多个工作流
move-n8n-workflow PUT 将工作流转移到其他项目
export-n8n-workflows GET 将工作流定义导出为JSON(备份/迁移)
import-n8n-workflows POST 导入工作流定义(剥离ID,创建新的)

工作流标签(2个工具)

工具 方法 说明
list-n8n-workflow-tags GET 列出特定工作流上的标签
update-n8n-workflow-tags PUT 替换工作流上的完整标记集

执行(4个工具)

工具 方法 说明
list-n8n-executions GET 使用筛选器(状态、工作流ID、项目ID)列出执行情况
get-n8n-execution GET 按ID获取执行详细信息,可选地包括节点数据
wait-for-n8n-execution GET 轮询执行,直到它完成或超时
delete-n8n-executions DELETE 删除一条或多条执行记录

凭证(6个工具)

工具 方法 说明
list-n8n-credentials GET 列出存储的凭据
get-n8n-credential GET 通过ID获取凭据
get-n8n-credential-schema GET 获取凭证类型的JSON模式(例如。 slackApi)
create-n8n-credential POST 创建新凭据
delete-n8n-credential DELETE 删除凭据
move-n8n-credential PUT 将凭据转移到其他项目

用户(5个工具)

工具 方法 说明
list-n8n-users GET 列出所有用户
get-n8n-user GET 通过ID或电子邮件获取用户
create-n8n-user POST 邀请一个或多个用户
change-n8n-user-role PATCH 更改用户的全局角色
delete-n8n-user DELETE 删除用户

项目(7个工具)

工具 方法 说明
list-n8n-projects GET 列出所有项目
create-n8n-project POST 创建新项目
update-n8n-project PUT 重命名项目
delete-n8n-project DELETE 删除项目
add-n8n-project-users POST 将用户添加到具有角色的项目中
change-n8n-project-user-role PATCH 更改用户在项目中的角色
remove-n8n-project-user DELETE 从项目中删除用户

变量(6个工具)

工具 方法 说明
list-n8n-variables GET 列出所有环境变量
create-n8n-variable POST 创建一个变量
create-many-n8n-variables POST 在一次调用中创建多个变量
update-n8n-variable PUT 更新现有变量
delete-n8n-variable DELETE 删除单个变量
delete-many-n8n-variables DELETE 按ID数组删除多个变量

标签(7个工具)

工具 方法 说明
list-n8n-tags GET 列出所有标签
get-n8n-tag GET 按ID获取单个标签
create-n8n-tag POST 创建单个标签
create-many-n8n-tags POST 在一次调用中创建多个标签
update-n8n-tag PUT 重命名标记
delete-n8n-tag DELETE 删除单个标记
delete-many-n8n-tags DELETE 按ID数组删除多个标签

源代码管理(1个工具)

工具 方法 说明
pull-n8n-source-control POST 从连接的Git源代码管理存储库中拉取

安全/审计(1个工具)

工具 方法 说明
generate-n8n-security-audit POST 按类别运行安全审计和返回诊断

Webhook(1个工具)

工具 方法 说明
trigger-n8n-webhook POST 通过其webhook路径(同步或异步)触发n8n工作流

包结构

src/
├── N8nMcpServiceProvider.php       # Auto-discovered, registers the MCP route
├── Server/
│   └── N8nServer.php               # MCP server definition with all 54 tools
└── Tools/
    ├── Workflow/       (14 tools)
    ├── WorkflowTag/    (2 tools)
    ├── Execution/      (4 tools)
    ├── Credential/     (6 tools)
    ├── User/           (5 tools)
    ├── Project/        (7 tools)
    ├── Variable/       (6 tools)
    ├── Tag/            (7 tools)
    ├── SourceControl/  (1 tool)
    ├── Security/       (1 tool)
    └── Webhook/        (1 tool)

config/
└── n8n-mcp.php                     # Route prefix and middleware config

运作原理

每个工具:

  1. 使用Laravel验证其输入参数 Validator
  2. 调用相应的方法 N8nClient 立面从 kayedspace/laravel-n8n
  3. 捕捉 N8nException (以及类似的子类 ExecutionFailedException)并返回 Response::error()
  4. 退货 Response::structured() 成功时

这 kayedspace/laravel-n8n 该包通过您的 .env 设置。


中间件/身份验证

默认情况下,路线使用 web 中间件组。要限制MCP访问:

// config/n8n-mcp.php
'route_middleware' => ['web', 'auth:sanctum'],

许可证

麻省理工学院——见 许可证.