
n8n节点mcp客户端
重要提示: 服务器发送事件(SSE)传输已被弃用,并被新的HTTP流式传输所取代。SSE仍然适用于传统兼容性,但HTTP Streamable现在是所有新实现的推荐方法。
这是一个n8n社区节点,允许您在n8n工作流中与模型上下文协议(MCP)服务器进行交互。
MCP是一种协议,它使AI模型能够以标准化的方式与外部工具和数据源进行交互。此节点允许您连接到MCP服务器、访问资源、执行工具和使用提示。
入门指南
官方快速入门视频:
](https://youtu.be/1t8DQL-jUJk)
社区视频
向以下n8n社区视频的所有创作者致敬,这些视频是学习如何使用此节点的绝佳资源:
- MCP是N8N人工智能代理的未来吗?(完全测试!)
- 使用MCP将N8N AI代理连接到所有设备?
- 构建一个可以使用任何工具的AI代理(n8n教程中的MCP)
- 新款N8N MCP是一款绝对的游戏规则改变者(Brave Search MCP)
- MCP&n8n自动化:MCP AI代理的终极指南(2025)
- 用MCP服务器在N8N上创建代理的革命!!! (葡萄牙语)
如果你有一个很棒的视频想分享,请告诉我,我会把它添加到列表中!
有兴趣深入了解MCP吗?
查看我的YouTube系列 MCP解释 有关模型上下文协议的更多信息。
安全评估
](https://mseep.ai/app/nerding-io-n8n-nodes-mcp)
安装
跟随 安装指南 在n8n社区节点文档中。
还要注意环境变量 在AI代理中使用工具.必须设置 N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE 环境变量 true 如果您想将MCP客户端节点用作AI代理中的工具。
凭证
MCP客户端节点支持三种类型的凭据连接到MCP服务器:
基于命令行的传输(STDIO)
- 命令:启动MCP服务器的命令
- 参数:传递给服务器命令的可选参数
- 环境变量:以NAME=VALUE格式传递给服务器的变量
HTTP流传输(推荐)
- HTTP可流式传输URL:支持流式响应的HTTP端点(例如。,http://localhost:3001/stream)
- 附加标题:随请求一起发送的可选标头(格式:name:value,每行一个)
HTTP Streamable是所有新集成的推荐和现代方法,与SSE相比,它提供了更好的效率和灵活性。
示例:使用具有HTTP流式传输功能的本地MCP服务器
此示例显示了如何使用HTTP Streamable连接到本地运行的MCP服务器:
- 启动支持HTTP Streamable的本地MCP服务器:
npx @modelcontextprotocol/server-example-streamable- 配置MCP客户端凭据:
- 在节点设置中,选择 连接类型: HTTP Streamable - 创建类型为的新凭据 MCP客户端(HTTP可流式传输)API - 集 HTTP可流式传输URL: http://localhost:3001/stream - 添加身份验证所需的任何标头
- 使用MCP客户端节点创建工作流:
- 添加MCP客户端节点 - 将连接类型设置为 HTTP Streamable - 选择您的HTTP流式传输凭据 - 执行工作流以查看结果
服务器发送事件(SSE)传输(已弃用,仍可用于旧版)
- SSE URL:SSE端点的URL(默认值:http://localhost:3001/sse)
- 邮件发布端点:如果与SSE URL不同,则用于发布消息的可选自定义端点
- 附加标题:随请求一起发送的可选标头(格式:name:value,每行一个)
已弃用: SSE已弃用,将不会收到进一步的更新,但仍可用于旧版兼容性。对于新项目,请使用HTTP Streamable。
示例:使用带有SSE的本地MCP服务器(旧版)
此示例显示了如何使用服务器发送事件(SSE)连接到本地运行的MCP服务器:
- 启动支持SSE的本地MCP服务器:
npx @modelcontextprotocol/server-example-sse- 配置MCP客户端凭据:
- 在节点设置中,选择 连接类型: Server-Sent Events (SSE) - 创建类型为的新凭据 MCP客户(SSE)API - 集 SSE URL: http://localhost:3001/sse - 添加身份验证所需的任何标头
- 使用MCP客户端节点创建工作流:
- 添加MCP客户端节点 - 将连接类型设置为 Server-Sent Events (SSE) - 选择您的SSE凭据 - 执行工作流以查看结果
注: 对于新项目,强烈建议使用HTTP Streamable。
环境变量
MCP客户端节点支持使用基于命令行的传输以两种方式将环境变量传递给MCP服务器:
1.使用凭据UI
您可以直接在凭据配置中添加环境变量:
Environment Variables in Credentials
此方法可用于单独设置和测试。这些值作为凭据安全地存储在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服务器:
- 安装Brave Search MCP服务器:
npm install -g @modelcontextprotocol/server-brave-search- 配置MCP客户端凭据:
- 命令: npx - 参数: -y @modelcontextprotocol/server-brave-search - 环境变量: BRAVE_API_KEY=your-api-key 添加变量(空格逗号或换行符分隔)
- 创建使用MCP客户端节点的工作流:
- 添加MCP客户端节点 - 选择“列出工具”操作以查看可用的搜索工具 - 添加另一个MCP客户端节点 - 选择“执行工具”操作 - 选择“勇敢搜索”工具 - 将参数设置为: {"query": "latest AI news"}
节点将执行搜索并在输出中返回结果。
示例:使用AI代理的多服务器设置
此示例演示了如何在生产环境中设置多个MCP服务器,并将其与AI代理一起使用:
- 配置您的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- 在n8n中创建多个MCP客户端凭据:
Brave搜索凭据:
- 命令: npx - 论据: -y @modelcontextprotocol/server-brave-search
OpenAI工具凭据:
- 命令: npx - 论据: -y @modelcontextprotocol/server-openai
Web搜索凭据:
- 命令: npx - 论据: -y @modelcontextprotocol/server-serper
天气API证书:
- 命令: npx - 论据: -y @modelcontextprotocol/server-weather
- 创建AI代理工作流:
- 添加AI Agent节点 - 启用MCP客户端作为工具 - 使用不同的凭据配置不同的MCP客户端节点 - 创建使用多个数据源的提示
AI代理提示示例:
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代理可以在不同的服务器上使用多个MCP工具,所有这些工具都使用在Docker部署中配置的环境变量。
运营
MCP客户端节点支持以下操作:
- 执行工具 -使用参数执行特定工具
- 获取提示 -获取特定的提示模板
- 列表提示 -获取可用提示列表
- 列出资源 -从MCP服务器获取可用资源列表
- 列出工具 -获取可用工具列表
- 读取资源 -按URI读取特定资源
示例:列表工具操作
List Tools操作返回MCP服务器上的所有可用工具,包括它们的名称、描述和参数模式。
示例:执行工具操作
执行工具操作允许您使用参数执行特定工具。确保从下拉菜单中选择要执行的工具。
用作工具
此节点可以用作n8n AI代理中的工具。要将社区节点作为工具启用,您需要设置 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如果您正在使用桌面应用程序: 创建一个 .env n8n目录中的文件:
N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true如果你想在Mac/Linux上永久设置它: 添加到您的 ~/.zshrc 或 ~/.bash_profile:
export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=trueAI Agent工作流结果示例:
设置此环境变量并重新启动n8n后,您的MCP客户端节点将作为AI代理节点中的工具可用。
兼容性
- 需要n8n 1.0.0或更高版本
- 与MCP协议版本1.0.0或更高版本兼容
- 支持STDIO和SSE传输以连接到MCP服务器
- SSE传输需要实现MCP服务器发送事件规范的服务器
