MCP编剧工具
Spring Boot 启动器,提供 15 个基于浏览器自动化的 MCP 工具 剧作家Java. 专为与集成 春季AI MCP协议。
产品特点
- 15工具MCP 用于浏览、交互、截图和网页分析
- 惰性初始化浏览器仅在第一次工具调用时启动,而不是在应用程序启动时启动
- 自动恢复如果您的浏览器没有安装,服务器仍将启动。工具返回描述性错误。安装浏览器后,工具将在下次通话时运行,而无需重新启动
- 优雅降级Playwright 错误不会影响服务器上的其他 MCP 工具
梅文
io.github.massimilianopili
mcp-playwright-tools
0.1.0
可用工具
| 工具 | 描述 |
|---|---|
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
