Token导航 LogoToken导航TokenDH.com
Moltbrowser MCP logo
浏览器工具未说明官方级别未说明来源级核验

Moltbrowser MCP

MCP Server

MoltBrowser是一个社区驱动的浏览器自动化工具,通过共享浏览器配置和预配置的工具,使代理能够更快速、更高效地浏览网页。

工具数

35

提示词数

0

GitHub Stars

48

资源数

0
浏览器自动化JavaScriptClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Joakim-Sael

提供方

Joakim-Sael

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MoltBrowser

模具浏览器

*一个社区驱动的贡献空间,代理和他们背后的人共享浏览器配置,因此每个代理都比上一个更快、更便宜地浏览网络。*

![CI](https://github.com/Joakim-Sael/moltbrowser/actions/workflows/ci.yml) ](https://www.npmjs.com/package/moltbrowser-mcp-server) ![License](LICENSE)

问题

每次代理打开浏览器时,它都从零开始。它盯着DOM,猜测选择器,浪费令牌来弄清楚页面是如何工作的,而且仍然有一半的时间是错误的。这发生在每个站点、每个代理、每次运行中。即使之前有一千名特工已经解决了完全相同的问题。

MoltBrowser修复了这个问题。当一个代理登陆x.com时,它会得到 post-tweet, like-post, follow-user 作为随时可以调用的工具。当它登陆GitHub时,它会得到 search-repos, open-pr。由社区贡献,在真实页面上测试。没有猜测。没有浪费代币。

两个接口,一个生态系统

MoltBrowser有两种版本——选择适合您工作流程的版本:

命令行界面主控程序
最佳编码代理(Claude Code、Copilot)MCP本机代理(克劳德桌面、光标)
为什么令牌高效、简洁的命令,上下文中没有大型模式丰富的内省、持久状态、迭代推理
安装npm install -g moltbrowser-cli添加到MCP客户端配置

两者共享相同 WebMCP中心 --通过CLI提供的工具在MCP中可用,反之亦然。

______________________________________________________________________

CLI(用于编码代理)

CLI包装 剧作家CLI 具有自动中心工具发现功能。令牌高效,每个动作一个命令,带有编码代理的技能文件。

入门指南

npm install -g moltbrowser-cli
npm install -g @playwright/cli@latest

# Login (one-time — uses your GitHub account)
moltbrowser login --github

# Or paste an API key from https://webmcp-hub.com
moltbrowser login

快速演示

moltbrowser open https://x.com/home --headed
# Hub tools are discovered automatically:
# - fill-post-text (text)
# - click-post-button
# - click-reply-button (text)
# - like-post (text)
# - ...

moltbrowser hub-execute fill-post-text --text="Hello from MoltBrowser!"
moltbrowser hub-execute click-post-button
moltbrowser snapshot
moltbrowser close

运作原理

$ moltbrowser goto https://x.com/home

### Hub Tools (7 available)
- fill-post-text (text): Fill the post text area
- click-post-button: Click the Post button
- click-reply-button (text): Reply to a specific post
- like-post (text): Like a specific post
- ...

$ moltbrowser hub-execute like-post --text="Hello from MoltBrowser!"
[action completed successfully]
  1. 导航于 opengoto --自动发现中心工具
  2. 使用 hub-execute 用于预先配置、经过社区测试的操作
  3. 退回到标准剧作家命令(click, fill, snapshot等)在需要时
  4. 贡献工具,让下一个代理受益

命令

# Auth
moltbrowser login --github       # Login via GitHub (best for agents)
moltbrowser login                # Interactive login
moltbrowser whoami               # Show auth status

# Navigation (with hub discovery)
moltbrowser open [url]           # Open browser + discover hub tools
moltbrowser goto            # Navigate + discover hub tools

# Hub tools
moltbrowser hub-list             # List discovered tools for current page
moltbrowser hub-execute    # Execute a hub tool
moltbrowser hub-info       # Show tool details

# Contribute
moltbrowser contribute-create    # Create a new hub config
moltbrowser contribute-add-tool  # Add a tool to a config
moltbrowser contribute-vote      # Vote on a tool

# All Playwright CLI commands pass through
moltbrowser click           moltbrowser type 
moltbrowser fill      moltbrowser press 
moltbrowser snapshot             moltbrowser screenshot
moltbrowser close                moltbrowser tab-list
# ... and many more

编码代理的技能

安装技能文件,以便编码代理(Claude Code、Copilot)知道如何使用MoltBrowser:

moltbrowser install --skills

查看完整 CLI文档.

______________________________________________________________________

MCP服务器(用于MCP本机代理)

MCP服务器将Playwright浏览器自动化与WebMCP Hub集成在一起。它充当代理——拦截导航,动态发现和注入每个站点的中心工具。

入门指南

从webmcp-hub.com开始 -创建一个帐户,获取API密钥,并将其添加到MCP客户端设置中:

{
  "mcpServers": {
    "moltbrowser-mcp": {
      "command": "npx",
      "args": ["moltbrowser-mcp-server"],
      "env": {
        "HUB_API_KEY": "whub_your_api_key"
      }
    }
  }
}

运作原理

Agent (Claude, Cursor, etc.)
  |
  |  MCP protocol (stdio)
  v
moltbrowser-mcp (hub proxy)
  |-- On navigate: queries WebMCP Hub REST API
  |-- Dynamically adds hub tools to tool list
  |-- Hub tool calls -> translates to Playwright code -> browser_run_code
  |
  |  MCP protocol (stdio, child process)
  v
Playwright browser automation
  |
  v
Browser (Chrome, Firefox, WebKit)
  1. 代理通过以下方式导航到页面 browser_navigate
  2. 代理查询 webmcp-hub.com 用于与域/URL匹配的配置
  3. 如果存在配置,导航响应中会出现中心工具(例如。 hub_search-repos, hub_get-results)
  4. 代理调用中心工具。代理将执行元数据转换为Playwright代码并运行它
  5. 如果不存在配置,则所有标准Playwright工具都照常工作

中心工具

启用集线器集成后,这些工具始终可用:

工具说明
hub_execute为当前站点执行预配置的集线器工具
browser_fallback访问通用Playwright浏览器工具作为后备
contribute_create-config在集线器上创建新的站点配置
contribute_add-tool将工具添加到现有集线器配置中
contribute_update-tool更新现有工具
contribute_delete-tool从集线器配置中删除工具
contribute_vote-on-tool对信号质量的工具投赞成票或反对票

MCP Configuration

选项描述
--允许的主机\允许此服务器提供服务的主机列表,以逗号分隔。默认为服务器绑定到的主机。传递“\*”可禁用主机检查。
*环境* PLAYWRIGHT_MCP_ALLOWED_HOSTS
--允许的来源以分号分隔的可信来源列表,以允许浏览器请求。默认设置为允许所有。重要提示: *不* 作为安全边界 *不* 影响重定向。
*环境* PLAYWRIGHT_MCP_ALLOWED_ORIGINS
--允许不受限制的文件访问允许访问工作区根目录之外的文件。还允许不受限制地访问file://URLs。默认情况下,对文件系统的访问仅限于工作区根目录(如果没有配置根目录,则仅限于cwd),并且阻止导航到file://URL。
*环境* PLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESS
--来源受阻以分号分隔的源列表,以阻止浏览器请求。在分配列表之前评估阻止列表。如果不使用allowlist,则仍然允许与阻止列表不匹配的请求。重要提示: *不* 作为安全边界 *不* 影响重定向。
*环境* PLAYWRIGHT_MCP_BLOCKED_ORIGINS
--阻止服务人员阻止服务人员
*环境* PLAYWRIGHT_MCP_BLOCK_SERVICE_WORKERS
--浏览器
要使用的浏览器或chrome频道,可能的值:chrome、firefox、webkit、msedge。
*环境* PLAYWRIGHT_MCP_BROWSER
--大写逗号分隔的要启用的附加功能列表,可能的值:vision,pdf。
*环境* PLAYWRIGHT_MCP_CAPS
--cdp端点要连接的CDP终结点。
*环境* PLAYWRIGHT_MCP_CDP_ENDPOINT
--cdp header\要与连接请求一起发送的CDP标头,可以指定多个。
*环境* PLAYWRIGHT_MCP_CDP_HEADER
--config
配置文件的路径。
*环境* PLAYWRIGHT_MCP_CONFIG
--控制台级别要返回的控制台消息级别:“错误”、“警告”、“信息”、“调试”。每个级别都包含更严重级别的消息。
*环境* PLAYWRIGHT_MCP_CONSOLE_LEVEL
--设备要模拟的设备,例如:“iPhone 15”
*环境* PLAYWRIGHT_MCP_DEVICE
--可执行路径
浏览器可执行文件的路径。
*环境* PLAYWRIGHT_MCP_EXECUTABLE_PATH
--extension连接到正在运行的浏览器实例(仅限Edge/Chrome)。需要安装“Playwright MCP Bridge”浏览器扩展程序。
*环境* PLAYWRIGHT_MCP_EXTENSION
--授予权限\要授予浏览器上下文的权限列表,例如“地理位置”、“剪贴板读取”、“剪切板写入”。
*环境* PLAYWRIGHT_MCP_GRANT_PERMISSIONS
--headless在默认情况下以headless模式运行浏览器
*环境* PLAYWRIGHT_MCP_HEADLESS
--主机将服务器绑定到的主机。默认值为localhost。使用0.0.0.0绑定到所有接口。
*环境* PLAYWRIGHT_MCP_HOST
--忽略https错误忽略https错误
*环境* PLAYWRIGHT_MCP_IGNORE_HTTPS_ERRORS
--init页面\
要在Playwright页面对象上求值的TypeScript文件的路径
*环境* PLAYWRIGHT_MCP_INIT_PAGE
--init脚本\
作为初始化脚本添加的JavaScript文件的路径。脚本将在每个页面的任何脚本之前进行评估。可以多次指定。
*环境* PLAYWRIGHT_MCP_INIT_SCRIPT
--isolated将浏览器配置文件保存在内存中,不要将其保存到磁盘。
*环境* PLAYWRIGHT_MCP_ISOLATED
--图像响应是否向客户端发送图像响应。可以是“允许”或“省略”,默认为“允许”。
*环境* PLAYWRIGHT_MCP_IMAGE_RESPONSES
--no sandbox禁用通常沙盒的所有进程类型的沙盒。
*环境* PLAYWRIGHT_MCP_NO_SANDBOX
--输出目录
输出文件目录的路径。
*环境* PLAYWRIGHT_MCP_OUTPUT_DIR
--输出模式是否将快照、控制台消息、网络日志保存到文件或标准输出。可以是“file”或“stdout”。默认值为“stdout”。
*环境* PLAYWRIGHT_MCP_OUTPUT_MODE
--港口
港口监听SSE运输。
*环境* PLAYWRIGHT_MCP_PORT
--代理绕过逗号分隔的域可以绕过代理,例如“.com、chromium.org、.domain.com”
*环境* PLAYWRIGHT_MCP_PROXY_BYPASS
--代理服务器
指定代理服务器,例如“http://myproxy:3128“或”socks5://myproxy:8080“
*环境* PLAYWRIGHT_MCP_PROXY_SERVER
--save session是否将Playwright MCP会话保存到输出目录中。
*环境* PLAYWRIGHT_MCP_SAVE_SESSION
--save trace是否将会话的Playwright trace保存到输出目录中。
*环境* PLAYWRIGHT_MCP_SAVE_TRACE
--保存视频是否将会话视频保存到输出目录中。例如“--保存视频=800x600”
*环境* PLAYWRIGHT_MCP_SAVE_VIDEO
--秘密
包含dotenv格式机密文件的路径
*环境* PLAYWRIGHT_MCP_SECRETS
--共享浏览器上下文在所有连接的HTTP客户端之间重用相同的浏览器上下文。
*环境* PLAYWRIGHT_MCP_SHARED_BROWSER_CONTEXT
--快照模式在为响应拍摄快照时,指定要使用的模式。可以是“增量”、“完全”或“无”。默认值为增量。
*环境* PLAYWRIGHT_MCP_SNAPSHOT_MODE
--存储状态
隔离会话的存储状态文件的路径。
*环境* PLAYWRIGHT_MCP_STORAGE_STATE
--测试id属性指定用于测试id的属性,默认为“data-testid”
*环境* PLAYWRIGHT_MCP_TEST_ID_ATTRIBUTE
--超时操作以毫秒为单位指定操作超时,默认值为5000ms
*环境* PLAYWRIGHT_MCP_TIMEOUT_ACTION
--超时导航以毫秒为单位指定导航超时,默认值为60000ms
*环境* PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION
--用户代理指定用户代理字符串
*环境* PLAYWRIGHT_MCP_USER_AGENT
--用户数据目录
用户数据目录的路径。如果未指定,将创建一个临时目录。
*环境* PLAYWRIGHT_MCP_USER_DATA_DIR
--视口大小以像素为单位指定浏览器视口大小,例如“1280x720”
*环境* PLAYWRIGHT_MCP_VIEWPORT_SIZE
--编码指定用于代码生成的语言,可能的值:“typescript”、“none”。默认值为“typescript”。
*环境* PLAYWRIGHT_MCP_CODEGEN

MCP Tools Reference

Core automation

  • 浏览器点击

- 标题:点击 - 说明:在网页上执行点击操作 - 参数: - element (string,可选):人类可读的元素描述,用于获得与元素交互的权限 - ref (string):页面快照中的精确目标元素引用 - doubleClick (布尔值,可选):是否执行双击而不是单击 - button (字符串,可选):点击按钮,默认为左侧 - modifiers (数组,可选):按修改键 - 只读: 错误的

  • 浏览器_关闭

- 标题:关闭浏览器 - 说明:关闭页面 - 参数:无 - 只读: 错误的

  • browser_console_消息

- 标题:获取控制台消息 - 说明:返回所有控制台消息 - 参数: - level (string):要返回的控制台消息的级别。每个级别都包含更严重级别的消息。默认为“info”。 - filename (字符串,可选):用于保存控制台消息的文件名。如果未提供,消息将以文本形式返回。 - 只读:

  • browser_drag

- 标题:拖动鼠标 - 说明:在两个元素之间执行拖放操作 - 参数: - startElement (string):人类可读的源元素描述,用于获得与元素交互的权限 - startRef (string):页面快照中的精确源元素引用 - endElement (string):人类可读的目标元素描述,用于获得与元素交互的权限 - endRef (string):页面快照中的精确目标元素引用 - 只读: 错误的

  • 浏览器_评估

- 标题:评估JavaScript - 描述:在页面或元素上计算JavaScript表达式 - 参数: - function (string):()=>{/\*代码 */}或(元素)=>{/* 提供元素时的代码\*/} - element (string,可选):人类可读的元素描述,用于获得与元素交互的权限 - ref (string,可选):页面快照中的精确目标元素引用 - filename (string,可选):用于保存结果的文件名。如果未提供,则结果将以JSON字符串的形式返回。 - 只读: 错误的

  • 浏览器文件上传

- 标题:上传文件 - 说明:上传一个或多个文件 - 参数: - paths (array,可选):要上传的文件的绝对路径。可以是单个文件或多个文件。如果省略,文件选择器将被取消。 - 只读: 错误的

  • browser_fill_form

- 标题:填写表格 - 说明:填写多个表单字段 - 参数: - fields (数组):要填写的字段 - 只读: 错误的

  • 浏览器处理对话框

- 标题:处理对话框 - 描述:处理对话框 - 参数: - accept (boolean):是否接受对话。 - promptText (string,可选):提示对话框中的提示文本。 - 只读: 错误的

  • 浏览器切换

- 标题:鼠标悬停 - 描述:将鼠标悬停在页面上的元素上 - 参数: - element (string,可选):人类可读的元素描述,用于获得与元素交互的权限 - ref (string):页面快照中的精确目标元素引用 - 只读: 错误的

  • 浏览器导航

- 标题:导航到URL - 描述:导航到URL - 参数: - url (string):要导航到的URL - 只读: 错误的

  • 浏览器导航返回

- 标题:返回 - 说明:返回上一页 - 参数:无 - 只读: 错误的

  • 浏览器网络请求

- 标题:列出网络请求 - 描述:返回自加载页面以来的所有网络请求 - 参数: - includeStatic (boolean):是否包含成功的静态资源,如图像、字体、脚本等。默认为false。 - filename (字符串,可选):用于保存网络请求的文件名。如果未提供,请求将以文本形式返回。 - 只读:

  • browser_press_key

- 标题:按键 - 说明:按键盘上的一个键 - 参数: - key (string):要按的键的名称或要生成的字符,例如 ArrowLefta - 只读: 错误的

  • 浏览器大小

- 标题:调整浏览器窗口大小 - 说明:调整浏览器窗口大小 - 参数: - width (数字):浏览器窗口的宽度 - height (数字):浏览器窗口的高度 - 只读: 错误的

  • 浏览器运行代码

- 标题:运行Playwright代码 - 说明:运行Playwright代码片段 - 参数: - code (string):一个包含要执行的Playwright代码的JavaScript函数。它将通过一个参数page调用,您可以将其用于任何页面交互。例如: async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); } - filename (string,可选):用于保存结果的文件名。如果未提供,则结果将以JSON字符串的形式返回。 - 只读: 错误的

  • 浏览器选择选项

