Token导航 LogoToken导航

MCP Server · 浏览器工具

Zen Link

ZenLink是一个轻量级的HTTP桥接服务,允许通过简单的HTTP API控制Zen Browser和Firefox,适用于AI助手、自动化工具和脚本。

stdio官方级别未说明来源级核验工具 24
浏览器自动化JavaScriptClaudeAPI集成Claude Desktop

快速开始

作者 / 组织
JayQuan-McCleary
提供方
JayQuan-McCleary

工具数量

24

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Zen Link 属于浏览器工具类 MCP Server,公开资料标注 24 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

浏览器工具

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

pip install websockets

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 24 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

ZenLink

Zen浏览器和Firefox的浏览器自动化桥� 通过简单的HTTP API控制浏览器。

作为Chrome MCP的快速、有效的替代品而构建。与任何可以发出HTTP请求的AI助手、自动化工具或脚本配合使用。

为什么选择ZenLink?

AI桌面助手(Claude、ChatGPT、Copilot等)通常需要与浏览器交互� 填写表格、阅读页面、截图、浏览网站。大多数解决方案要么只有Chrome,要么有缺陷,要么需要复杂的设置。

ZenLink是一个轻量级的HTTP网桥 任何可以调用的 curl 或 fetch 完全控制Zen浏览器或Firefox。无特殊SDK,无专有协议� 仅限于本地主机上的REST端点。

运作原理

