Skip to content

设置和使用 n8n MCP 服务器#

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

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

  • 搜索你的工作流
  • 与标记为 MCP 可用的工作流交互
  • 触发并测试已暴露的工作流
  • 创建和编辑工作流及数据表

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

实例级 MCP 访问允许你为每个 n8n 实例创建一个连接、使用集中式认证,并选择要启用访问的工作流。已启用的工作流无需逐个单独配置即可被发现和运行。

相比之下,MCP Server Trigger 节点是在单个工作流内部配置的。该节点只会暴露该工作流中的工具,适用于你希望在一个工作流中构建特定 MCP 服务器行为的场景。

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

  • MCP 支持两类工作流交互:使用工作流执行工具运行现有工作流,以及构建或编辑工作流(v2.13 起)。
  • 它不会把实例中的所有工作流一股脑暴露出去。你必须先在实例级启用 MCP,再逐个为每个工作流启用访问。唯一的例外是 search_workflows 工具,它可以访问当前用户有权访问的所有工作流,但只能返回预览,不能返回完整工作流数据。
  • 它不会按单个 MCP 客户端进行隔离。任何已连接的客户端都能看到你已启用 MCP 访问的所有工作流。
  • 大多数 MCP 工具都可以作用于未发布的工作流。例外是 execute_workflow,它默认使用 production 模式并运行工作流的已发布版本。它也支持 manual 执行模式,用于运行当前的未发布版本。

启用 MCP 访问#

适用于云端与自托管实例#

  1. 进入 Settings 设置 > Instance-level MCP 实例级 MCP
  2. 打开 Enable MCP access 启用 MCP 访问 开关(需要实例所有者或管理员权限)。

启用 MCP 访问

启用后,你会看到:

  1. 暴露给 MCP 客户端的工作流列表
  2. 已连接的 OAuth 客户端列表
  3. 用于启用或禁用实例级访问的主 MCP 开关
  4. Connection details 连接详情 按钮,用于显示连接 MCP 客户端的详细说明

MCP 页面内容

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

仅自托管:完全禁用#

要彻底移除此功能,请设置环境变量:

N8N_DISABLED_MODULES=mcp

这样会移除 MCP 端点,并隐藏所有相关 UI 元素。

设置 MCP 身份验证#

Connection details 连接详情 弹出菜单为 MCP 客户端提供两种身份验证方式:

  • OAuth2
  • Access Token 访问令牌

MCP 连接菜单

使用 OAuth2#

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

撤销客户端访问权限#

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

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

撤销客户端访问权限

使用 Access Token#

使用实例服务器 URL,以及 Connection details 连接详情 菜单中 Access Token 访问令牌 标签页里的个人 MCP Access Token。

首次访问 MCP Access MCP 访问 页面时,n8n 会自动生成一个与你账户绑定的个人 MCP Access Token。

Info

请立即复制你的 token。之后再次访问时,你只会看到脱敏后的值,且复制按钮会被禁用。

轮换 token#

如果你丢失了 token,或需要轮换它:

  1. 进入 Settings 设置 > Instance-level MCP 实例级 MCP
  2. 点击右上角按钮,打开 Connection details 连接详情 菜单。
  3. 切换到 Access Token 访问令牌 标签页。
  4. 点击脱敏 token 值旁的按钮以生成新的 token。

    n8n 会在你生成新 token 时撤销旧 token。

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

轮换 token

默认情况下,MCP 客户端看不到任何工作流。你必须显式为每个要暴露的工作流启用 MCP 访问。

启用访问#

选项 1:从 MCP 设置页面启用(自 n8n v2.2.0 起可用)#

  1. 点击 Enable workflows 启用工作流 按钮(位于工作流表头或空状态区域)。
  2. 按名称或描述搜索目标工作流,并从列表中选择。
  3. 点击 Enable 启用 按钮确认。

选项 2:从工作流编辑器启用#

  1. 打开工作流。
  2. 点击右上角主工作流菜单(...)。
  3. 选择 Settings 设置
  4. 打开 Available in MCP MCP 可用 开关。

选项 3:从工作流列表启用#

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

管理访问#

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

  • 直接打开工作流、所属项目或父文件夹
  • 使用操作菜单撤销访问(或在工作流卡片菜单中使用 Disable MCP access 禁用 MCP 访问
  • 使用操作菜单更新工作流描述(或在工作流编辑器中使用菜单)
  • 使用 Enable workflows 启用工作流 按钮为更多工作流启用访问(自 n8n v2.2.0 起可用)

工作流描述#

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

  1. 选项 1:在 Instance-level MCP 实例级 MCP 页面

    1. 进入 Settings 设置 > Instance-level MCP 实例级 MCP
    2. 确认你位于 Workflows 工作流 标签页。
    3. 使用目标工作流所在行的操作菜单,选择 Edit description 编辑描述
    4. 或者直接点击描述文本,打开编辑对话框。
  2. 选项 2:在工作流编辑器中

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

工具和资源#

Tip

建议使用编码代理(如 Claude Code 或 Google ADK agent)作为 MCP 客户端,而不是普通聊天客户端。编码代理更擅长生成和验证 TypeScript 代码,因此非常适合以编程方式构建工作流。

n8n MCP 服务器暴露了用于工作流管理、工作流构建和数据表的工具。有关所有可用工具及其参数的完整列表,请参阅 MCP 服务器工具参考

示例#

将 Lovable 连接到 n8n MCP 服务器#

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

将 Claude Desktop 连接到 n8n MCP 服务器#

使用 OAuth2#
  1. 在 Claude Desktop 中进入 Settings > Connectors
  2. 点击 Add custom connector
  3. 输入以下信息:
    • Name: n8n MCP
    • Remote MCP Server URL:你的 n8n 基础 URL(显示在 Instance-level MCP 页面)
  4. 保存连接。
  5. 在提示时授权 Claude Desktop 访问你的 n8n 实例。
使用 Access Token#

将以下配置项添加到你的 claude_desktop_config.json 文件中:

1
2
3
4
5
6
7
8
9
"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 页面)
  • <YOUR_N8N_MCP_TOKEN>:你生成的 token

将 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 页面)
  • <YOUR_N8N_MCP_TOKEN>:你生成的 token

将 Codex CLI 连接到 n8n MCP 服务器#

将以下内容添加到你的 ~/.codex/config.toml 文件中:

1
2
3
[mcp_servers.n8n_mcp]
url = "https://<your-n8n-domain>/mcp-server/http"
http_headers = { "authorization" = "Bearer <YOUR_N8N_MCP_TOKEN>" }

请在其中替换:

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

将 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

故障排查#

如果你在将 MCP 客户端连接到 n8n 实例时遇到问题,请参考以下建议:

  • 如果你使用的是基于云的 MCP 客户端,请确认 n8n 实例可以从公网访问。
  • 确认已在 n8n 设置中启用 MCP 访问。
  • 检查你要访问的工作流是否已标记为 MCP 可用。
  • 确认你在 MCP 客户端中正确配置了身份验证方式(OAuth2 或 Access Token)。
  • 查看 n8n 服务器日志中是否有与 MCP 连接相关的错误消息。