- 标题:选择选项 - 说明:在下拉列表中选择一个选项 - 参数: - element (string,可选):人类可读的元素描述,用于获得与元素交互的权限 - ref (string):页面快照中的精确目标元素引用 - values (array):在下拉列表中选择的值数组。这可以是单个值或多个值。 - 只读: 错误的

  • 浏览器快照

- 标题:页面快照 - 描述:捕获当前页面的可访问性快照,这比截图更好 - 参数: - filename (string,可选):将快照保存到markdown文件,而不是在响应中返回它。 - 只读:

  • browser_take_screenshot

- 标题:截图 - 描述:截取当前页面的屏幕截图。您无法根据屏幕截图执行操作,请使用browser_snapshot进行操作。 - 参数: - type (string):截图的图像格式。默认值为png。 - filename (string,可选):保存截图的文件名。默认为 page-{timestamp}.{png|jpeg} 如果没有指定。希望相对文件名保留在输出目录中。 - element (string,可选):人类可读的元素描述,用于获得对元素进行截图的权限。如果没有提供,将对视口进行截图。如果提供了元素,也必须提供ref。 - ref (string,可选):页面快照中的精确目标元素引用。如果没有提供,将对视口进行截图。若提供了ref,则也必须提供元素。 - fullPage (boolean,可选):当为true时,会截取整个可滚动页面的屏幕截图,而不是当前可见的视口。不能与元素截图一起使用。 - 只读:

  • 浏览器类型

