Skip to content

访问 n8n MCP 服务器#

通过 n8n 内置的 MCP 服务器将支持的 MCP 客户端连接到你的 n8n 工作流。

该服务器允许 Lovable 或 Claude Desktop 等客户端安全地连接到 n8n 实例。连接后,这些客户端可以:

  • 在标记为 MCP 可用的工作流中搜索
  • 检索工作流的 metadata 和触发器信息
  • 触发并运行暴露的工作流

实例级 MCP 访问与 MCP Server Trigger 节点的区别#

实例级 MCP 访问允许您为每个 n8n 实例创建一个连接,使用集中式身份验证,并选择要启用访问的工作流。启用的工作流易于查找和运行,无需为每个工作流进行额外设置。

相比之下,您在单个工作流内配置 MCP Server Trigger 节点。该节点仅暴露来自该工作流的工具,当您想在一个工作流中制定特定的 MCP 服务器行为时,这是一种有用的方法。

使用实例级 MCP 访问的关键注意事项#

  • 这不是从 AI 客户端构建或编辑工作流的方式;创作仍在 n8n 中进行。
  • 它不会无条件地暴露实例中的所有工作流。您必须在实例级别启用 MCP,然后单独启用每个工作流。
  • 它不是针对每个 MCP 客户端限定范围的。任何连接的客户端都能看到您为 MCP 访问启用的所有工作流。

Enabling MCP access 启用 MCP 访问#

For Cloud and self-hosted instances 云版本和自托管实例#

  1. 前往 Settings 设置 > Instance-level MCP 实例级 MCP
  2. 切换 Enable MCP access 启用 MCP 访问(需要实例所有者或 Admin 权限)。

enable-mcp-access.png

启用后,你将看到:

  1. 对 MCP 客户端公开的工作流列表
  2. 已连接的 OAuth 客户端列表
  3. 用于启用/禁用实例级访问的主 MCP 开关
  4. 显示 MCP 客户端连接说明的 Connect 连接 按钮

mcp_page_content.png

禁用方式: 关闭主 MCP 开关。

For self-hosted: Complete disablement 自托管:完全禁用#

要完全移除该功能,请设置环境变量:

N8N_DISABLED_MODULES=mcp

此操作会删除 MCP 端点并隐藏所有相关的 UI 元素。

Setting up MCP authentication 设置 MCP 身份验证#

Connect 连接 弹窗为 MCP 客户端提供两种认证方式:

  • OAuth2
  • Access Token

mcp_connect_menu.png

Using OAuth2 使用 OAuth2#

OAuth 标签页复制您的实例服务器 URL,并使用它配置您的 MCP 客户端。 连接后,客户端将重定向您到 n8n 以授权访问。

Revoking client access 撤销客户端访问#

要撤销已连接 MCP 客户端的访问:

  1. 前往 Settings 设置 > Instance-level MCP 实例级 MCP
  2. 切换到 Connected clients 已连接客户端 标签页。 你应该会看到已连接 OAuth 客户端的列表。
  3. 在每个客户端所在行使用操作菜单撤销访问权限。

mcp_revoke_client_access.png

Using Access Token 使用访问令牌#

Connect 连接 菜单的 Access Token 访问令牌 标签页获取你的个人 MCP 访问令牌,并使用实例服务器 URL 配置客户端。

当你首次访问 MCP Access MCP 访问 页面时,n8n 会自动生成一个绑定到你用户账户的个人 MCP 访问令牌。

Info

立即复制你的令牌。在以后的访问中,你只会看到脱敏值,复制按钮将被禁用。

Rotating your token 轮换令牌#

如果您丢失了令牌或需要轮换它:

  1. 前往 Settings 设置 > Instance-level MCP 实例级 MCP
  2. 点击右上角的 Connect 连接 按钮打开 Connect 连接 菜单。
  3. 切换到 Access Token 访问令牌 标签页。
  4. 使用脱敏令牌值旁的按钮生成新令牌。

    当您生成新令牌时,n8n 会撤销之前的令牌。

  5. 使用新值更新所有已连接的 MCP 客户端。

mcp_rotate_token.png

Exposing workflows to MCP clients 对 MCP 客户端公开工作流#

