scroll
Scroll up or down by pixel amount (pixels, default: 500). Returns pagestate after scrolling.
How to use it
scroll is exposed by the AgenticCrawler MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the scroll tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
Install AgenticCrawler
claude mcp add acrawl -- acrawl mcpOther tools in AgenticCrawler (39)
Run axe-core WCAG accessibility audit on the current page. Returns violations grouped by impact level with selectors and descriptions. Use scope to limit to a specific DOM subtree.
(85k+ GitHub stars): Python + Playwright, DOM + screenshots, supports GPT/Claude/Gemini/Ollama via LiteLLM, 89.1% WebVoyager. No single binary — requires Python and pip install. Every action calls an LLM: 2-5s/step, ~$0.02-0.30/task. Cloud tier adds stealth; self-hosted is bare Playwright.
Cancel a running sub-agent by ID.
Click an element by CSS selector, @eN ref, or visible label text. Use text (with optional role/region) to activate a button, tab, or link by its label — handy for SPA admin UIs and modals where CSS paths are fragile. Returns pagestate after the click.
Click at specific viewport coordinates (x, y). Use for canvas, maps, or SVGs. Returns pagestate.
Run arbitrary JavaScript in the page context and return the result. Optional hoverselector hovers an element (CSS selector or @eN ref) before evaluation, for inspecting :hover styles. Optional settlems (max 5000) delays capturing the result so reactive frameworks (Vue/React) can flush DOM mutations
Fill form fields by selector, name, @eN ref, or visible label text — labels resolve page-wide, so fields in modals and div-based UIs without a <form> boundary work too. Optional auto-submit; on a submit-triggered redirect, waits for SPA readiness (DOM ready, visible text, hydration buffer) before re
Recommended. Prunes boilerplate before conversion, saving 30-60% tokens on typical pages.
Spawn a sub-agent on a new browser tab with its own goal and step budget.
Get page performance metrics using Navigation Timing and Resource Timing APIs. Returns TTFB, DOM timings, and a breakdown of the top 20 resources by transfer size. Works on both browsers and SPAs.
Browser back button. Returns pagestate with the resulting page structure.
Hover over an element to reveal tooltips or menus. Returns pagestate.
Raw HTML.
Inspect cookies on the current page with security analysis. Returns all cookies with domain, path, expiry, secure/httponly flags, and detected security issues. Includes third-party detection and filtering options.
Inspect a deduplicated console log group from listpagelogs and return concrete instances with timestamps, stack traces, and source locations.
Inspect a previously listed network request by its @rN id from listnetworkactivity. Returns the captured request metadata, coarse timing summary, initiator type, and notes about unavailable headers/bodies.
Inspect browser storage (localStorage and sessionStorage) on the current page. Returns all key-value pairs with size information. Supports filtering by storage type and key pattern.
Inspect actual WebSocket messages for a connection. Provide @wsN ID from listwebsocketactivity. Supports direction filter, pattern search, and sortby (newest/oldest).
Manage network interception rules. Block or mock requests matching URL glob patterns. Rules are additive — each call adds a rule. Use refresh() after adding rules to replay the page load with rules active.
List observed network requests buffered during this browser session. Supports temporal filtering by seq window, request-state filters, URL substring filtering, and adjective-based sorting such as slowest/fastest or newest/oldest. Returns stable @rN refs for follow-up inspection with inspectrequest.
List buffered console logs for the current page with optional level filtering and seq-based temporal filtering. Group by exact message text (default, deduplicated with @logN IDs), source, or level.
List all links, images, and forms on the current page.
Overview of WebSocket connections and message counts. Returns connections with @wsN IDs. Use inspectwebsocket to see actual message content.
Full HTML → markdown conversion. All content preserved.
Measure JavaScript and CSS code coverage on the current page. Returns per-file byte usage showing how much code was actually executed/applied versus total loaded. Useful for identifying unused bundles, oversized dependencies, and performance optimization opportunities.
Go to a URL (supports format: markdown/text/html/fitmarkdown). Uses HTTP first, auto-escalates to browser when JS is detected. Returns structured content with a pagemap. fitmarkdown prunes boilerplate DOM nodes before conversion, saving tokens.
Get the page's YAML accessibility tree (primary structural view). Each node: - role "name" [state...] [ref=eN]:. Scope by [ref=eN] or semantic token. depth controls tree depth.
Press a keyboard key (Enter, Escape, Tab, etc.), optionally targeting an element. Returns pagestate.
Extract text by heading name or CSS selector, with offset/limit pagination for large pages.
Reload the current page. Returns pagestate after reload. Use after setting intercept rules to replay the page load with rules active. Seq counter increments for temporal observation queries.
Download a URL to the output directory (path traversal protected).
Capture a full-page screenshot (base64 PNG).
Select a dropdown option by value, label, or index. Works on native <select> and custom ARIA/portal dropdowns; omit value/label/index to list the available options without selecting. Returns pagestate.
Switch browser device emulation (mobile/desktop). Supports 10 presets (iphone15, pixel7, ipadpro, desktop, etc.) or custom viewport/UA/touch parameters. Returns differential pagestate showing responsive layout changes.
Check the status and results of one or all active sub-agents without blocking.
Switch to a different browser tab by index. Returns pagestate of the new tab.
Plain text, no markdown.
Wait for a CSS selector to reach a given state (visible, hidden, attached, detached) or a fixed timeout (up to 300s). Set silent: true on a time-only wait to skip the pagestate diff and save tokens. Returns pagestate after the condition is met.
Wait for specific or all sub-agents to finish and collect results.