你是否曾经希望自己的AI助手能够与网页进行交互,同时又追求极致的性能和稳定性?今天要介绍的开源项目Rod-MCP工具,正是基于Go语言和Rod库构建的浏览器自动化MCP服务器。它专为LLMs设计,提供了丰富的网页交互能力,如点击、截图、生成PDF等,同时具备出色的性能和简洁的配置。

项目基本信息

信息项详情
项目名称Rod-MCP工具
GitHub地址https://github.com/go-rod/rod-mcp
项目描述Rod-MCP 通过使用 Rod 为您的应用程序提供浏览器自动化功能。该服务器提供了许多有用的 MCP 工具,使大型语言模型能够与网页进行交互,例如点击、截屏、将页面保存为 PDF 等。
作者go-rod
开源协议MIT License
开源状态公开状态
LanguagesGo 100.0%
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

Rod-MCP工具是一个基于Go语言和Rod库实现的MCP服务器。Rod是一个受Puppeteer启发的Go语言浏览器自动化库,以高性能和稳定性著称。这个MCP服务器将Rod的能力封装成了标准的MCP工具,让AI助手能够通过简单的工具调用,完成复杂的浏览器自动化任务。

与基于Node.js的Puppeteer MCP不同,Rod-MCP工具拥有Go语言的原生性能优势:启动更快、内存占用更低、并发处理能力更强。它提供了以下核心能力:

  • 元素点击
  • 截图
  • 生成PDF
  • 更多交互能力(可根据需要扩展)

这个项目特别适合对性能有要求、或者已经在使用Go技术栈的团队。

二、核心优势

Go语言原生性能

基于Go语言编写,相比Node.js版本的浏览器自动化工具,具有更低的启动延迟和内存占用。单二进制文件部署,无需运行时依赖。

功能丰富

提供了完整的网页交互能力:

  • 元素点击、填写表单
  • 截图(全页面或特定元素)
  • 将页面保存为PDF
  • 支持无头/图形界面模式

易于配置

通过YAML配置文件集中管理:

  • 浏览器可执行文件路径
  • 无头模式开关
  • 临时文件目录
  • 沙箱模式开关
  • 代理服务器设置

专为LLMs设计

工具接口设计充分考虑了LLMs的调用习惯,参数简洁明了。

开源且采用MIT协议

代码完全公开,采用宽松的MIT开源协议,可自由使用和修改。

三、适用场景

开发者学习和参考

对于想学习Go语言MCP服务器开发,或者研究Rod库应用的开发者,这是一个很好的范例项目。

高性能自动化测试

如果你需要高频次运行浏览器自动化测试,Go语言的性能优势会非常明显。

PDF生成服务

Rod-MCP工具支持将网页保存为PDF,可以用于生成报告、文档快照等场景。

企业级应用开发

在企业环境中,如果需要集成浏览器自动化到Go语言后端,这个项目可以作为基础组件。

日常工作和效率提升

与Claude Desktop等客户端结合后,你可以用自然语言指挥AI完成浏览器操作。

四、安装教程

系统要求

