当前位置: 首页 > 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.lryc.cn/news/617271.html

相关文章:

  • ansible学习第一天
  • 定义短的魔术数字时小心负数的整型提升
  • Mybatis @Param参数传递说明
  • 三种常见的菜单路由封装方式详解
  • 邬贺铨院士:AI与数字安全融合是数字化建设核心驱动力
  • 算法73. 矩阵置零
  • Dubbo从入门到实战:分布式服务开发指南
  • React18 Transition特性详解
  • Apache IoTDB 全场景部署:跨「端-边-云」的时序数据库 DB+AI 实战
  • 智能制造算力一体机:工业 4.0 时代的算力基建革命
  • WPF之绑定!
  • 源码分析Eino框架工具调用--创建篇
  • 瑞芯微rk3588:yolov8-obb训练实战笔记
  • 云原生环境 Prometheus 企业级监控实战
  • 容器 K8S Docker Kata 学习(一)
  • k8s的calico是什么作用,举例一下
  • 【软考中级网络工程师】知识点之 UDP 协议:网络通信中的高效轻骑兵
  • k8s PV和PVC开始总结
  • AI时代基于云原生的 CI/CD 基础设施 Tekton
  • RabbitMQ 声明队列和交换机详解
  • HTTPS 协议原理 ——4种方案
  • HTTPS的应用层协议
  • 2024年ESWA SCI1区TOP,自适应种群分配和变异选择差分进化算法iDE-APAMS,深度解析+性能实测
  • 在 ASP.NET 项目中用 C# 生成二维码
  • 为 Promethus 配置https访问
  • 无人机航拍数据集|第12期 无人机停车场车辆计数目标检测YOLO数据集1568张yolov11/yolov8/yolov5可训练
  • FP32、BF16、FP16三种方式比较
  • 计算机视觉CS231n学习(7)
  • 《范仲淹传》读书笔记与摘要
  • MySQL数据库简介