适用于n8n的MCP工具包
这个软件包提供了一套完整的工具集,用于处理(或与……一起工作) 模型上下文协议(MCP) 在n8n内部。它包含:
- MCP服务器触发器 - 直接从工作流启动一个基于WebSocket的MCP服务器,并暴露工具、提示、资源以及ARDF元数据。
- MCP 客户端 - 连接到任何MCP服务器,列出其功能,并在常规的n8n流程中调用这些功能。
- MCP代理(具备ARDF意识) - 运行一个代理,该代理能够发现ARDF目录,规划多步骤执行,并协调大型语言模型(LLM)的调用。
- 参考MCP服务器(
/server) - 独立的TypeScript项目,包含示例工具、提示、资源以及用于本地测试的ARDF索引。
所有组件均设计为协同工作,因此您可以在不离开n8n的情况下,原型化一个端到端的MCP(可能是指某种特定的系统或平台,如“微服务通信平台”等,具体需根据上下文确定)环境。
亮点
- 在同一工作流中托管和消耗MCP资源。
- 为支持ARDF(可能是指某种特定框架或协议,如“自动重复数据删除框架”等,具体需根据上下文确定)的规划器提供结构化元数据。
- 运行动态子工作流以按需生成响应。
- 通过Agent MCP节点支持多个大型语言模型(LLM)提供商(OpenAI、Anthropic、Mistral、Ollama、HuggingFace)。
- 部署一个开箱即用的演示服务器,以便快速验证。
要求
- Node.js 20.15 或更高版本。
- n8n 1.0 或更高版本,需本地安装或部署在自定义节点的任何位置。
- npm(随 Node.js 一起提供)。
安装与构建
git clone
cd MCP-with-prompts
npm install
npm run buildnpm run build 将 TypeScript 编译为 dist/ 并且复制图标资源,以便 n8n 能够加载节点。
在您的自定义节点目录中安装该软件包:
npm install --omit=dev "
/n8n-nodes-mcp-server-trigger-0.1.0.tgz"或者,如果你更喜欢一个实时工作区,可以创建一个 npm 链接npm link 在仓库中,然后 npm link n8n-nodes-mcp-server-trigger (位于自定义节点文件夹内)。
MCP服务器触发器
触发节点提供了一个完全可配置的MCP(管理控制平面)服务器。节点内的每个集合都映射了一个MCP功能:
- 工具 - 定义名称、描述、参数的JSON模式、默认模板以及一个可选的子工作流。当调用工具时,子工作流会接收到一个包含单一项目的输入
tool,description,和arguments,让您能够动态生成文本或JSON响应。 - 提示 - 声明静态消息、变量描述符(名称、描述、是否必需、默认值)以及一个可选的生成器子工作流。生成器可以在运行时构建最终的提示结构。
- 资源 - 注册URI、MIME类型、正文、ARDF元数据,以及一个可选的加载子工作流,该子工作流能够按需获取内容(文本或JSON)。
- ARDF设置 - 启用或禁用ARDF输出,配置索引URI,列出工具名称,默认标签/域/作者,并公开一个合成目录。
活动
该节点发出:
serverListening当MCP服务器准备就绪时(包括主机、端口和ARDF信息)。serverClosed当服务器停止时,无论是手动停止还是因为传输被关闭。
MCP 客户端
客户端节点连接到MCP终端,使您能够:
- 列出工具、提示和资源。
- 获取带有插值参数的提示定义。
- 以文本或JSON格式读取远程资源。
- 执行带有任意参数的工具。
使用它将外部MCP服务器集成到普通的n8n工作流中,或者用于触发上述的MCP服务器触发器。
MCP代理(具备ARDF意识)
关键能力:
- ARDF(业余无线电测向)发现 - 试图阅读
ardf://index当目录缺失时,回退到标准的MCP(可能是指某种标准或协议的缩写,具体需根据上下文确定)列表。 - 规划 - 优先考虑ARDF中定义的完整工作流程
workflow描述符),否则通过检查元数据来组合相关工具/提示(when_to_use,tags,domain)。 - 上下文注入 - 拉取策略或文档资源,并将它们添加到大型语言模型(LLM)对话的开头。
- 多模型执行 - 选择OpenAI、Anthropic、Mistral、Ollama或HuggingFace来执行该计划。
- 备用辅助工具 - 文档说明如何调用
prompt.run和resource.read当客户端缺乏原生支持时,可作为工具使用。
该节点输出一个 runLog 描述每一步,便于审计或追踪后续操作。
见 agents.md 以便快速入门指南。
参考MCP服务器
这个(或“该”) /server 该目录包含一个TypeScript MCP服务器,其配置与上述描述的配置相匹配:
- 工具:
patient_lookup,appointment_create以及ARDF列表、提示和资源的辅助工具。 - 提示:
notification_send。 - 资源:隐私政策、协议文档以及ARDF索引。
- 传输:通过官方MCP SDK进行标准输入/输出。
用以下方式运行它 npm run build 随后是 node dist/server/index.js或者使用 ts-node 在开发过程中。
开发脚本
npm run dev- watch-mode TypeScript 构建。npm run lint- 在(项目/文件)上运行 ESLintnodes/,credentials/,以及package.json。npm run lintfix- 带自动修复功能的 ESLint。npm run format- Prettier开启nodes/并且credentials/。npm run build- 干净dist/编译TypeScript,并复制图标。
出版小贴士
- 验证
dist/是最新的(或:已更新至最新)npm run build)。 - 更新
package.json发布前请提供元数据(版本、仓库、关键词)。 - 使用(某平台/工具)发布
npm publish --access public(当)准备好了的时候。 - 如果您希望您的节点公开列出,请遵循n8n的社区节点提交指南。
许可证
以……名义分发 麻省理工学院(MIT) 许可证。