工具用途下载/安装方式
Go编译和运行环境[https://go.dev/dl/] (版本要求:1.23 或以上)
Git下载项目代码[https://git-scm.com/]
Chrome/Chromium浏览器自动化目标官方下载

详细安装步骤

第一步:克隆项目并编译

git clone https://github.com/go-rod/rod-mcp.git
cd rod-mcp
go mod tidy
go build

编译完成后,会在当前目录生成可执行文件rod-mcp(Windows下为rod-mcp.exe)。

第二步:创建配置文件

创建一个YAML配置文件,例如rod-mcp.yaml

serverName: "Rod Server"
headless: false  # 是否以无头模式运行
browserTempDir: "./rod/browser"
noSandbox: false
# proxy: "socks5://127.0.0.1:1080"  # 可选:代理设置
# browserBinPath: "/path/to/chrome"  # 可选:指定Chrome路径

第三步:配置MCP客户端

对于Claude Desktop,找到配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加以下配置:

{
  "mcpServers": {
    "rod-mcp": {
      "command": "/你的绝对路径/rod-mcp",
      "args": ["-c", "/你的绝对路径/rod-mcp.yaml"]
    }
  }
}

注意:请将/你的绝对路径/替换为实际路径。在Windows上,路径中需要使用双反斜杠或正斜杠。

第四步:重启Claude Desktop

保存配置文件后,完全退出并重启Claude Desktop。

验证安装

配置完成后,在Claude Desktop中尝试输入:“使用rod-mcp截图https://example.com”。如果服务器正常工作,Claude会调用相应的工具,并返回截图。

五、使用示例

配置完成后,你就可以在MCP客户端中使用自然语言来调用Rod-MCP工具了。注意,具体的工具名称和参数可能需要参考项目的完整文档,以下示例基于一般性的Rod功能推断。

示例1:导航并截图

用户指令:“使用rod-mcp打开https://github.com并截取全页面截图”

AI会调用相应的截图工具,参数可能类似于:

{
  "url": "https://github.com",
  "fullPage": true
}

示例2:点击元素

用户指令:“在https://example.com上点击id为‘submit’的按钮”

AI会调用点击工具:

{
  "url": "https://example.com",
  "selector": "#submit"
}

示例3:生成PDF

用户指令:“将https://example.com/article保存为PDF”

AI会调用PDF生成工具:

{
  "url": "https://example.com/article",
  "path": "article.pdf"
}

示例4:填写表单

用户指令:“在https://example.com/login的username字段填写‘myuser’,password字段填写‘mypass’”

AI可能会依次调用填写工具:

{
  "selector": "#username",
  "value": "myuser"
}

示例5:使用代理

如果你需要通过代理访问网站,可以在配置文件中设置:

proxy: "socks5://127.0.0.1:1080"

重启服务器后,所有浏览流量都会通过代理。

六、常见问题

问题1:编译时提示“go: go.mod file not found”

解决方案:请确保你在项目的根目录(包含go.mod文件的目录)下运行go build命令。

问题2:运行可执行文件时提示“Permission denied”

解决方案:在Linux/macOS上,需要给可执行文件添加执行权限:

chmod +x rod-mcp

问题3:浏览器无法启动,提示找不到Chrome

解决方案:

  • 确保系统已安装Chrome或Chromium
  • 在配置文件中通过browserBinPath指定Chrome可执行文件的具体路径

问题4:Claude Desktop中看不到rod-mcp工具

解决方案:

  • 确认配置文件中的路径是绝对路径,并且可执行文件存在
  • 检查JSON格式是否正确
  • 完全退出并重启Claude Desktop

问题5:无头模式下截图内容不完整

解决方案:某些网页需要特定的视口大小才能正确渲染。尝试在非无头模式(headless: false)下运行观察效果,或者研究Rod-MCP是否支持设置视口尺寸。

七、总结

Rod-MCP工具是一个基于Go语言和Rod库的浏览器自动化MCP服务器。它的最大优势在于性能:Go语言的并发模型和编译型特性,使得它在启动速度、内存占用和处理能力上都优于基于Node.js的同类工具。

这个项目的核心价值在于:

  1. 高性能:适合高频次、大规模的浏览器自动化任务
  2. 易部署:单二进制文件,无需Node.js运行时
  3. Go生态:与Go语言后端服务无缝集成
  4. 配置灵活:YAML配置文件集中管理所有参数

需要注意的是:Rod-MCP工具目前文档相对较少,具体的工具列表和参数可能需要查看源码或等待项目完善。如果你熟悉Go语言,也可以直接阅读tools/目录下的代码来了解可用功能。

如果你对性能有较高要求,或者你的技术栈以Go为主,Rod-MCP工具是一个非常值得尝试的选择。

标签: 浏览器自动化

已有 34 条评论

    1. UlyssesUse UlyssesUse

      作为Go开发者,这个项目让我更容易理解MCP的工作原理。

    2. VeraVerify VeraVerify

      我用来做自动化监控,每5分钟截取一次页面,很稳定。

    3. WillWait WillWait

      希望未来能增加更详细的文档,列出所有可用工具。

    4. XenaXray XenaXray

      用go build编译很快,几秒钟就完成了。

    5. YaleYarn YaleYarn

      能否支持远程浏览器?比如连接已经运行的Chrome实例。