Any AI Assistant / Script / Tool
    |
    |  HTTP request (e.g. POST http://localhost:8765/api/click)
    v
ZenLink Bridge Server (Python, localhost:8765)
    |
    |  WebSocket relay (ws://localhost:8766)
    v
ZenLink Browser Extension
    |
    |  browser.tabs API + content scripts
    v
Web Page DOM � click, type, read, screenshot, etc.

核心思想: 您的AI助手具有shell访问权限(终端、PowerShell、bash)。它向ZenLink的本地服务器发送HTTP请求。服务器通过WebSocket将命令中继到浏览器扩展。扩展程序在实际的浏览器选项卡中执行它们并返回结果。

示例:人工智能助手如何填写登录表单

  1. 你说: “登录example.com上的我的帐户”
  2. AI运行: curl -X POST localhost:8765/api/navigate -d '{"url":"https://example.com/login"}'
  3. AI运行: curl -X POST localhost:8765/api/fill -d '{"selector":"#email","value":"me@example.com"}'
  4. AI运行: curl -X POST localhost:8765/api/fill -d '{"selector":"#password","value":"secret"}'
  5. AI运行: curl -X POST localhost:8765/api/click -d '{"selector":"#submit"}'
  6. 浏览器: 导航、填写字段、单击提交� 您已登录。

或者与 批处理端点 (一个请求,多个命令):

POST http://localhost:8765/api/batch
{
  "commands": [
    {"action": "navigate", "url": "https://example.com/login"},
    {"action": "sleep", "ms": 2000},
    {"action": "fill", "selector": "#email", "value": "me@example.com"},
    {"action": "fill", "selector": "#password", "value": "secret"},
    {"action": "click", "selector": "#submit"}
  ]
}

谁可以使用这个?

工具它如何调用ZenLink
克劳德桌面版 (通过MCP外壳)Invoke-RestMethod http://localhost:8765/api/...
ChatGPT (通过代码解释器/操作)对localhost的HTTP请求
任何具有终端访问权限的AIcurl, wget, requests, fetch
Python脚本requests.post("http://localhost:8765/api/click", json={...})
Node.jsfetch("http://localhost:8765/api/...")
Bash脚本curl -s localhost:8765/api/page-text
PowerShellInvoke-RestMethod localhost:8765/api/status

如果它可以发出HTTP请求,它就可以控制你的浏览器。

快速开始

1.安装Python依赖项

pip install websockets

2.在Zen浏览器(或Firefox)中加载扩展

  1. 打开 about:debugging#/runtime/this-firefox
  2. 点击 加载临时加载项。。。
  3. 选择 manifest.json 从该文件夹

3.启动桥梁

python native/bridge.py

或者双击 start-bridge.bat

4.验证

curl http://localhost:8765/api/status
# {"status": "running", "extension_connected": true}

API 参考

读取操作(GET)

端点描述
/api/status桥接+扩展连接状态
/api/tabs列出所有打开的选项卡
/api/page-infoURL、标题、尺寸、滚动位置
/api/page-text从页面中提取可读文本
/api/dom可访问性树
/api/forms所有带有标签和值的表单字段
/api/screenshot捕获视口(保存PNG,返回路径)

动作操作(POST)

端点正文描述
/api/navigate{"url": "...", "expectTitle": "..."}加载URL(重定向检测的可选标题检查)
/api/new-tab{"url": "..."}在新选项卡中打开URL
/api/close-tab{"tabId": 123}按ID关闭选项卡
/api/switch-tab{"tabId": 123}聚焦选项卡
/api/click{"selector": "..."} 或 {"coords": {"x":0,"y":0}}点击元素
/api/type{"selector": "...", "text": "...", "clear": true}输入
/api/fill{"selector": "...", "value": "..."}设置表单字段值
/api/scroll{"direction": "down", "amount": 1}滚动页面(amount =视口高度,默认值1)
/api/hover{"selector": "..."}将鼠标悬停在元素上
/api/find{"query": "login button"}按描述查找元素
/api/js{"code": "document.title"}执行JavaScript(50KB结果限制,返回 truncated: true 如果超过)
/api/highlight{"selector": "..."}元素上的视觉叠加
/api/clear-highlight_(无)_删除所有高光覆盖
/api/page-text-by-tab-id{"tabId": 123}从特定选项卡中提取文本(不仅仅是活动选项卡)
/api/wait-for-element{"selector": "...", "timeout": 10000}轮询直到元素出现在DOM中
/api/wait-for-result{"code": "...", "timeout": 15000}轮询JS表达式,直到它返回非空
/api/batch{"commands": [...], "stopOnWarning": true}运行多个命令(如果设置了标志,则在警告/错误时停止)

批处理命令

在单个请求中发送多个命令� 比单个呼叫快得多:

POST http://localhost:8765/api/batch
{
  "commands": [
    {"action": "navigate", "url": "https://example.com"},
    {"action": "sleep", "ms": 2000},
    {"action": "fill", "selector": "#email", "value": "test@example.com"},
    {"action": "fill", "selector": "#password", "value": "secret"},
    {"action": "click", "selector": "#submit"},
    {"action": "pageInfo"}
  ]
}

可用的批处理操作: navigate, newTab, closeTab, switchTab, click, type, fill, scroll, hover, find, js, pageInfo, pageText, pageTextByTabId, screenshot, tabs, forms, dom, highlight, waitForElement, waitForResult, sleep, parallel

stopOnWarning:设置为 true 如果任何命令返回 warning (例如。 expectTitle 重定向不匹配)或 error。停止结果将包括 _stopped: true.

expectTitle 导航:通行证 "expectTitle": "keyword" 检查加载的页面标题。如果标题不包含关键字(不区分大小写),则结果包括 warning 和 redirected: true --可用于捕获静默URL重定向。

parallel:同时运行多个命令序列。每个序列按顺序运行其命令,但所有序列同时执行。针对活动选项卡的命令(如 navigate) 必须 包括明确的 tabId 以避免比赛条件。

{
  "action": "parallel",
  "sequences": [
    [
      {"action": "pageText", "tabId": 1},
      {"action": "screenshot"}
    ],
    [
      {"action": "forms", "tabId": 2}
    ]
  ]
}

元素定位

针对元素的多种方法:

  • CSS选择器: #id, .class, input[name=email]
  • 元件位号: r0, r5 � 返回由 /api/find 和 /api/dom
  • 坐标: {"coords": {"x": 100, "y": 200}}

用法示例

python

import requests

# Navigate and fill a form
requests.post("http://localhost:8765/api/navigate", json={"url": "https://example.com"})
requests.post("http://localhost:8765/api/fill", json={"selector": "#search", "value": "hello"})
requests.post("http://localhost:8765/api/click", json={"selector": "#submit"})

# Read page content
text = requests.get("http://localhost:8765/api/page-text").json()

PowerShell(克劳德桌面/MCP)

Invoke-RestMethod http://localhost:8765/api/navigate -Method Post -Body '{"url":"https://example.com"}' -ContentType "application/json"
Invoke-RestMethod http://localhost:8765/api/page-text

卷曲

curl -X POST http://localhost:8765/api/navigate -H "Content-Type: application/json" -d '{"url":"https://example.com"}'
curl http://localhost:8765/api/page-text

JavaScript/Node.js

await fetch("http://localhost:8765/api/navigate", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({url: "https://example.com"})
});
const {title} = await (await fetch("http://localhost:8765/api/page-info")).json();

特性

  • 全页面控制 � 导航、单击、键入、滚动、悬停、填写表单
  • 智能元素查找 � 自然语言查询、CSS选择器、坐标或引用ID
  • 选项卡管理 � 打开、关闭、切换、列出选项卡
  • 截图 � 将视口捕获为PNG
  • JavaScript执行 � 在页面上下文中运行任意JS(带有截断标志的50KB结果上限)
  • 批处理命令 � 一个请求中包含多个命令 stopOnWarning 早期流产
  • 等待图元 � waitForElement 和 waitForResult 轮询,直到DOM/数据准备就绪
  • 重定向检测 � expectTitle 在导航时捕获静默URL重定向
  • 影子DOM支持 � 自动穿透现代web组件的开放阴影根
  • 自动重新连接 � 网桥重启后,扩展以指数回退方式重新连接
  • 内容脚本版本控制 � 更新的脚本自动注入,无需页面刷新

已知限制

  • 扩展作为临时插件加载(浏览器重启后需要重新加载)
  • about: 浏览器内部页面无法控制
  • /api/type 不支持content可编辑元素(使用 /api/js 相反)
  • 闭式阴影DOM表单需要 /api/js 用于值设置
  • 本地主机端点上没有身份验证(仅供本地使用)

安全说明

ZenLink公开了对localhost的完全浏览器控制,无需身份验证。这是为个人、本地使用而设计的。如果需要通过网络公开它,请先添加基于令牌的身份验证。

起源

出于对Chrome MCP被破坏的沮丧而构建。最初创建的目的是通过Zen browser为Claude Desktop浏览器提供自动化功能,但可以与任何可以发出HTTP请求的工具一起使用。

许可证

MIT � 你想用它做什么就做什么。

工具与能力

工具数量

24

资源数量

0

提示词数量

0

能力标签

浏览器自动化JavaScript本地部署HTTPAPIAI助手集成自动化脚本REST端点

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 工具数量 24 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Zen Link

MCP World · 本页

24stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Zen Link 怎么安装?

公开资料给出的安装命令是 pip install websockets,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Zen Link 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Zen Link 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Zen Link 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Zen Link 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP