当前位置: 首页 > news >正文

n8n中调用playwright-mcp 项目

📚前言

在n8n平台,通过调用MCP社区节点,调用playwright-mcp,操控浏览器。

playwright-mcp的相关内容,可以参考上一篇文档:

playwright-mcp 项目全解析:从理论到实践-CSDN博客

📚相关理论知识(可跳过)

✨MCP是啥

MCP(Model Context Protocol,模型上下文协议)是由Anthropic于2024年推出的开放协议,旨在标准化AI模型与外部数据源、工具之间的通信方式。它被形象地称为AI领域的"USB-C接口",通过统一协议连接大语言模型(如Claude、GPT等)与本地文件、数据库、API等资源,打破数据孤岛,实现"即插即用"的智能交互。

MCP的核心架构包含三个主要组件:

  1. 客户端(Client):集成于AI应用(如Claude、Cursor等),负责发起请求并解析响应
  2. 服务器(Server):连接具体数据源(如数据库、GitHub等),执行操作并返回结果
  3. 主机(Host):管理多个客户端与服务器的连接(如IDE工具Cline),确保权限与安全控制 

✨MCP与n8n的协同关系

  • MCP提供标准化接口:解决AI模型与外部工具连接的问题,但缺乏工作流编排能力
  • n8n提供工作流引擎:具备强大的流程控制能力,但需要标准化方式接入AI模型
  • 结合效果:MCP作为"胶水"连接AI与工具,n8n作为"大脑"协调整个流程 

✨架构集成方式

在实际集成中,n8n通过社区节点"n8n-nodes-mcp"实现与MCP的对接。这个节点允许n8n工作流中直接调用MCP服务器提供的各种工具。典型集成架构包括:

  1. n8n作为MCP主机(Host):管理多个MCP客户端与服务器的连接
  2. MCP服务器作为n8n节点:每个MCP工具(如Brave搜索、GitHub等)作为n8n工作流中的一个步骤
  3. AI代理节点作为协调中心:决定何时以及如何使用MCP工具 

✨n8n-nodes-mcp-client(n8n社区节点)

这是一个 n8n 社区节点,可让您在 n8n 工作流中与模型上下文协议 (MCP) 服务器进行交互。

⚠️注意:n8n社区节点不是MCP Client Tool node

MCP Client Tool node,MCP 客户端工具节点是模型上下文协议 (MCP) 客户端,允许您使用外部 MCP 服务器公开的工具。您可以将 MCP 客户端工具节点连接到您的模型,以使用 n8n 代理调用外部工具。

在n8n的工具列表,带有方盒图标的事n8n社区节点,不带的事MCP Client Tool node。

更详细区别描述,见附录部分。


📚开始实战

1、启动独立 MCP 服务器

 启动独立 MCP 服务器命令:

npx @playwright/mcp@latest --port 8931

执行效果:

如果访问这个地址http://localhost:8931/mcp,显示

⚠️特别说明,在n8n的凭证中,需要用 “host.docker.internal”替换localhost,不然docker里的应用访问不到,原因见之前的文档说明:

【问题】Docker 容器内的应用(如n8n),访问不到外部主机的应用(如mysql)_docker容器内部访问不到宿主机上的服务-CSDN博客

所以,最终我们要用的url地址为,保存备用:

http://host.docker.internal:8931/mcp

2、n8n添加社区节点类型

🐯社区节点这种类型的n8n节点,需要安装一次,以后就可以在工作流中使用这种类型的节点了。 

进入n8n工作空间,点击“设置”:

进入设置界面:

添加社区节点:n8n-nodes-mcp(大小写敏感)

点击“安装”,安装后显示如下:

3、创建凭证

填入前边mcp服务器的url,保存即可


万事俱备,开始整工作流。。。


4、创建测试工作流

创建一个类似的工作流:

通过chat触发节点,提出要求,比如:

在百度查询“n8n常用的社区节点工具”,然后根据查询结果,总结:
1、有哪些工具
2、工具的说明和简要的使用信息
3、能标注信息出处,就更好了。

(1)Agent设置

Prompt (User Message)提示词:

根据用户要求,如果需要自动识别调用mcp工具,完成相关任务:
{{ $json.chatInput }}
根据你的经验,自动完善用户需求缺失的信息,给出总结信息的来源,提高总结的可用度。

System Message提示词:

1.分析用户需求
2.结合可用的MCP工具(MCPToolsList节点提供),制定完成用户需求的可执行方案,确定实现步骤,及每一个步骤所使用的具体mcp工具(如果需要的话)
3、如果需要,调用具体的mcp工具(MCPRun节点),完成用户要求的任务。