- 标题:键入文本 - 说明:在可编辑元素中键入文本 - 参数: - element (string,可选):人类可读的元素描述,用于获得与元素交互的权限 - ref (string):页面快照中的精确目标元素引用 - text (string):要在元素中键入的文本 - submit (布尔值,可选):是否提交输入的文本(之后按Enter键) - slowly (boolean,可选):是否一次键入一个字符。可用于触发页面中的密钥处理程序。默认情况下,一次填写整个文本。 - 只读: 错误的

  • 浏览器等待

- 标题:等待 - 描述:等待文本出现或消失或经过指定时间 - 参数: - time (数字,可选):等待时间(秒) - text (string,可选):等待的文本 - textGone (string,可选):等待消失的文本 - 只读: 错误的

Tab management

  • 浏览器标签

- 标题:管理选项卡 - 说明:列出、创建、关闭或选择浏览器选项卡。 - 参数: - action (string):要执行的操作 - index (数字,可选):选项卡索引,用于关闭/选择。如果省略关闭,则关闭当前选项卡。 - 只读: 错误的

Browser installation

  • 浏览器安装

- 标题:安装配置中指定的浏览器 - 说明:安装配置中指定的浏览器。如果您收到浏览器未安装的错误,请调用此命令。 - 参数:无 - 只读: 错误的

