浏览器自动化工具集

基于Playwright Java的Spring Boot工具集,提供15种浏览器自动化功能,适用于网页导航、交互和内容提取。

  • by MassimilianoPili
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 MassimilianoPili/mcp-playwright-tools

使用说明

MCP编剧工具

Spring Boot 启动器,提供 15 个基于浏览器自动化的 MCP 工具 剧作家Java. 专为与集成 春季AI MCP协议。

产品特点

  • 15工具MCP 用于浏览、交互、截图和网页分析
  • 惰性初始化浏览器仅在第一次工具调用时启动,而不是在应用程序启动时启动
  • 自动恢复如果您的浏览器没有安装,服务器仍将启动。工具返回描述性错误。安装浏览器后,工具将在下次通话时运行,而无需重新启动
  • 优雅降级Playwright 错误不会影响服务器上的其他 MCP 工具

梅文

<dependency>
    <groupId>io.github.massimilianopili</groupId>
    <artifactId>mcp-playwright-tools</artifactId>
    <version>0.1.0</version>
</dependency>

可用工具

工具 描述
playwright_navigate 导航到 URL,返回最终 URL、标题和状态
playwright_navigate_back 返回上一页
playwright_snapshot 捕捉可访问性 ARIA 快照 (结构化树)
playwright_screenshot base64格式的PNG屏幕截图(视口或整页)
playwright_click 单击Su元素(选择CSS或XPath)
playwright_fill Riempi campo输入/文本区域
playwright_select_option 从下拉菜单中选择一个选项。
playwright_press_key 按键(Enter,Tab,Escape,组合)
playwright_type 按字符键入文本
playwright_evaluate 在页面上运行JavaScript
playwright_wait_for 等待可见元素或文本
playwright_get_content 提取文本内容/HTML
playwright_tabs 开放卡片列表。
playwright_close 关闭当前页面
playwright_resize Ridimensiona视口

配置

使用 Spring Boot 属性激活:

mcp.playwright.enabled=true

具有默认值的可选属性:

Property Default 描述
mcp.playwright.enabled false 启用/禁用库
mcp.playwright.browser-type chromium 浏览器: chromium, firefox, webkit
mcp.playwright.headless true 莫迪塔'无头
mcp.playwright.timeout 30000 操作超时(ms)
mcp.playwright.viewport-width 1280 Viewport宽度(px)
mcp.playwright.viewport-height 720 Viewport高度(px)
mcp.playwright.locale it-IT 区域设置浏览器

使用环境变量(对于 STDIO MCP 服务器):

mcp.playwright.enabled=${MCP_PLAYWRIGHT_ENABLED:false}
mcp.playwright.browser-type=${MCP_PLAYWRIGHT_BROWSER:chromium}
mcp.playwright.headless=${MCP_PLAYWRIGHT_HEADLESS:true}
mcp.playwright.timeout=${MCP_PLAYWRIGHT_TIMEOUT:30000}
mcp.playwright.viewport-width=${MCP_PLAYWRIGHT_VIEWPORT_WIDTH:1280}
mcp.playwright.viewport-height=${MCP_PLAYWRIGHT_VIEWPORT_HEIGHT:720}
mcp.playwright.locale=${MCP_PLAYWRIGHT_LOCALE:it-IT}

浏览器安装

浏览器二进制文件必须单独安装:

mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="install --with-deps chromium"

轨道被下载到 ~/.cache/ms-playwright/ (每铬约100 MB)。

若要防止每次启动时自动下载(在生产中推荐):

export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1

建筑

PlaywrightToolsAutoConfiguration
  └── PlaywrightConfig (@ConditionalOnProperty "mcp.playwright.enabled=true")
        └── PlaywrightProvider (bean leggero, lazy init)
              └── PlaywrightTools (15 @Tool, inietta PlaywrightProvider)
  • 剧作家提供商:包装厂剧作家→ 浏览器→ 浏览器上下文→ 第一页。线程安全(synchronized).如果 init 失败,等到下次调用(自动恢复)
  • 剧作家工具15种方法 @Tool 委托给 provider.getPage()每个工具捕捉 IllegalStateException (浏览器不可用) 并且返回错误而不会崩溃
  • 剧作家配置注册bean PlaywrightProvider 骗局 destroyMethod="close" 关闭时的清理

要求

  • Java 21+
  • 弹簧靴3.4.1
  • 春季AI 1.0.0
  • 剧作家Java 1.50.0

许可证

MIT许可证