mcpField
N
n8n-nodes-mcp-client

n8n-nodes-mcp-client

github.com/nerding-io框架与 SDK3.0k43 周前更新

关于 n8n-nodes-mcp-client

n8n-nodes-mcp-client 是 n8n 社区节点,让用户在 n8n 工作流中连接 MCP 服务,访问资源、执行工具并使用提示词。它也可作为工具接入 n8n 的 AI Agent。

主要功能

  1. 01支持 STDIO、HTTP Streamable 和 SSE 传输
  2. 02可列出并执行 MCP 服务的工具
  3. 03可列出、读取资源
  4. 04可列出并获取提示词
  5. 05可作为工具用于 n8n AI Agent
  6. 06支持通过 MCP_ 前缀传递环境变量

适用场景

  1. 01在 n8n 工作流中调用 Brave Search 等 MCP 工具
  2. 02让 AI Agent 同时使用多个 MCP 服务
  3. 03通过 Docker 部署并向 MCP 服务注入密钥

MCP 相关

该节点是 MCP 客户端,通过命令行(STDIO)、HTTP Streamable 或已弃用的 SSE 连接 MCP 服务,并支持工具、资源和提示词相关操作。

详细介绍

Verified on MseeP

n8n-nodes-mcp-client

重要说明: 服务器发送事件(SSE)传输方式已被弃用,由新的 HTTP Streamable 传输方式取代。SSE 仍可用于兼容旧版本,但 HTTP Streamable 现为所有新实现的推荐方式。

这是一个 n8n 社区节点,可让你在 n8n 工作流中与 Model Context Protocol(MCP)服务进行交互。

MCP 是一种协议,使 AI 模型能够以标准化的方式与外部工具和数据源交互。该节点可用于连接 MCP 服务、访问资源、执行工具以及使用提示词。

n8n 是一个采用 fair-code 许可的工作流自动化平台。

安装 凭据 环境变量 操作 作为工具使用 兼容性 资源

快速开始

官方快速入门视频:

MCP Client Node Quickstart

社区视频

感谢以下 n8n 社区视频的所有创作者,这些视频是学习如何使用该节点的优质资源:

如果你有想要分享的优质视频,请告诉我,我会将其添加到列表中!

想深入了解 MCP?

欢迎查看我的 YouTube 系列 MCP Explained,了解更多关于 Model Context Protocol 的内容。

安全评估

MseeP.ai Security Assessment Badge

安装

请按照 n8n 社区节点文档中的安装指南操作。

另请留意在 AI Agent 中使用工具所需的环境变量。如果你想在 AI Agent 中将 MCP Client 节点作为工具使用,必须将环境变量 N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE 设置为 true。

凭据

MCP Client 节点支持三种类型的凭据来连接 MCP 服务:

基于命令行的传输方式(STDIO)

MCP Client STDIO Credentials

  • Command:用于启动 MCP 服务的命令
  • Arguments:传递给服务命令的可选参数
  • Environment Variables:以 NAME=VALUE 格式传递给服务的变量
