web-scraper-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scrape_urlB | Scrape a URL and return its content. Primary tool for content acquisition. |
| batch_scrapeC | Scrape multiple URLs in parallel. |
| screenshotC | Capture a screenshot of a webpage. |
| save_pdfC | Save a URL as a PDF file. |
| get_metadataB | Extract semantic metadata (JSON-LD, OpenGraph, TwitterCards). |
| get_sitemapB | Smart Sitemap Discovery and Filtering. Use 'keywords' to filter (e.g. 'team', 'about' for finding people pages). |
| crawl_siteC | Crawl a site's sitemap to discover pages. |
| extract_contactsB | Extract all contact information from a URL. Returns structured JSON with emails, phones, socials, and detected names. |
| batch_contactsA | Extract contacts from multiple URLs in parallel. Uses hardware-limited concurrency (CPU cores - 1) for optimal performance. |
| extract_linksB | Extract all hyperlinks from a webpage. |
| search_webC | Perform a web search and return results. |
| deep_researchC | Perform Deep Research (Search + Crawl + Report). |
| fill_formB | Fill and submit a web form. Supports login automation. |
| extract_tablesC | Extract structured table data from webpage. |
| click_elementA | Navigate to URL and click an element (for JS triggers, expanding sections). |
| health_checkA | Check system health. Returns status of browser, cache, sessions. |
| validate_urlA | Validate URL reachability before scraping. Returns status, content type, size. |
| detect_content_typeC | Detect content type of URL (HTML, PDF, image, etc.). |
| download_fileC | Download file from URL. Saves PDFs, images, documents directly. |
| chunk_textA | Split text into overlapping chunks for LLM processing. Useful for processing content that exceeds context limits. |
| get_token_countB | Estimate token count for text. Helps manage LLM context limits. |
| truncate_textA | Truncate text to fit within token limit. Preserves sentence boundaries when possible. |
| configure_scraperD | Configure browser settings. |
| configure_stealthC | Configure stealth mode and robots.txt compliance. |
| configure_runtimeC | Apply runtime override values without restarting the MCP server. |
| reload_runtime_configC | Reload runtime settings from config files. |
| get_configB | Get current configuration settings. |
| get_host_profilesB | Return host profile learning store (all hosts or one host). |
| clear_host_profileB | Delete one host profile record from the profile store. |
| set_host_profileB | Set active host routing profile from JSON payload (admin override). |
| configure_host_learningC | Configure host-profile auto-learning behavior. |
| configure_retryC | Configure retry behavior with exponential backoff. |
| clear_cacheA | Clear the response cache. Use when cached data may be stale. |
| get_cache_statsA | Get response cache statistics (hits, misses, size). |
| clear_sessionA | Clear a browser session (cookies, storage). Use for fresh starts. |
| new_sessionA | Start a fresh browser session, clearing all existing sessions. |
| list_sessionsA | List all saved browser sessions. |
| get_historyC | Get recent scraping history. |
| clear_historyA | Clear scraping history. |
| run_playbookC | Execute an Autonomous Crawl using a Playbook. |
| start_jobA | Start a long-running job and return immediately with a Supported job types: |
| poll_jobB | Get current status of a job started by |
| cancel_jobC | Cancel a running async job. |
| list_jobsC | List recent async jobs and their statuses. |
| browser_navigateA | Navigate the interactive browser to a URL. Auto-detects and solves Cloudflare and PerimeterX challenges. Returns page state (url, title, status). Creates a new session if none exists. |
| browser_clickA | Click an element on the current page by CSS selector. Returns updated page state after the click. Requires an active browser session (call browser_navigate first). |
| browser_typeA | Type text into an input field on the current page. The selector should target an input, textarea, or contenteditable element. Returns updated page state. |
| browser_wait_forA | Wait for selector state or a fixed delay on the active page. Use this for SPA flows where UI updates are asynchronous. |
| browser_press_keyC | Press a keyboard key (Enter, Escape, Tab, ArrowDown, etc.). Optionally focus a selector before pressing. |
| browser_scrollA | Scroll page content or a specific scrollable element. Supports directions: up, down, left, right. |
| browser_hoverA | Hover over an element by CSS selector. Useful for menus and tooltips rendered on hover. |
| browser_get_interaction_mapB | Return a compact map of interactive elements with selector hints. Optimized for LLM context windows on dynamic pages. |
| browser_accessibility_treeA | Return a trimmed Playwright accessibility snapshot. Best for role/name-driven navigation on dynamic SPAs. |
| browser_screenshotA | Capture a screenshot of the current page. Returns base64-encoded PNG image data. |
| browser_read_pageA | Read the content of the current page or a specific element. Format: 'text' (default), 'html'. Selector: Optional CSS selector to read a specific element. Returns page state with content field. |
| browser_solve_challengeA | Explicitly trigger challenge detection and solving on the current page. Solves Cloudflare Turnstile, Cloudflare spatial, and PerimeterX Press & Hold. Returns page state with challenges_solved flag. |
| browser_evaluateA | Run a JavaScript expression on the current page and return the result. Useful for extracting data, checking page state, or triggering actions. Example: browser_evaluate("document.querySelectorAll('a').length") |
| browser_get_elementsA | Find elements matching a CSS selector on the current page. Returns up to 50 elements with tag, text, and href attributes. Useful for discovering clickable links, buttons, or form elements. |
| browser_closeA | Close the interactive browser session and free resources. Call this when done with interactive browsing. |
| run_challenge_diagnosticB | Run target-site diagnostics in either toolkit-native or matrix smoking-gun mode. mode=toolkit -> scripts/diag_toolkit_route.py mode=matrix -> scripts/challenge_diagnostic_matrix.py |
| run_bot_surface_diagnosticC | Run script-level bot surface diagnostics (scripts/bot_check.py). |
| run_browser_info_diagnostic_toolC | Collect browser fingerprint telemetry via scripts/get_browser_info.py. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ImYourBoyRoy/WebScraperToolkit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server