yet-another-web-scraper-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_browserB | Launch the Chromium browser. Call this once before navigating anywhere. |
| close_browserA | Close the Chromium browser instance. |
| navigateA | Go to a URL and return the page content, cleaned of / tags. The response is prefixed with the HTTP status line (e.g. "HTTP 200") so a
404/500 that renders a normal-looking page doesn't get mistaken for success.
If the site fetches its real content (prices, listings) client-side after
the initial paint, pass If the response looks like a Cloudflare/Akamai/CAPTCHA challenge page rather than real content, a "bot-challenge page" warning is prepended. This can happen even on a 200/403 that looks superficially normal. |
| clickA | Click an element by CSS selector (e.g. a pagination button) and return the resulting page's cleaned content. On stateful pages (large SPA/ASP.NET markup) re-returning the whole page
every click is wasteful. Pass If the click triggers a client-side fetch (e.g. a filter or "load more"
button) rather than a full reload, pass |
| wait_forA | Wait for |
| get_page_contentA | Return the current page's HTML with // tags stripped out. If If the page looks like a Cloudflare/Akamai/CAPTCHA challenge page rather than real content, a "bot-challenge page" warning is prepended (only on the first chunk, offset=0). |
| find_repeating_elementsA | Scan the current page for groups of repeated sibling elements (product cards, list items, search results, ...) and return candidate CSS selectors for each group, with a count and a text sample. Use this on an unfamiliar site instead of eyeballing raw HTML for class
names: pick a promising selector from the results and feed it to get_list
(as |
| get_listA | Extract one record per element matching
Because each field is looked up independently within its own container, results never get misaligned the way separate get_page_content calls + manual zipping do when some cards are missing a field (e.g. a strikethrough "was" price only some products have). Not sure of the right selectors? Call find_repeating_elements first. |
| get_page_linksA | List the current page's links as {text, href}, to help decide what to visit next. |
| get_json_ldA | Return schema.org structured data (JSON-LD) embedded in the current page, e.g. Recipe/Product/Article objects. Many sites (WordPress recipe plugins, e-commerce) embed clean structured data this way. Check here before falling back to get_page_content. |
| get_tableA | Parse an HTML table on the current page into rows of {column_header: cell_text}, using the first matching element's first as headers.
|
| add_recordA | Add one row of scraped data (column name -> value) to the in-memory dataset. |
| get_recordsA | Return every row collected so far, for review before exporting. |
| clear_recordsA | Discard all rows collected so far. Use this when starting over, e.g. you've been exploring one source and want to switch to another without mixing rows. |
| export_csvA | Write all collected rows to a CSV file (via pandas) and return its path. |
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/KhaledDev/yet-another-web-scraper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server