HTTP Streamable 传输方式(推荐)
  • HTTP Streamable URL:支持流式响应的 HTTP 端点(例如:http://localhost:3001/stream)
  • Additional Headers:随请求发送的可选请求头(格式:name:value,每行一个)

HTTP Streamable 是所有新集成的推荐现代方式,与 SSE 相比,效率更高、灵活性更好。

示例:通过 HTTP Streamable 使用本地 MCP 服务

此示例演示如何通过 HTTP Streamable 连接到本地运行的 MCP 服务:

  1. 启动支持 HTTP Streamable 的本地 MCP 服务:

    npx @modelcontextprotocol/server-example-streamable
    
  2. 配置 MCP Client 凭据:

    • 在节点设置中,选择 Connection Type:HTTP Streamable
    • 创建 MCP Client (HTTP Streamable) API 类型的新凭据
    • 设置 HTTP Streamable URL:http://localhost:3001/stream
    • 添加认证所需的请求头
  3. 使用 MCP Client 节点创建工作流:

    • 添加一个 MCP Client 节点
    • 将 Connection Type 设置为 HTTP Streamable
    • 选择你的 HTTP Streamable 凭据
    • 执行工作流以查看结果
Server-Sent Events (SSE) 传输(已弃用,仍可用于旧版场景)
  • SSE URL:SSE 端点的 URL(默认:http://localhost:3001/sse)
  • Messages Post Endpoint:可选的自定义消息发布端点,当其与 SSE URL 不同时使用
  • Additional Headers:随请求发送的可选请求头(格式:name:value,每行一个)

已弃用: SSE 已弃用,不会再获得更新,但仍可用于旧版兼容。新项目请使用 HTTP Streamable。

示例:通过 SSE(旧版)使用本地 MCP 服务

此示例演示如何通过 Server-Sent Events (SSE) 连接到本地运行的 MCP 服务:

  1. 启动支持 SSE 的本地 MCP 服务:

    npx @modelcontextprotocol/server-example-sse
    
  2. 配置 MCP Client 凭据:

    • 在节点设置中,选择 Connection Type:Server-Sent Events (SSE)
    • 创建 MCP Client (SSE) API 类型的新凭据
    • 设置 SSE URL:http://localhost:3001/sse
    • 添加认证所需的请求头
  3. 使用 MCP Client 节点创建工作流:

    • 添加一个 MCP Client 节点
    • 将 Connection Type 设置为 Server-Sent Events (SSE)
    • 选择你的 SSE 凭据
    • 执行工作流以查看结果

注意: 新项目强烈推荐使用 HTTP Streamable。

环境变量

MCP Client 节点支持通过两种方式,向使用命令行传输的 MCP 服务传递环境变量:

1. 使用凭据界面

你可以直接在凭据配置中添加环境变量:

凭据中的环境变量

此方法适用于个人配置和测试。这些值会作为凭据安全存储在 n8n 中。

2. 使用 Docker 环境变量

对于 Docker 部署,你可以为环境变量添加 MCP_ 前缀,将其直接传递给 MCP 服务:

version: '3'

services:
  n8n:
    image: n8nio/n8n
    environment:
      - MCP_BRAVE_API_KEY=your-api-key-here
      - MCP_OPENAI_API_KEY=your-openai-key-here
      - MCP_CUSTOM_SETTING=some-value
    # other configuration...

这些环境变量会在 MCP 服务执行时自动传递给它们。

示例:使用 Brave Search MCP 服务

此示例演示如何设置并使用 Brave Search MCP 服务:

  1. 安装 Brave Search MCP 服务:

    npm install -g @modelcontextprotocol/server-brave-search
    
  2. 配置 MCP Client 凭据:

    • Command:npx
    • Arguments:-y @modelcontextprotocol/server-brave-search
    • Environment Variables:BRAVE_API_KEY=your-api-key 添加变量(以空格、逗号或换行分隔)
  3. 创建使用 MCP Client 节点的工作流:

    • 添加一个 MCP Client 节点
    • 选择“List Tools”操作以查看可用的搜索工具
    • 再添加一个 MCP Client 节点
    • 选择“Execute Tool”操作
    • 选择“brave_search”工具
    • 将 Parameters 设置为:{"query": "latest AI news"}

Brave Search 示例

节点将执行搜索并在输出中返回结果。

示例:搭配 AI Agent 的多 MCP 服务配置

此示例演示如何在生产环境中配置多个 MCP 服务,并将它们与 AI Agent 配合使用:

  1. 配置 docker-compose.yml 文件:
version: '3'

services:
  n8n:
    image: n8nio/n8n
    environment:
      # MCP server environment variables
      - MCP_BRAVE_API_KEY=your-brave-api-key
      - MCP_OPENAI_API_KEY=your-openai-key
      - MCP_SERPER_API_KEY=your-serper-key
      - MCP_WEATHER_API_KEY=your-weather-api-key

      # Enable community nodes as tools
      - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
    ports:
      - "5678:5678"
    volumes:
      - ~/.n8n:/home/node/.n8n
  1. 在 n8n 中创建多个 MCP Client 凭据:

    Brave Search 凭据:

    • Command: npx
    • Arguments: -y @modelcontextprotocol/server-brave-search

    OpenAI Tools 凭据:

    • Command: npx
    • Arguments: -y @modelcontextprotocol/server-openai

    Web Search 凭据:

    • Command: npx
    • Arguments: -y @modelcontextprotocol/server-serper

    Weather API 凭据:

    • Command: npx
    • Arguments: -y @modelcontextprotocol/server-weather
  2. 创建 AI Agent 工作流:

    • 添加 AI Agent 节点
    • 将 MCP Client 启用为工具
    • 使用不同的凭据配置多个 MCP Client 节点
    • 创建使用多个数据源的提示词

多服务配置

AI Agent 提示词示例:

I need you to help me plan a trip. First, search for popular destinations in {destination_country}.
Then, check the current weather in the top 3 cities.
Finally, find some recent news about travel restrictions for these places.

通过此配置,AI Agent 可以跨不同服务使用多个 MCP 工具,且这些工具均使用在 Docker 部署中配置的环境变量。

操作

MCP Client 节点支持以下操作:

MCP Client 操作

  • Execute Tool - 使用参数执行指定工具
  • Get Prompt - 获取指定的提示词模板
  • List Prompts - 获取可用提示词列表
  • List Resources - 从 MCP 服务获取可用资源列表
  • List Tools - 获取可用工具列表
  • Read Resource - 通过 URI 读取指定资源
示例:List Tools 操作

List Tools 示例

List Tools 操作会返回 MCP 服务提供的所有可用工具,包括其名称、描述和参数模式。

示例:Execute Tool 操作

Execute Tool 示例

Execute Tool 操作允许你使用参数执行指定工具。请务必从下拉菜单中选择要执行的工具。

作为工具使用

此节点可作为工具用于 n8n AI Agent。若要将社区节点启用为工具,需要将环境变量 N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE 设置为 true。

设置环境变量

如果你使用 bash/zsh shell:

export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
n8n start

如果你使用 Docker: 将以下内容添加到 docker-compose.yml 文件:

environment:
  - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

如果你使用桌面应用: 在 n8n 目录中创建 .env 文件:

N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

如果你想在 Mac/Linux 上永久设置: 将以下内容添加到 ~/.zshrc 或 ~/.bash_profile:

export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

AI Agent 工作流结果示例:

AI Agent 示例

设置该环境变量并重启 n8n 后,MCP Client 节点即可在 AI Agent 节点中作为工具使用。

兼容性

  • 需要 n8n 1.0.0 或更高版本
  • 兼容 MCP Protocol 1.0.0 或更高版本
  • 支持 STDIO 和 SSE 两种传输方式连接 MCP 服务
  • SSE 传输需要服务端实现 MCP Server-Sent Events 规范

资源

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。