本文主要介绍 n8n+mcp+deepseek简单流程完整的工作流,手把手教大家一步步搭建这个mcp工作流!
全文一共分为下面4个部分:
一、部署n8n
二、激活n8n
三、安装mcp工具节点
四、开始正式搭建n8n+mcp的工作流
一、部署n8n
-
Docker部署(推荐):
# 创建挂载文件夹
mkdir n8n
# 进入挂载文件夹
cd n8n
#赋予当前文件夹权限
sudo chown -R 1000:1000 $PWD
sudo chmod -R 755 $PWD
#方式一、拉取官方镜像
docker pull docker.io/n8nio/n8n:1.90.2
# 部署容器
sudo docker run -itd --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -e GENERIC_TIMEZONE="Asia/Shanghai" -e N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=True -v $PWD/n8n_data:/home/node/.n8n docker.io/n8nio/n8n:1.90.2
#部署方式二、当你的官方镜像拉取失败时,可以采用下面这种方式#拉取国内的镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/n8nio/n8n:1.90.2
# 部署容器
sudo docker run -itd --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -e GENERIC_TIMEZONE="Asia/Shanghai" -e N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=True -v $PWD/n8n_data:/home/node/.n8n swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/n8nio/n8n:1.90
#查看部署的容器运行日志,验证是否成功,当看到显示http://localhost:5678/ 时,表示成功
docker logs -f n8n
安装完成显示:
-
在浏览器中访问:http://localhost:5678/
二、激活n8n
1、第一次需要注册账号
2、填写问卷,随便填
3、登录后的主界面
4、激活账号,把 key 复制到 Settings/Usage and plan 界面中
在你注册的邮箱中,获取key;
三、安装mcp工具节点
1、找到 settings/Community nodes
输入:n8n-nodes-mcp ,点击安装
安装完成后,刷新页面,就可以选择mcp工具了;
四、开始正式搭建n8n+mcp的工作流
公众号后台,发送【工作流】,获取本次实验的完整工作流文件;
1、创建工作流 workflow
2、添加 On chat message 组件
这是一个会话功能用于发送消息
3. 添加 AI Agent 组件
这个节点将扮演“智能助手”的角色,负责接收用户的问题,并根据我们的配置选择合适的模型和工具进行回答。
配置下信息:选择 defin below
prompt:
{{"选择合适的工具回答用户的问题"+$json.chatInput}}
4、添加deepseek模型,或者别的模型;
添加对应的密钥:
5、添加 两个 MCP Client Tool 组件
在工作流编辑界面中,再次点击tools的“加号”按钮,添加两个个“MCP”节点。在输入框中输入“MCP”,然后从下拉列表中选择“MCP Client”。
第一个mcp配置:
初次使用时,你需要创建一个“credential”。这个“credential”对应了一个MCP服务器。
在魔搭mcp广场,选择你喜欢的mcp服务器:
本文选择了一个:今天吃什么的菜单mcp服务器;
https://www.modelscope.cn/mcp/servers/@worryzyy/howtocook-mcp
把对应的sse的url,添加进下面的配置页面;
这里可以看到,Operation 选择的是 list tools;就是获取工具的列表;
第二个mcp配置:
Operation 选择的是 Execute Tool ;就是让大模型执行对应的mcp工具;
Tool Name 填入:
{{$fromAI("tool")}}
Tool Parameters 填入:
{{ $fromAI('Tool_Parameters', ``, 'json') }}
最终的工作流展示如下:
6、点击 open chat 进行问答测试
今天一个人晚上吃什么呢
可以看到,会调用两次mcp服务器,第一次获取工具列表;
第二次执行工具,获取结果;