Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者提供的说明(英文原文)
Structured web intelligence for AI agents. 5x fewer tokens than Playwright/Firecrawl, 84.7% accuracy
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"pagemap": {
"command": "uvx",
"args": [
"retio-pagemap"
]
}
}
}在终端中运行这条命令
claude mcp add pagemap -- uvx retio-pagemap粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"pagemap": {
"command": "uvx",
"args": [
"retio-pagemap"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"pagemap": {
"type": "stdio",
"command": "uvx",
"args": [
"retio-pagemap"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 Retio-ai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.7.3)于8个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv), Docker。
同一分类中有:Browser Use, Chrome DevTools MCP, MCP Server Browser
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
PageMap converts raw HTML (100K+ tokens) into structured, AI-readable page maps (2-5K tokens) — a 97% token reduction. It works as an MCP server, Python SDK, and CLI, supporting 16 page types and 30+ e-commerce sites. Agents can read, click, type, and navigate any web page.
*"Give your agent eyes and hands on the web."*
Playwright MCP dumps 50-540KB accessibility snapshots per page, overflowing context windows after 2-3 navigations. Firecrawl and Jina convert HTML to markdown — read-only, no interaction.
PageMap gives your agent a compressed, actionable view of any web page:
| PageMap | Playwright MCP | Firecrawl | Jina Reader | |
|---|---|---|---|---|
| Tokens / page | 2-5K | 6-50K | 10-50K | 10-50K |
| Interaction | click / type / select / hover | Raw tree parsing | Read-only | Read-only |
| Multi-page sessions | Unlimited | Breaks at 2-3 pages | N/A | N/A |
| Task success (94 tasks) | 84.7% | 61.5% | 64.5% | 57.8% |
| Avg tokens / task | 2,710 | 13,737 | 13,888 | 11,424 |
| Cost / 94 tasks | $1.06 | $4.09 | $3.98 | $2.26 |
Benchmarked across 11 e-commerce sites, 94 static tasks, 7 conditions. 8,100+ tests passing.
Chromium is auto-installed on first use — no manual playwright install needed.
pip install retio-pagemap
Add to Claude Code, Cursor, Windsurf, or Claude Desktop:
{
"mcpServers": { "pagemap": { "command": "uvx", "args": ["retio-pagemap"] } } }
Claude Desktop (macOS): Use the absolute path to
uvx— runwhich uvx(e.g./opt/homebrew/bin/uvx).
VS Code (Copilot): Use
"servers"instead of"mcpServers"in.vscode/mcp.json.
docker run -p 8000:8000 retio1001/pagemap --transport http
Not just reading — your agent can click buttons, fill forms, select options, manage tabs, and navigate across pages. 13 tools cover the full browsing workflow:
get_page_map · execute_action · fill_form · scroll_page · wait_for · take_screenshot · get_page_state · navigate_back · batch_get_page_map · open_tab · switch_tab · list_tabs · close_tab
PageMap automatically classifies pages and applies optimized extraction for each type:
product_detail · listing · search_results · article · news · video · login · form · checkout · dashboard · help_faq · settings · error · documentation · landing · blocked
Built-in support for 30+ major e-commerce sites across 4 tiers:
Structured extraction of prices, options (size/color), ratings, availability — with automatic cookie consent handling and login barrier detection.
PageMap detects problems and tells your agent what to do:
barrier field with the diagnosis and suggested next stepsrole="dialog" + HTML regex 2-phase detection. Promotional popups (newsletter, exit-intent) auto-dismissedto_delta_packet() serializer emits digest-bound evidence units, claim candidates, provenance, and authority flags for downstream memory/review systems without changing the default MCP outputLocale auto-detected from URL. Token budgets adjusted for CJK scripts.
| Language | Locale | Language | Locale |
|---|---|---|---|
| English | en | Chinese | zh |
| Korean | ko | Spanish | es |
| Japanese | ja | Italian | it |
| French | fr | Portuguese | pt |
| German | de | Dutch | nl |
Default mode. Runs as a local MCP server — no server setup needed.
retio-pagemap
docker run -p 8000:8000 retio1001/pagemap --transport http
Multi-architecture images (amd64/arm64) available on Docker Hub and GitHub Container Registry.
import asyncio
from pagemap.browser_session import BrowserSession from pagemap.delta_serializer import to_delta_packet from pagemap.page_map_builder import build_page_map_live from pagemap.serializer import to_agent_prompt, to_json
async def main(): async with BrowserSession() as session: page_map = await build_page_map_live(session, "https://example.com/product/123") print(to_agent_prompt(page_map)) # Agent-optimized text format print(to_json(page_map)) # Structured JSON print(to_delta_packet(page_map)) # Digest-bound evidence packet print(page_map.page_type) # "product_detail" print(page_map.interactables) # [Interactable(ref=1, role="button", ...)] print(page_map.metadata) # {"name": "...", "price": "..."}
asyncio.run(main())
For offline processing (no browser):
from pagemap.page_map_builder import build_page_map_offline
page_map = build_page_map_offline(open("page.html").read(), url="https://example.com/product/123")
PageMap treats all web content as untrusted input:
--ignore-robots opt-out flagLocal development: Private IPs are blocked by default. Use --allow-local or PAGEMAP_ALLOW_LOCAL=1.
Users are responsible for complying with the terms of service of target websites and all applicable laws when using PageMap.
"spawn uvx ENOENT" (Claude Desktop on macOS) — Claude Desktop does not inherit your shell PATH. Run which uvx and use the absolute path in your config.
First page takes a long time — Chromium cold start takes ~10-30s on first navigation. Subsequent pages load in 1-3 seconds.
Localhost blocked — Use --allow-local flag or set PAGEMAP_ALLOW_LOCAL=1.
Chromium not found — Run pip install retio-pagemap && playwright install chromium to install manually.
Have a question or idea? Join the conversation in GitHub Discussions.
git clone https://github.com/Retio-ai/Retio-pagemap.git
cd Retio-pagemap uv sync --group dev playwright install chromium uv run pytest --tb=short -q
Local (STDIO) — Free forever. Self-hosted, open source under AGPL-3.0.
Cloud API — Hosted multi-tenant server with auth, rate limiting, and credit-based billing. Contact retio1001@retio.ai for access.
AGPL-3.0-only — see LICENSE for the full text.
For commercial licensing options, contact retio1001@retio.ai.
*This section is written for AI agents using PageMap as an MCP tool.*
| Tool | When to use |
|---|---|
get_page_map | Start here. Navigate to a URL and get a full structured map with numbered refs. |
execute_action | Click, type, select, or hover using a ref number from the last get_page_map. |
fill_form | Fill multiple form fields in one call. More efficient than sequential execute_action calls. |
get_page_state | Check current URL and title without a full rebuild. Use after actions that may navigate. |
scroll_page | Scroll to reveal lazy-loaded content before calling get_page_map again. |
wait_for | Wait for dynamic content to appear (e.g. after a search or form submit). |
take_screenshot | Capture the visual state when the PageMap alone is ambiguous. |
navigate_back | Go back one step in browser history. |
open_tab | Open a new browser tab and navigate to a URL. |
switch_tab | Switch to a different open tab by index. |
list_tabs | List all open tabs with their URLs and titles. |
close_tab | Close a tab by index. |
batch_get_page_map | Fetch multiple URLs in parallel. Use for comparison tasks. |
URL: https://example.com/product/123
Title: Product Name Type: product_detail # auto-detected page type
[1] button: Add to cart (click) [2] select: Size (select) — options: S, M, L, XL [3] link: See all reviews (click) ...
Price: $49.99 Rating: 4.5 / 5 (128 reviews) Description: ...
[1] https://cdn.example.com/product.jpg
Tokens: ~1,800 | Interactables: 24 | Generation: 380ms
ref number.When PageMap encounters a page-level o
只显示了开头部分;其余内容请在仓库中阅读