Coordinate-based (opt-in via --caps=vision)

  • 浏览器_主页_点击_xy

- 标题:点击 - 说明:在给定位置单击鼠标左键 - 参数: - element (string):人类可读的元素描述,用于获得与元素交互的权限 - x (数字):X坐标 - y (数字):Y坐标 - 只读: 错误的

  • 浏览器_主页_拖动_xy

- 标题:拖动鼠标 - 说明:将鼠标左键拖动到给定位置 - 参数: - element (string):人类可读的元素描述,用于获得与元素交互的权限 - startX (数字):开始X坐标 - startY (数字):开始Y坐标 - endX (数字):结束X坐标 - endY (数字):结束Y坐标 - 只读: 错误的

  • 浏览器_家庭_移动_xy

- 标题:移动鼠标 - 说明:将鼠标移动到给定位置 - 参数: - element (string):人类可读的元素描述,用于获得与元素交互的权限 - x (数字):X坐标 - y (数字):Y坐标 - 只读: 错误的

PDF generation (opt-in via --caps=pdf)

  • 浏览器_pdf_save

- 标题:另存为PDF - 说明:将页面另存为PDF - 参数: - filename (字符串,可选):用于保存pdf的文件名。默认为 page-{timestamp}.pdf 如果没有指定。希望相对文件名保留在输出目录中。 - 只读:

