关于 MCP Server + n8n
MCP Server + n8n 将 n8n 与一个小型 Python MCP 服务组合,用于教学和实验。项目通过 Docker 运行,用户可在 n8n 中将 AI Agent 连接到 ping、echo 等工具。
主要功能
- 01通过 Docker Compose 部署 n8n 和 MCP
- 02使用 n8n 可视化配置工作流
- 03Python 服务提供 ping 和 echo 工具
- 04持久化保存 n8n 与服务端目录
- 05可修改 MCP 服务代码
适用场景
- 01在 n8n 工作流中试验 MCP 工具
- 02测试 AI Agent 与服务的连接
- 03修改 Python 服务以添加功能
MCP 相关
Python MCP 服务通过 SSE 端点提供 ping 和 echo 工具。n8n 通过 MCP Client Tool 节点连接该服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务 + n8n
目录
关于项目
此应用将自动化工具 n8n 与 MCP 服务协议相结合,打造一个实验环境。该解决方案使用 Docker 简化安装和配置,让你可以通过 n8n 的可视化界面轻松测试 MCP 服务的功能。
主要组件:
- n8n:具有可视化界面的自动化平台
- MCP 服务:为 AI Agent 提供工具的服务
此项目用于教育和实验目的。
前提条件
要使用此应用,你需要安装:
- Docker 和 Docker Compose
- Windows:Docker Desktop 和 Git
- Linux:doker.io、docker-compose 和 docker-buildx
安装
在 Windows 上
- 下载并解压此仓库的 ZIP 文件,或使用 Git 克隆:
git clone https://github.com/curseai/mcp-server-n8n.git - 打开命令提示符或 PowerShell,并切换到项目文件夹:
cd mcp-server-n8n - 启动 Docker 容器:
docker-compose up -d - 若要停止 Docker 容器:
docker-compose down
注意 - 如果在 Windows 上安装 Docker Desktop 时遇到困难,请使用带有 Linux 发行版的 WSL。
在 Linux 上
- 下载或克隆仓库:
git clone https://github.com/curseai/mcp-server-n8n.git - 切换到项目文件夹:
cd mcp-server-n8n - 启动 Docker 容器
docker-compose up -d - 若要停止 Docker 容器:
docker-compose down
注意: 关闭应用后,容器会被移除。不过,数据会保留在持久化目录中:
mcp_server,其中包含用于运行 MCP 服务的 Python 文件;以及目录n8n_data,其中包含 n8n 应用的数据。因此,如果你想再次启动应用,容器将使用上次运行时存储的数据重新创建。
安装完成后,你会看到一条提示容器已启动的消息。 应用可通过以下地址访问:http://localhost:5678
n8n 配置
首次访问 n8n
-
打开浏览器并访问 http://localhost:5678
-
你会看到 n8n 的欢迎页面,其中包含账户创建表单。
-
填写注册表单:
- Email:输入你的邮箱
- Name:你的姓名
- Password:设置一个安全的密码
- Confirm password:再次输入密码
-
点击“Next”创建账户。
- 下一个表单只是一个调查问卷,点击“Get Started”即可跳过
- 下一个页面会提供获取许可证密钥的选项。如果不想获取,只需点击“skip”
- 注册后,你会被重定向到 n8n 首页
创建包含 AI Agent 的工作流
创建新工作流
- 在 n8n 首页,点击右上角的“Create Workflow”按钮
- 你会进入工作流编辑器,在这里可以看到一个带网格的空白画布
- 点击左上角的“My workflow”为工作流命名,例如“Teste MCP Server”。
添加 AI Agent
- 点击“Add first step”开始构建工作流。
- 在左侧面板中,你会看到搜索栏“Search nodes...”
- 在搜索栏中输入“AI Agent”
- 在搜索结果中找到“AI Agent”节点
- 点击并将“AI Agent”节点拖到画布中央
- 随后会显示“AI Agent”的配置面板。为了测试 MCP Server,可以保持参数不变。接着,点击屏幕左上角的“<- Back to canvas”即可关闭此面板。
- 要在 AI Agent 中添加 LLM 模型,请点击“+ Chat Model”
- 在侧边栏中选择模型。在搜索栏“Search nodes...”中搜索你的 LLM 模型
- 选择要使用的 LLM 模型(例如:“OpenAI”或“Anthropic”)
- 选择模型后,你会看到“Credential to connect with”字段,其中显示“Select Credential”
- 点击“Select Credential”,然后点击“Create new credential”以打开凭据配置窗口
- 在凭据窗口中,你会看到:
- API Key:用于输入 API 密钥的字段
注意:获取 API Key 的方法:
- 对于 OpenAI:访问 platform.openai.com,创建账户并生成 API Key
- 对于 Anthropic:访问 console.anthropic.com,创建账户并生成 API Key
-
在相应字段中输入 API Key
-
点击“Save”以保存凭据
-
返回 AI Agent 配置后,你会看到用于调整模型参数的其他字段:
- Model:选择具体的模型(例如“gpt-4o-mini”或“claude-3.7-Sonnet”)
-
根据你的偏好配置这些参数
-
点击屏幕左上角的“<- Back to canvas”以返回工作流
配置记忆
- 要在 AI Agent 中添加记忆,请点击“+ Memory”
- 在侧边栏中点击“Simple Memory”节点
- 在“Context Window Length”字段中,设置上下文窗口长度(建议:20)
- 点击屏幕左上角的“<- Back to canvas”以返回工作流
配置 MCP 客户端
- 要在 AI Agent 中添加 MCP 客户端,请点击“+ Tools”
- 在侧边栏的“Search nodes...”搜索栏中搜索“MCP Client Tool”,并从可用工具列表中选择它
- 使用以下参数配置 MCP 客户端:
- SSE Endpoint:准确输入
http://mcp_server:8000/sse - Authentication:由于我们处于本地隔离环境中,可以将“Authentication”字段保留为“None”。
注意 此应用仅用于实验和学习。用于生产环境时,你必须使用某种身份验证方法。
- SSE Endpoint:准确输入
- Tools:点击该字段并选择“All”,以使用所有可用工具
提示:如果想检查与 MCP 服务的连接,可以选择“Selected”而非“All”。这会显示可用工具列表。如果列表出现,则表示连接正常。
- 配置完所有参数后,点击屏幕左上角的“<- Back to canvas”以返回工作流
- 返回工作流后,点击右上角的“Save”以保存对工作流所做的配置。
测试工具
配置 AI Agent 后,你可以测试 MCP 服务中的工具:
- 在 AI Agent 的配置面板中,滚动到页面底部
- 点击配置面板底部的“Open Chat”按钮
- 系统会打开一个类似 AI 聊天窗口的聊天窗口
- 在聊天窗口底部的文本框中,尝试以下命令:
- 输入
ping并按 Enter 键——Agent 应该回复“pong” - 输入
acho eu并按 Enter 键——Agent 应该回复“acho eu I love you!”
- 输入
这些命令会调用 MCP 服务提供的工具,证明 n8n 与 MCP 服务之间的连接正常工作。
目录结构和持久化
首次运行应用时,项目文件夹中会创建两个重要目录:
n8n_data 目录
此目录存储 n8n 的所有数据,包括:
- 创建的工作流
- 配置的凭据
- 应用设置
n8n_data 目录对于保留设置和工作流至关重要,即使重启容器后也不会丢失。
mcp_server 目录
此目录包含 MCP 服务的文件,包括:
- Python 虚拟环境(
.venv文件夹) - 包含 MCP 服务代码的
server.py文件
要访问 server.py 文件,请前往项目文件夹并打开 mcp_server 目录。该文件位于此目录的根目录下:
在 Windows 上:
explorer mcp_server
在 Linux 上:
ls -la mcp_server
此文件包含定义 MCP 服务所提供工具的 Python 代码(目前为 ping 和 echo)。
修改 MCP 服务
你可以修改 server.py 文件,以测试并实现 MCP 服务的新功能。
编辑 server.py 文件
- 前往项目文件夹中的
mcp_server目录 - 使用任意文本编辑器(如 Notepad、VSCode 等)打开
server.py文件 - 该文件包含定义 MCP 服务的 Python 代码。下面的代码展示了其中供 n8n 使用的工具定义。
from mcp.server.fastmcp import FastMCP mcp = FastMCP('ping_server') @mcp.tool(name='ping') def ping() -> str: """ A simple ping tool that returns a message. """ return 'pong' @mcp.tool(name='echo') def echo(message: str) -> str: """ An echo tool that returns the message sent to it. """ return f"{message} I love you!" if __name__ == '__main__': mcp.run(transport='sse')
除了 tools,还可以添加 resources 和 prompt。更多信息请参阅 MCP 服务官方文档
应用更改
修改 server.py 文件后,你需要重启容器,以便 n8n 中的 MCP 客户端识别这些更改:
-
打开终端或命令提示符
-
前往项目文件夹
-
执行命令:
docker-compose restart -
等待两个容器都重启
-
返回 n8n 并测试新工具
安全注意事项
此应用是为实验和学习而开发的,因此:
- MCP 服务未实现身份验证机制
- 建议仅在隔离的测试环境中使用
- 未采取适当的安全措施前,请勿在生产环境中使用
文档
有关模型上下文协议的更多信息:
参考资料
许可证
本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。