Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者提供的说明(英文原文)
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.vanshul.com/mcp在终端中运行这条命令
claude mcp add --transport http vanshulgoyal101 https://mcp.vanshul.com/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"vanshulgoyal101": {
"url": "https://mcp.vanshul.com/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"vanshulgoyal101": {
"type": "http",
"url": "https://mcp.vanshul.com/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.vanshul.com/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 vanshulgoyal101 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Browser Use, Chrome DevTools MCP, MCP Server Browser
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
MCP server for Chrome DevTools
MCP server for browser use access
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A public Model Context Protocol (MCP) server, running as a Cloudflare Worker, that lets any AI agent read the live web as clean Markdown. It builds on the same extraction pipeline as the sibling reader/ project (Mozilla Readability + Turndown), exposed over the MCP Streamable HTTP transport so agentic clients can plug straight in.
POST https://mcp.vanshul.com/mcp # JSON-RPC 2.0 (MCP)
GET https://mcp.vanshul.com/health # { ok: true, tools: [...] }
| Tool | Input | Returns |
|---|---|---|
fetch_markdown | { url, max_chars? } | The page's main content as clean Markdown (optionally truncated to max_chars) |
search_page | { url, query, max_matches?, context_chars? } | Only the passages matching query, each with its heading breadcrumb, ranked by relevance — token-efficient alternative to fetch_markdown |
fetch_metadata | { url } | JSON: title, byline, siteName, excerpt, wordCount |
extract_links | { url, limit? } | JSON: all outbound http(s) links + anchor text |
Remote/HTTP-capable clients (Claude Desktop, Cursor, Continue, …):
{
"mcpServers": { "web-reader": { "url": "https://mcp.vanshul.com/mcp" } } }
Stdio-only clients can bridge with mcp-remote:
npx mcp-remote https://mcp.vanshul.com/mcp
~/.cursor/mcp.json: { "mcpServers": { "web-reader": { "url": "https://mcp.vanshul.com/mcp" } } }
claude_desktop_config.json (Settings → Developer → Edit Config). If your version is stdio-only, use: { "mcpServers": { "web-reader": { "command": "npx", "args": ["mcp-remote", "https://mcp.vanshul.com/mcp"] } } }
web-reader with URL https://mcp.vanshul.com/mcp to your MCP servers config.curl -s https://mcp.vanshul.com/mcp \
-H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s https://mcp.vanshul.com/mcp \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call", "params":{"name":"fetch_markdown","arguments":{"url":"https://example.com"}}}'
curl -s https://mcp.vanshul.com/mcp \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":3,"method":"tools/call", "params":{"name":"search_page","arguments":{"url":"https://example.com","query":"more information"}}}'
mcp/
├── src/ │ ├── worker.ts # entry: routes /mcp, /health, rate limit, CORS │ ├── mcp.ts # JSON-RPC dispatch + tool definitions │ ├── extract.ts # HTML -> Markdown / links (Readability + Turndown) │ ├── search.ts # query-focused passage search over extracted Markdown │ ├── fetcher.ts # fetch with timeout, size cap, re-validated redirects │ └── security.ts # SSRF guard (block private/internal addresses) ├── public/ │ ├── index.html # landing page (served for non-API paths) │ ├── og.png # social share image (1200×630) │ ├── og.svg # social image source │ ├── robots.txt │ └── sitemap.xml ├── tests/ # vitest: security, extract, search, mcp dispatch, fetcher, worker ├── wrangler.toml ├── package.json ├── tsconfig.json └── README.md
cd mcp
npm install npm run typecheck npm test # vitest — security, extraction, search, MCP dispatch, fetcher, worker npm run dev # local worker at http://localhost:8787 (POST /mcp) npm run deploy # wrangler deploy
After the first deploy, attach the custom domain mcp.vanshul.com in the Cloudflare dashboard (Workers & Pages → this worker → Settings → Domains), or uncomment the [[routes]] block in wrangler.toml.
http(s) URLs; localhost, private ranges, cloud metadata and every redirect hop are blocked/re-validated.Implements initialize, ping, tools/list, tools/call and notifications (protocol version 2025-06-18). Tool failures are returned as { content, isError: true } so the agent can read the message and recover; malformed requests use standard JSON-RPC error codes.
MIT © Vanshul Goyal