浏览器自动化服务

Rod MCP Server 是一个基于Rod的浏览器自动化服务,用于测试HTMX-R应用和自动化浏览器交互。

  • by birddigital
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 birddigital/rod-mcp-server

使用说明

Rod MCP服务器

用于浏览器自动化的MCP(模型上下文协议)服务器 罗德.

非常适合测试HTMX-R应用程序和自动化浏览器交互。

特性

  • 浏览器控件:导航、单击、填写表单
  • HTMX-R测试:检查 data-state-* 属性
  • 截图:捕获整个页面或视口
  • DOM检查:读取文本、属性、评估JavaScript
  • 等待条件:等待元素出现

安装

go install github.com/birddigital/rod-mcp-server@latest

或者从源代码构建:

git clone https://github.com/birddigital/rod-mcp-server
cd rod-mcp-server
go build -o rod-mcp main.go

配置

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "rod": {
      "command": "/path/to/rod-mcp"
    }
  }
}

可用工具

rod_navigate

导航到URL。

论据:

  • url (字符串,必填):要导航到的URL

rod_click

通过CSS选择器单击元素。

论据:

  • selector (字符串,必填):CSS选择器

rod_screenshot

截图。

论据:

  • filename (字符串,可选):文件名(默认值:时间戳)
  • fullPage (布尔值,可选):捕获整页(默认值:false)

屏幕截图保存到: /tmp/rod-screenshots/

rod_get_attribute

获取HTML属性值(非常适合HTMX-R状态)。

论据:

  • selector (字符串,必填):CSS选择器
  • attribute (字符串,必填):属性名称

rod_get_text

获取元素的文本内容。

论据:

  • selector (字符串,必填):CSS选择器

rod_wait_for

等待元素出现。

论据:

  • selector (字符串,必填):CSS选择器
  • timeout (数字,可选):超时秒数(默认值:30)

rod_eval

在页面上下文中执行JavaScript。

论据:

  • script (字符串,必填):JavaScript代码

rod_fill

填写输入字段。

论据:

  • selector (string,必填):用于输入的CSS选择器
  • text (字符串,必填):要填写的文本

使用示例

测试HTMX-R状态变化

Use rod_navigate to go to http://localhost:8080
Use rod_get_attribute on "[data-state-demo]" for attribute "data-state-demo"
Result: "hidden"

Use rod_click on "button[hx-state-toggle='demo']"
Use rod_get_attribute on "[data-state-demo]" for attribute "data-state-demo"
Result: "visible"

拍摄屏幕截图

Use rod_navigate to go to http://localhost:8080
Use rod_screenshot with fullPage: true, filename: "landing-page.png"
Result: Screenshot saved to /tmp/rod-screenshots/landing-page.png

需求

  • 转到1.21+
  • Chrome/Chromium浏览器
  • macOS/Linux/Windows

许可证

麻省理工学院