Workflow eligibility 工作流资格#

为了让工作流对 MCP 客户端可用,它必须满足以下条件:

  1. 已发布
  2. 包含以下触发器节点之一:
    • Webhook
    • Schedule
    • Chat
    • Form

默认情况下,MCP 客户端无法看到任何工作流。你必须为每个符合条件的工作流显式启用访问。

在评估工作流是否符合条件时,n8n 只会考虑已发布的版本。包含受支持触发器的草稿版本在发布前不会被视为符合条件。

Info

一旦您取消发布工作流,n8n 就会移除其 MCP 访问。当您再次发布工作流时,必须重新启用访问。

Enabling access 启用访问#

Option 1: From the workflow editor 选项 1:从工作流编辑器#

  1. 打开工作流。
  2. 进入 Settings 设置
  3. 切换 Available in MCP 在 MCP 中可用

Option 2: From the workflows list 选项 2:从工作流列表#

  1. 进入 Workflows 工作流
  2. 在工作流卡片上打开菜单。
  3. 选择 Enable MCP access 启用 MCP 访问

Managing access 管理访问#

Instance-level MCP 实例级 MCP 设置页面会显示所有对 MCP 客户端可用的工作流。你可以在该列表中:

  • 直接打开工作流、其所属项目或父文件夹
  • 使用操作菜单撤销访问(或在工作流卡片菜单中选择 Disable MCP access 禁用 MCP 访问
  • 使用操作菜单更新工作流描述(或在工作流编辑器中使用菜单)

Workflow descriptions 工作流描述#

为了帮助 MCP 客户端识别工作流,您可以按如下方式添加自由文本描述:

  1. Option 1: From the Instance-level MCP page 选项 1:从 Instance-level MCP 实例级 MCP 页面

    1. 前往 Settings 设置 > Instance-level MCP 实例级 MCP
    2. 确认你位于 Workflows 工作流 标签页。
    3. 在目标工作流所在行使用操作菜单,选择 Edit description 编辑描述 操作。
  2. Option 2: From the workflow editor 选项 2:从工作流编辑器

    1. 打开工作流。
    2. 点击右上角的工作流主菜单(...)。
    3. 选择 Edit description 编辑描述

    mcp_workflow_description.png

Executing workflows through MCP clients 通过 MCP 客户端执行工作流#

MCP 客户端可以根据您的请求执行符合条件的工作流。当客户端触发工作流时,它会像往常一样在 n8n 中运行,您可以在 Executions 执行列表中监视其执行情况。执行完成后,MCP 客户端将检索结果。

Providing input data 提供输入数据#

MCP 客户端通常能够判断工作流需要哪些输入。如果你使用了 Webhook 触发器,并且发现客户端难以确定正确的输入,我们建议你在工作流描述中提供这些信息。

Workflow timeouts 工作流超时#

n8n 对 MCP 客户端触发的工作流执行强制执行 5 分钟超时。如果工作流未能及时完成,n8n 会停止执行并向 MCP 客户端发送错误,忽略您在工作流设置中为 MCP 触发的执行设置的任何超时。

Limitations 限制#

  • 如果工作流中有多个支持的触发器,MCP 客户端可能只能使用其中一个(第一个)来触发工作流。
  • 不支持执行具有多步骤表单或任何类型的人工介入交互的工作流。
  • 不支持二进制输入数据。MCP 客户端只能为您的工作流提供基于文本的输入。

Examples 示例#

Connecting Lovable to n8n MCP server 连接 Lovable 到 n8n MCP 服务器#

  1. 在 Lovable 中配置 MCP 服务器(OAuth)。
    • 前往你的工作区 Settings 设置 > Integrations 集成
    • MCP Servers MCP 服务器 部分,找到 n8n 并点击 Connect 连接
    • 输入你的 n8n 服务器 URL(显示在 MCP Access MCP 访问 页面)。
    • 保存连接。如果成功,n8n 会重定向你以授权 Lovable。
  2. 验证连接。
    • 连接后,Lovable 可以查询启用了 MCP 访问的工作流。
    • 示例: 要求 Lovable 构建一个列出用户并允许删除它们的工作流 UI。

Connecting Claude Desktop to n8n MCP server 连接 Claude Desktop 到 n8n MCP 服务器#

Using OAuth2 使用 OAuth2#
  1. 在 Claude Desktop 中前往 Settings 设置 > Connectors 连接器
  2. 点击 Add custom connector 添加自定义连接器
  3. 输入以下内容:
    • Name 名称: n8n MCP
    • Remote MCP Server URL 远程 MCP 服务器 URL: 你的 n8n 基础 URL(显示在 Instance-level MCP 实例级 MCP 页面)
  4. 保存连接器。
  5. 出现提示时,授权 Claude Desktop 访问你的 n8n 实例。
Using Access Token 使用访问令牌#

Info

这需要最新版本的 Node.js

将以下条目添加到您的 claude_desktop_config.json 文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--streamableHttp",
        "https://<your-n8n-domain>/mcp-server/http",
        "--header",
        "authorization:Bearer <YOUR_N8N_MCP_TOKEN>"
      ]
    }
  }
}