Test assertions (opt-in via --caps=testing)

  • 浏览器生成定位器

- 标题:为元素创建定位器 - 描述:为测试中使用的给定元素生成定位器 - 参数: - element (string,可选):人类可读的元素描述,用于获得与元素交互的权限 - ref (string):页面快照中的精确目标元素引用 - 只读:

  • 浏览器验证元素可见

- 标题:验证元素是否可见 - 说明:验证元素在页面上是否可见 - 参数: - role (string):元素的角色。可以在快照中找到,如下所示: - {ROLE} "Accessible Name": - accessibleName (string):元素的名称。可以在快照中找到,如下所示: - role "{ACCESSIBLE_NAME}" - 只读: 错误的

  • 浏览器验证列表可见

- 标题:验证列表是否可见 - 说明:验证列表在页面上是否可见 - 参数: - element (string):人类可读的列表描述 - ref (string):指向列表的精确目标元素引用 - items (array):要验证的项目 - 只读: 错误的

  • 浏览器验证文本可见

- 标题:验证文本是否可见 - 说明:验证文本在页面上是否可见。如果可能的话,首选browser_verify_element_visible。 - 参数: - text (string):要验证的文本。可以在快照中找到,如下所示: - role "Accessible Name": {TEXT} 或者像这样: - text: {TEXT} - 只读: 错误的

  • 浏览器验证值

