Browse Page with PageMap
Use the PageMap MCP server to browse, read, and interact with web pages. PageMap compresses ~100K-token HTML into a 2-5K-token structured map while preserving every actionable element.
Core Workflow
1. Read a page
Call get_page_map with a URL. The response contains:
- Actions — Interactive elements with numbered
[ref] identifiers and affordances (click, type, select, hover)
- Info — Compressed HTML with prices, titles, ratings, and key content
- Images — Product/content image URLs
- Metadata — Structured data from JSON-LD and Open Graph
2. Interact with elements
Use execute_action with a ref number from the Actions section:
execute_action(ref=3, action="click") — Click a button or link
execute_action(ref=5, action="type", value="search query") — Type into an input
execute_action(ref=7, action="select", value="Large") — Select a dropdown option
execute_action(ref=2, action="hover") — Hover to reveal menus
3. Fill forms
Use fill_form to batch-fill multiple fields in one call:
fill_form(fields=[
{"ref": 3, "value": "John Doe"},
{"ref": 4, "value": "john@example.com"},
{"ref": 5, "value": "Large"}
])
Tips
- Refs expire after page changes. If you get a "refs expired" error, call
get_page_map again to refresh.
- Scroll with
scroll_page(direction="down") to reveal more content, then call get_page_map to see newly loaded elements.
- Wait for dynamic content with
wait_for(text="Add to Cart") before interacting.
- Compare pages with
batch_get_page_map(urls=[...]) to read multiple URLs in parallel.
- Check state with
get_page_state for a lightweight URL/title check without rebuilding the full map.
- Screenshot with
take_screenshot when you need visual confirmation.
- Go back with
navigate_back to return to the previous page.
Available Tools
| Tool |
Purpose |
get_page_map |
Navigate to URL, return structured map with ref numbers |
execute_action |
Click, type, select, hover by ref number |
fill_form |
Batch-fill multiple form fields |
get_page_state |
Lightweight state check (URL, title) |
scroll_page |
Scroll up/down/to position |
wait_for |
Wait for text to appear/disappear |
take_screenshot |
Capture viewport or full page |
navigate_back |
Go back in browser history |
batch_get_page_map |
Read multiple URLs in parallel |
1---2name: browse-page3description: Browse, read, and interact with web pages using PageMap MCP tools. Covers navigation, element interaction, form filling, and page state management.4---56# Browse Page with PageMap78Use the PageMap MCP server to browse, read, and interact with web pages. PageMap compresses ~100K-token HTML into a 2-5K-token structured map while preserving every actionable element.910## Core Workflow1112### 1. Read a page1314Call `get_page_map` with a URL. The response contains:1516- **Actions** — Interactive elements with numbered `[ref]` identifiers and affordances (click, type, select, hover)17- **Info** — Compressed HTML with prices, titles, ratings, and key content18- **Images** — Product/content image URLs19- **Metadata** — Structured data from JSON-LD and Open Graph2021### 2. Interact with elements2223Use `execute_action` with a ref number from the Actions section:2425- `execute_action(ref=3, action="click")` — Click a button or link26- `execute_action(ref=5, action="type", value="search query")` — Type into an input27- `execute_action(ref=7, action="select", value="Large")` — Select a dropdown option28- `execute_action(ref=2, action="hover")` — Hover to reveal menus2930### 3. Fill forms3132Use `fill_form` to batch-fill multiple fields in one call:3334```35fill_form(fields=[36 {"ref": 3, "value": "John Doe"},37 {"ref": 4, "value": "john@example.com"},38 {"ref": 5, "value": "Large"}39])40```4142## Tips4344- **Refs expire** after page changes. If you get a "refs expired" error, call `get_page_map` again to refresh.45- **Scroll** with `scroll_page(direction="down")` to reveal more content, then call `get_page_map` to see newly loaded elements.46- **Wait** for dynamic content with `wait_for(text="Add to Cart")` before interacting.47- **Compare pages** with `batch_get_page_map(urls=[...])` to read multiple URLs in parallel.48- **Check state** with `get_page_state` for a lightweight URL/title check without rebuilding the full map.49- **Screenshot** with `take_screenshot` when you need visual confirmation.50- **Go back** with `navigate_back` to return to the previous page.5152## Available Tools5354| Tool | Purpose |55|------|---------|56| `get_page_map` | Navigate to URL, return structured map with ref numbers |57| `execute_action` | Click, type, select, hover by ref number |58| `fill_form` | Batch-fill multiple form fields |59| `get_page_state` | Lightweight state check (URL, title) |60| `scroll_page` | Scroll up/down/to position |61| `wait_for` | Wait for text to appear/disappear |62| `take_screenshot` | Capture viewport or full page |63| `navigate_back` | Go back in browser history |64| `batch_get_page_map` | Read multiple URLs in parallel |