Skip to main content
Glama
ScrapeUnblocker

ScrapeUnblocker MCP Server

Official

List page elements (selector discovery)

list_elements
Read-only

Load a page through ScrapeUnblocker and return a JSON list of its notable elements (links, inputs, buttons, selects, etc.) with a ready-to-use selector for each, plus tag, text and useful attributes (name, id, type, placeholder…

Instructions

Load a page through ScrapeUnblocker and return a JSON list of its notable elements (links, inputs, buttons, selects, etc.) with a ready-to-use selector for each, plus tag, text and useful attributes (name, id, type, placeholder, aria_label, href, ...). Read-only and does not interact with the page. This is the discovery half of interactive scraping: call list_elements to find the selectors you need, then pass matching steps to browse_page to click/type/select and capture the resulting HTML.

Input Schema

NameRequiredDescriptionDefault
urlYesThe absolute URL whose elements you want to list.
proxy_countryNoOptional ISO country code to route through, e.g. 'US'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces with 'Read-only and does not interact with the page' while adding non-obvious context: fetching happens via ScrapeUnblocker (an external proxy service) and the response is a JSON element list with selectors and attributes. It stops short of covering failure behavior (blocked pages, non-HTML content) or proxy fallback, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both front-loaded: the first states the action and the return shape, the second supplies the workflow linkage. No filler, and the discovery-only constraint is stated before the sibling hand-off.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden and does describe the return payload (element kinds, selector, tag/text/attributes). What an agent would still want — behavior on blocked or non-HTML pages, and whether element listing is capped — is absent, keeping it just below a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (`url`, `proxy_country`) are documented in-schema, so the description need only not contradict them. It mentions loading 'a page' but adds no format or semantics beyond the schema, which lands at the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('Load a page ... return a JSON list of its notable elements') and enumerates what is returned, including the ready-to-use `selector` per element. The opening verb+resource pair makes it immediately distinguishable from sibling fetch tools such as fetch_html or browse_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly frames the tool as the 'discovery half of interactive scraping' and names the follow-up path: pass matching `steps` to `browse_page`. This gives an agent both when-to-use and the concrete alternative it complements, with no inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.