在此处替换:

  • <your-n8n-domain>:你的 n8n 基础 URL(显示在 Instance-level MCP 实例级 MCP 页面)
  • <YOUR_N8N_MCP_TOKEN>:你生成的令牌

Connecting Claude Code to n8n MCP server 连接 Claude Code 到 n8n MCP 服务器#

使用以下 CLI 命令:

1
2
claude mcp add --transport http n8n-mcp https://<your-n8n-domain>/mcp-server/http \
  --header "Authorization: Bearer <YOUR_N8N_MCP_TOKEN>"

或者,将以下条目添加到您的 claude.json 文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
    "mcpServers": {
        "n8n-local": {
            "type": "http",
            "url": "https://<your-n8n-domain>/mcp-server/http",
            "headers": {
                "Authorization": "Bearer <YOUR_N8N_MCP_TOKEN>"
            }
        }
    }
}

在此处替换:

  • <your-n8n-domain>:你的 n8n 基础 URL(显示在 Instance-level MCP 实例级 MCP 页面)
  • <YOUR_N8N_MCP_TOKEN>:你生成的令牌

Connecting Codex CLI to n8n MCP server 连接 Codex CLI 到 n8n MCP 服务器#

将以下条目添加到您的 ~/.codex/config.toml 文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[mcp_servers.n8n_mcp]
command = "npx"
args = [
    "-y",
    "supergateway",
    "--streamableHttp",
    "https://<your-n8n-domain>/mcp-server/http",
    "--header",
    "authorization:Bearer <YOUR_N8N_MCP_TOKEN>"
]

在此处替换:

  • <your-n8n-domain>:你的 n8n 基础 URL(显示在 Instance-level MCP 实例级 MCP 页面)
  • <YOUR_N8N_MCP_TOKEN>:你生成的令牌

Troubleshooting 故障排除#

将 Google ADK agent 连接到 n8n MCP 服务器#

以下是创建一个 agent 并连接到远程 n8n MCP 服务器的示例代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams

N8N_INSTANCE_URL = "https://localhost:5678"
N8N_MCP_TOKEN = "YOUR_N8N_MCP_TOKEN"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="n8n_agent",
    instruction="Help users manage and execute workflows in n8n",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPServerParams(
                url=f"{N8N_INSTANCE_URL}/mcp-server/http",
                headers={
                    "Authorization": f"Bearer {N8N_MCP_TOKEN}",
                },
            ),
        )
    ],
)

更多详情请参阅:Connect ADK agent to n8n

Troubleshooting 故障排除#

如果连接 MCP 客户端到 n8n 实例时遇到问题,请考虑以下事项:

  • 如果你使用的是基于云的 MCP 客户端,请确保你的 n8n 实例可以公开访问。
  • 验证 n8n 设置中是否启用了 MCP 访问。
  • 检查你要访问的工作流是否标记为在 MCP 中可用。
  • 确认你的 MCP 客户端中正确配置了认证方法(OAuth2 或 Access Token)。
  • 查看 n8n 服务器日志中是否有与 MCP 连接相关的错误消息。
  • 如果你使用的是桌面 MCP 客户端,请确保已安装最新版本的 Node.js