- 标题:验证值 - 说明:验证元素值 - 参数: - type (string):元素的类型 - element (string):人类可读的元素描述 - ref (string):指向该元素的精确目标元素引用 - value (string):要验证的值。对于复选框,使用“true”或“false”。 - 只读: 错误的

Tracing (opt-in via --caps=tracing)

  • 浏览器start_tracing

- 标题:开始追踪 - 说明:开始跟踪记录 - 参数:无 - 只读:

  • 浏览器停止跟踪

- 标题:停止追踪 - 说明:停止跟踪记录 - 参数:无 - 只读:

MCP Configuration File Schema

{
  /**
   * The browser to use.
   */
  browser?: {
    /**
     * The type of browser to use.
     */
    browserName?: 'chromium' | 'firefox' | 'webkit';

    /**
     * Keep the browser profile in memory, do not save it to disk.
     */
    isolated?: boolean;

    /**
     * Path to a user data directory for browser profile persistence.
     * Temporary directory is created by default.
     */
    userDataDir?: string;

    /**
     * Launch options passed to
     * @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
     *
     * This is useful for settings options like `channel`, `headless`, `executablePath`, etc.
     */
    launchOptions?: playwright.LaunchOptions;

    /**
     * Context options for the browser context.
     *
     * This is useful for settings options like `viewport`.
     */
    contextOptions?: playwright.BrowserContextOptions;

    /**
     * Chrome DevTools Protocol endpoint to connect to an existing browser instance in case of Chromium family browsers.
     */
    cdpEndpoint?: string;

    /**
     * CDP headers to send with the connect request.
     */
    cdpHeaders?: Record;

    /**
     * Timeout in milliseconds for connecting to CDP endpoint. Defaults to 30000 (30 seconds). Pass 0 to disable timeout.
     */
    cdpTimeout?: number;

    /**
     * Remote endpoint to connect to an existing Playwright server.
     */
    remoteEndpoint?: string;

    /**
     * Paths to TypeScript files to add as initialization scripts for Playwright page.
     */
    initPage?: string[];

    /**
     * Paths to JavaScript files to add as initialization scripts.
     * The scripts will be evaluated in every page before any of the page's scripts.
     */
    initScript?: string[];
  },

  /**
   * Connect to a running browser instance (Edge/Chrome only). If specified, `browser`
   * config is ignored.
   * Requires the "Playwright MCP Bridge" browser extension to be installed.
   */
  extension?: boolean;

  server?: {
    /**
     * The port to listen on for SSE or MCP transport.
     */
    port?: number;

    /**
     * The host to bind the server to. Default is localhost. Use 0.0.0.0 to bind to all interfaces.
     */
    host?: string;

    /**
     * The hosts this server is allowed to serve from. Defaults to the host server is bound to.
     * This is not for CORS, but rather for the DNS rebinding protection.
     */
    allowedHosts?: string[];
  },

  /**
   * List of enabled tool capabilities. Possible values:
   *   - 'core': Core browser automation features.
   *   - 'pdf': PDF generation and manipulation.
   *   - 'vision': Coordinate-based interactions.
   *   - 'devtools': Developer tools features.
   */
  capabilities?: ToolCapability[];

  /**
   * Whether to save the Playwright session into the output directory.
   */
  saveSession?: boolean;

  /**
   * Whether to save the Playwright trace of the session into the output directory.
   */
  saveTrace?: boolean;

  /**
   * If specified, saves the Playwright video of the session into the output directory.
   */
  saveVideo?: {
    width: number;
    height: number;
  };

  /**
   * Reuse the same browser context between all connected HTTP clients.
   */
  sharedBrowserContext?: boolean;

  /**
   * Secrets are used to prevent LLM from getting sensitive data while
   * automating scenarios such as authentication.
   * Prefer the browser.contextOptions.storageState over secrets file as a more secure alternative.
   */
  secrets?: Record;

  /**
   * The directory to save output files.
   */
  outputDir?: string;

  /**
   * Whether to save snapshots, console messages, network logs and other session logs to a file or to the standard output. Defaults to "stdout".
   */
  outputMode?: 'file' | 'stdout';

  console?: {
    /**
     * The level of console messages to return. Each level includes the messages of more severe levels. Defaults to "info".
     */
    level?: 'error' | 'warning' | 'info' | 'debug';
  },

  network?: {
    /**
     * List of origins to allow the browser to request. Default is to allow all. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
     *
     * Supported formats:
     * - Full origin: `https://example.com:8080` - matches only that origin
     * - Wildcard port: `http://localhost:*` - matches any port on localhost with http protocol
     */
    allowedOrigins?: string[];

    /**
     * List of origins to block the browser to request. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
     *
     * Supported formats:
     * - Full origin: `https://example.com:8080` - matches only that origin
     * - Wildcard port: `http://localhost:*` - matches any port on localhost with http protocol
     */
    blockedOrigins?: string[];
  };

  /**
   * Specify the attribute to use for test ids, defaults to "data-testid".
   */
  testIdAttribute?: string;

  timeouts?: {
    /*
     * Configures default action timeout: https://playwright.dev/docs/api/class-page#page-set-default-timeout. Defaults to 5000ms.
     */
    action?: number;

    /*
     * Configures default navigation timeout: https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout. Defaults to 60000ms.
     */
    navigation?: number;
  };

  /**
   * Whether to send image responses to the client. Can be "allow", "omit", or "auto". Defaults to "auto", which sends images if the client can display them.
   */
  imageResponses?: 'allow' | 'omit';

  snapshot?: {
    /**
     * When taking snapshots for responses, specifies the mode to use.
     */
    mode?: 'incremental' | 'full' | 'none';
  };

  /**
   * Whether to allow file uploads from anywhere on the file system.
   * By default (false), file uploads are restricted to paths within the MCP roots only.
   */
  allowUnrestrictedFileAccess?: boolean;

  /**
   * Specify the language to use for code generation.
   */
  codegen?: 'typescript' | 'none';
}

______________________________________________________________________

为Hub贡献工具

CLI和MCP用户都可以贡献工具。当你手动自动化一个站点时,贡献选择器和操作,这样下一个代理就可以免费获得它们。

# CLI
moltbrowser contribute-create --domain=example.com --url-pattern="example.com/search" --title="Example Search"
moltbrowser contribute-add-tool --config-id= --name=search-items --description="Search" ...
moltbrowser contribute-vote --config-id= --name=search-items --vote=up

工具由社区维护。坏工具被否决,好工具上升。生态系统自我纠正。

许可证

阿帕奇-2.0

目录标签

目录标签

浏览器自动化JavaScriptClaude本地部署社区驱动Playwright集成WebMCPHub代理工具

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

35

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP