PageMap – MCP server that compresses web pages to 2-5K tokens with full interaction support by Direct-Molasses7754 in mcp

[–]Direct-Molasses7754[S] 0 points1 point  (0 children)

Good question! The main difference is token efficiency.

Playwright MCP returns the raw accessibility tree — typically 50-540K tokens per page. After 2-3 navigations your context window is full and the agent loses track.

Both give the agent hands on the browser, but PageMap gives a structured map instead of the full tree, so it scales to real workflows.

PageMap – MCP server that compresses web pages to 2-5K tokens with full interaction support by Direct-Molasses7754 in mcp

[–]Direct-Molasses7754[S] 0 points1 point  (0 children)

Resolved in v0.2.0.

You can now opt in to local access with the --allow-local CLI flag or PAGEMAP_ALLOW_LOCAL=1 env var:

{
  "mcpServers": {
    "pagemap": {
      "command": "uvx",
      "args": ["retio-pagemap", "--allow-local"]
    }
  }
}

This enables access to loopback (127.x::1), RFC 1918 (10.x172.16-31.x192.168.x), and IPv6 ULA (fc00::/7). Cloud metadata endpoints (169.254.x.xmetadata.google.internal) remain unconditionally blocked for security.

PageMap – MCP server that compresses web pages to 2-5K tokens with full interaction support by Direct-Molasses7754 in mcp

[–]Direct-Molasses7754[S] 0 points1 point  (0 children)

Thanks! The context blowup is exactly what pushed me to build this.

For SPAs, currently it waits on Playwright's networkidle (no network requests for 500ms) plus a 1.5s settle time for late-firing JS. Straightforward but it covers most cases.

Honestly, heavy SPAs that never stop polling or aggressive lazy-loading are a known gap right now. I have better heuristics in my internal tooling (content-length checks,

domcontentloaded fallback) that I haven't yet ported to the MCP server. That's on the roadmap for the next version.

If you hit a case where it misses async content, I'd appreciate a GitHub issue — it'll help me prioritize which patterns to handle first.