(2)绑定一个大模型

(3)社区节点(1)

选择上面创建的凭证帐号,如果前边没创建,在这里创建也是一样的:

帐号内容:

⚠️这里特别说明一下:目前只测通了HTTP Streamable的方式。

配置好,测试一下,会返回playwright-mcp中提供的所有方法:

(4)社区节点(2)

操作:执行工具,

tool Name:让大模型提供

{{ $fromAI('toolname')}}

tool parameters:

我当前版本Version 1.105.2,已经支持系统提供自动代码了,就是下面这个星星按钮:

5、工作流测试

我当前版本Version 1.105.2,已经支持执行过程跟踪啦

获得playwright-mcp的方法列表,并且列出了调用的具体方法:

调用了playwright-mcp的打开浏览器的方法,读取了浏览器信息:

但是,我观察的,大模型不断打开浏览器,访问百度,然后就关掉了,然后再打开,没有进一步在百度中搜索相关内容,最终,大模型直接自己给出了结果🥲:


📚结束语

总的来说,通过n8n调用playwright-mcp成功了,但还有很多细节需要打磨,比如为什么只打开了浏览器,没有进一步交互的问题。

要不然就再换个工具试试,哇哈哈🥲


📚附录

MCP Client Tool node和n8n-nodes-mcp-client(n8n社区节点)的区别

1. 开发与维护主体不同

  • MCP Client Tool node(假设为官方或特定团队开发的节点):
    通常由 n8n 官方团队或与 MCP 服务(如某类设备管理、数据采集平台)直接相关的团队开发维护,属于 “官方或认证节点”。其开发目标更贴合 n8n 的核心生态,与 MCP 服务的集成逻辑经过官方验证。

  • n8n-nodes-mcp-client(社区节点):
    是由 n8n 社区开发者(第三方)贡献的节点,属于 “社区维护节点”。开发动机可能是为了满足特定场景下的 MCP 服务集成需求,其代码托管在社区仓库(如 GitHub),维护依赖于开发者的个人或团队积极性。

2. 功能范围与适配性不同

  • 官方 / 认证节点(如 MCP Client Tool node)
    功能通常更基础、通用,聚焦于 MCP 服务的核心能力(如连接认证、基础数据交互、标准 API 调用等),适配性更广泛,能满足大多数通用场景。
    例如:可能仅支持 MCP 服务的标准接口,确保稳定性和兼容性。

  • 社区节点(n8n-nodes-mcp-client)
    功能可能更具针对性,可能包含官方节点未覆盖的定制化功能(如特定业务逻辑的封装、非标准 API 的适配、特殊数据格式的处理等),更适合特定场景。
    例如:可能针对某款 MCP 设备的私有协议进行了适配,或集成了更复杂的批量操作功能。

http://www.dtcms.com/a/326441.html

相关文章:

  • LeetCode151~188题解
  • C++ 流式处理字符串
  • C语言变量的声明和定义有什么区别?
  • UE 手柄点击UI 事件
  • 长难句lesson1
  • PPIO上线智谱GLM-4.5V
  • 【stm32】EXTI外部中断
  • QT聊天项目DAY18
  • Prompt Engineering 最佳实践:让AI输出更精准的核心技巧
  • HIS系统:医院信息化建设的核心,采用Angular+Java技术栈,集成MySQL、Redis等技术,实现医院全业务流程管理。
  • LS1043A+AQR115C万兆网口调试
  • 机器学习第九课之DBSCAN算法
  • 下一代防火墙组网全解析
  • Linux下安装jdk
  • 从零构建企业级K8S:高可用集群部署指南
  • 简单了解MongoDB数据存储
  • 计算机网络---交换机
  • Excel导入mysql,带小数点如何解决?
  • 物联网通讯协议-MQTT、Modbus、OPC
  • 支持向量机SM
  • 人工智能-python-机器学习-线性回归与梯度下降:理论与实践
  • 大屏幕自适应
  • 基于FPGA的热电偶测温数据采集系统,替代NI的产品(三)测试
  • C++ STL | STL迭代器(lterator)
  • 阿里千问系列:Qwen3 强化学习新算法GSPO!
  • HTML应用指南:利用GET请求获取全国一加授权零售店位置信息
  • 机器学习逻辑回归实战
  • 【Lua】题目小练10
  • computed使用的方式
  • 【Lua】XLua加载lua文件