Laravel n8n MCP服务器
一个Laravel包,它公开了完整的 n8n REST API和webhook功能 模型上下文协议(MCP) 工具——使每个n8n动作都可供AI代理和编码助手使用。
______________________________________________________________________
需求
- PHP 8.2+
- Laravel 11或12
laravel/mcp>= 0.1.0kayedspace/laravel-n8n^1.1
______________________________________________________________________
安装
1.要求包装
composer require rajurayhan/laravel-n8n-mcp-server这也会安装 kayedspace/laravel-n8n 自动作为依赖。Laravel会自动发现服务提供者,无需手动注册。
2.发布配置
php artisan vendor:publish --tag=n8n-mcp-config4.设置环境变量
# 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/n8nMCP服务器将在 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______________________________________________________________________
运作原理
每个工具:
- 使用Laravel验证其输入参数
Validator - 调用相应的方法
N8nClient立面从kayedspace/laravel-n8n - 捕捉
N8nException(以及类似的子类ExecutionFailedException)并返回Response::error() - 退货
Response::structured()成功时
这 kayedspace/laravel-n8n 该包通过您的 .env 设置。
______________________________________________________________________
中间件/身份验证
默认情况下,路线使用 web 中间件组。要限制MCP访问:
// config/n8n-mcp.php
'route_middleware' => ['web', 'auth:sanctum'],______________________________________________________________________
许可证
麻省理工学院——见 许可证.
