在前几篇文章中,我们已经详细探讨了N8N生态下使用MCP的多种方法。不过,一直调用别人提供的MCP服务似乎不够尽兴。为什么不自己动手创建一个MCP服务,让别人来调用呢?在N8N环境中,这件事其实比你想象的简单。今天,我们就直接上手,用最快速度走通整个流程。
准备工作
在正式开始之前,需要完成两项准备工作。首先,确保你的N8N服务器能够从外网访问,并且最好使用HTTPS协议。如果这一步还未完成,可以参考安装指南中的相关配置。其次,我们需要使用一个在线调试工具——魔搭社区提供的MCP-Inspector,需提前注册。注册地址很容易找到,直接搜索“魔搭社区 MCP”即可。
5分钟发布自己的MCP服务
本次我们来创建一个MCP服务Demo,提供三个工具能力:加法、乘法和翻译。整个服务架构并不复杂,由一个主工作流和三个子工作流组成。
主流程
主流程的结构非常清晰,主要包含两部分:核心的MCP Server Trigger节点,以及若干个Call n8n Workflow Tool节点。首先添加一个MCP Server Trigger节点。该节点用于设置如何对外暴露MCP服务。URL的主体部分在你安装配置N8N时就已经确定。例如,在我的例子中,https://n8n.72live.com是整个N8N服务器的主域名。
- 测试URL/生成URL:系统会分别使用“mcp-test”和“mcp”作为后缀进行区分。
- Path:默认是一串hash值,你可以根据自己的喜好改成更易识别的名称。
- Authentication:访问授权方式,提供三种选择:
- None:任何人都可直接访问。
- Bearer:类似API Key的方式。
- Header:使用用户名和密码进行验证。
在MCP Server Trigger节点下,你可以添加各种Tool来提供功能。推荐的做法是使用Call n8n Workflow Tool节点,即将另一个N8N工作流当作一个Tool来调用。添加该节点时,需要设置几个关键参数:
- Name:此名称会在访问MCP的Tool List时返回,是工具的唯一标识。
- Description:可选的描述信息,不影响使用。
- Workflow:通过下拉菜单选择一个现有的工作流作为子流程,系统会自动加载该工作流所需参数列表。
- Workflow Inputs:点击每个参数后面的星形图标,让系统自动处理映射关系。
当然,现在我们的子流程还未准备好,所以先不添加。
子流程:乘法和加法工作流
新建一个工作流,命名为“SubFlow: 加法”。第一步添加When Executed by Another Workflow节点,此节点负责定义子流程能接受哪些参数。
在配置该节点时,你会发现Input data mode提供了三种方式:
- Define using JSON example:通过JSON格式例子定义。
- Define using fields below:通过定义字段名和字段类型列表。
- Accept all data:接受所有输入数据。
接着添加一个Code节点。作为演示,只需两行代码就能完成两个数字变量相加的逻辑。
$input.item.json.sum = ($input.item.json?.num1 ?? 0) + ($input.item.json?.num2 ?? 0);
return $input.item;
通过复制该工作流并重命名为“SubFlow: 乘法”,然后将Code节点中的加号改为乘号即可。
子流程:翻译
翻译子流程略有不同。它的入口节点需要定义两个参数:content(待翻译内容)和language(目标语言)。接着添加一个Basic LLM Chain节点,并挂载一个大模型来提供翻译能力。在Prompt配置中,需要将Source for Prompt改为Define below,然后填入以下提示词:
你是个翻译专家,会把内容:{{ $json.content }},翻译成语言:{{ $json.language }}。只输出翻译后内容,不输出其他信息。
最后的配置
现在我们已经有一个尚未配置完成的主流程,以及三个已完成子流程。回到主流程的设计页面,分别重新编辑三个调用子流程的节点,选好对应的子流程,并将所有参数设置为由系统自动设定。
最后,记得保存主流程,然后点击旁边的“Active/活动”按钮,使其变为绿色状态。此时,你的MCP服务已经成功启动。
调用验证
服务上线后,我们需要验证是否能正常调用。这里要使用魔搭社区提供的在线MCP-Inspector工具。
打开MCP-Inspector后,按以下步骤操作:
- 选择SSE模式。
- 把我们MCP服务的URL粘贴到对应的URL输入框中。
- 点击Connect,正常情况下应能顺利连接到MCP服务。
- 点击List Tools,获取MCP的三个工具方法列表。
- 选中具体Tool,填写参数后点击Run,即可看到调用结果。
此时,如果切回N8N的工作流界面,点击设计界面上方的“编辑器/执行”选项卡,可以查看工作流的执行日志。选中某次执行记录后,还能点击设计界面中的具体节点,查看该节点在执行过程中的数据和错误情况。
总结
通过这个简化的实验场景,我们完整地展示了如何借助MCP Server Trigger节点,将N8N工作流快速发布为对外服务的MCP。至此,在N8N上使用和发布MCP的各个方面已经讲解完毕。
