
PageMap
io.github.Retio-ai由 GitHub 账号 Retio-ai 发布v0.7.3更新于 Oct 24, 2026
Structured web intelligence for AI agents. 5x fewer tokens than Playwright/Firecrawl, 84.7% accuracy
概览
PageMap 是一个本地 MCP 服务器,把网页转换成紧凑的结构化页面地图,让 AI 助手能够读取并操作网页。
- 可以做什么
- 访问网址并获取压缩后的页面地图,包含带编号的引用、提取的信息与图片,还支持并行批量抓取多个网址和后退导航。使用上次地图中的引用进行点击、输入、选择、悬停、批量填写表单、滚动以及等待动态内容。查看当前网址和标题、截图,并打开、切换、列出和关闭浏览器标签页。识别登录墙、机器人拦截、Cookie 同意和弹窗等页面障碍,并给出建议的下一步。
- 适用场景
- 适合助手需要在较小上下文占用下浏览真实网站的场景:阅读商品、文章或搜索结果页,填写表单,以及完成多页流程。也适合在受支持的电商站点上进行商品调研与比较。
- 运行要求
- 以 stdio 方式作为本地进程运行;需要 Python 3.11+ 和 Chromium(首次使用时自动安装)。可从 PyPI 安装或使用 Docker 镜像。未声明任何 API 密钥或环境变量。除非启用允许本地访问的选项或设置 PAGEMAP_ALLOW_LOCAL,否则私有和本地地址会被阻止。
安装
在 SourceWeft 中
- 打开 控制台中的 PageMap,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
PageMap
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."
[CI] [PyPI] [Python] [License: AGPL-3.0] [Docker] [Awesome MCP Servers]
Why PageMap?
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:
Benchmarked across 11 e-commerce sites, 94 static tasks, 7 conditions. 8,100+ tests passing.
Quick Start
Chromium is auto-installed on first use — no manual playwright install needed.
Install
MCP Client Config
Add to Claude Code, Cursor, Windsurf, or Claude Desktop:
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
Features
13 MCP Tools — Read + Interact
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
16 Page Types, Auto-Detected
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
E-Commerce Deep Coverage
Built-in support for 30+ major e-commerce sites across 4 tiers:
- Global mega-platforms — Amazon, eBay, AliExpress, SHEIN, Walmart, Rakuten
- Global fashion — Zara, H&M, Nike, Uniqlo, ASOS, Zalando, SSENSE, Farfetch, COS
- Korea — Coupang, Naver Shopping, Musinsa, 29CM, W Concept, SSG, 11st
- Japan/China — ZOZO, Tmall, JD.com, Taobao
Structured extraction of prices, options (size/color), ratings, availability — with automatic cookie consent handling and login barrier detection.
Smart Recovery
PageMap detects problems and tells your agent what to do:
- Barrier detection — Login required? Bot blocked? Out of stock? Age verification? Popup overlay? PageMap adds a
barrierfield with the diagnosis and suggested next steps - Cookie consent auto-dismiss — 7 CMP providers auto-detected (Cookiebot, OneTrust, TrustArc, Didomi, Quantcast, Usercentrics, generic fallback). 5-tier dismiss cascade: CMP JS API → Reject → Accept → Dismiss → Close symbol. GDPR reject-first default policy
- Popup overlay detection — AX tree
role="dialog"+ HTML regex 2-phase detection. Promotional popups (newsletter, exit-intent) auto-dismissed - Bot detection awareness — Detects Cloudflare, Turnstile, reCAPTCHA, hCaptcha, and Akamai. Reports the provider and suggests wait/retry strategies
- Stale ref recovery — When DOM changes invalidate refs, PageMap returns clear guidance to re-fetch
Content Intelligence
- 8 JSON-LD schemas — Product, NewsArticle, VideoObject, FAQPage, Event, LocalBusiness, BreadcrumbList, and ItemList
- Metadata extraction — Prices, ratings, reviews, descriptions, images from structured data and DOM fallbacks
- 2-layer caching — Cache hit (~10ms), content refresh (~500ms), full rebuild (~1.5s). Diff-based updates for unchanged sections
- Delta evidence packet output - Optional
to_delta_packet()serializer emits digest-bound evidence units, claim candidates, provenance, and authority flags for downstream memory/review systems without changing the default MCP output
10 Languages
Locale auto-detected from URL. Token budgets adjusted for CJK scripts.
Deployment
Local (STDIO)
Default mode. Runs as a local MCP server — no server setup needed.
Docker
Multi-architecture images (amd64/arm64) available on Docker Hub and GitHub Container Registry.
Python API
For offline processing (no browser):
Security
PageMap treats all web content as untrusted input:
- SSRF defense — Multi-layer protection against server-side request forgery
- Prompt injection defense — Content boundaries, role-prefix stripping, suspicious content flagging
- robots.txt compliance — RFC 9309 compliant.
--ignore-robotsopt-out flag - Resource guards — DOM node limit, HTML size limit, response size limit
- Session isolation — Each session has independent cookies and storage, automatically cleaned up
Local development: Private IPs are blocked by default. Use --allow-local or PAGEMAP_ALLOW_LOCAL=1.
Disclaimer
Users are responsible for complying with the terms of service of target websites and all applicable laws when using PageMap.
Troubleshooting
"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.
Requirements
- Python 3.11+
- Chromium (auto-installed on first use)
Community
Have a question or idea? Join the conversation in GitHub Discussions.
Development
Pricing
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 [email protected] for access.
License
AGPL-3.0-only — see LICENSE for the full text.
For commercial licensing options, contact [email protected].
For Agents
This section is written for AI agents using PageMap as an MCP tool.
Tools
Output Format
## Actions— Every interactive element on the page with a stablerefnumber.## Info— Key page content extracted from HTML: prices, titles, ratings, descriptions.## Images— Product/content image URLs.## Meta— Token count, interactable count, generation time.
Barrier Detection
When PageMap encounters a page-level obstacle, it includes a barrier field in the response:
Possible barriers: cookie_consent, login_required, bot_blocked, out_of_stock, empty_results, error_page, age_verification, region_restricted, popup_overlay.
When you see a barrier: follow the barrier_hint guidance. For bot_blocked, wait and retry. For login_required, use fill_form with credentials.
Ref Lifecycle
Refs are assigned by get_page_map and remain valid until the page state changes.
Refs are invalidated when:
- The page navigates to a new URL
- A DOM mutation occurs (modal opens, SPA navigation, accordion toggles)
execute_actioncauses a page-level change
When you get a stale ref error: call get_page_map again to get fresh refs before retrying.
Token Budget Behavior
When a page exceeds the token budget, content is pruned in this order:
- Navigation menus, footers, sidebars removed first
- Secondary body content trimmed
## Actionsand## Infoare always preserved
If key content seems missing, try scroll_page to load lazy content, then get_page_map again.
Recommended Workflow
For pages with dynamic content (search results, filters):
Known Limitations
- Login-gated pages — PageMap does not manage sessions or cookies. Authentication must be handled externally.
- Heavy bot detection (Cloudflare, Akamai) — May block automated access. PageMap detects the provider and suggests strategies, but cannot bypass active bot mitigation.
- Private network access — Blocked by default. Requires
--allow-localflag. - iframes — Cross-origin iframes are not accessible due to browser security policies.
PageMap — Structured Web Intelligence for the Agent Era.
来源:README.md,提交 684ad79
工具
0版本历史
1- v0.7.3最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。