Skip to main content
Glama

Fetch Rendered Page

importio_web_fetch

Provides rendered web access for AI agents: navigates to a URL, waits for it to render, and returns the page content, including JavaScript-heavy pages that a raw HTTP fetch would miss. Pass wait_for_selector when a specific element must exist before reading. For unknown data pages, call this first, then inspect HTML with importio_get_html options.replaceAssets=false if selectors or runtimeConfig are unknown. Returns rendered HTML without asset inlining by default, or extracted data if a known-good concrete runtimeConfig is provided. Empty extraction results usually mean the config/selectors did not match the rendered page. Uses managed proxy selection and bounded blocked-page retries; residential escalation is opt-in. snake_case and camelCase parameter names are equivalent aliases (wait_for_selector / waitForSelector, timeout_ms / timeoutMs); provide either form.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "url": "<url>"
    },
    "name": "importio_web_fetch"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesURL to navigate to and read.
waitNoWait for the page load to settle before reading.
timeoutMsNoAlias of timeout_ms; provide either form.
timeout_msNoNavigation timeout in milliseconds.
proxy_retryNoBounded blocked-page retry policy for the navigation.
runtimeConfigNoOptional extraction configuration; when provided, extracted data is returned instead of HTML, and it must match the rendered page.
proxy_selectionNoManaged proxy selection for the navigation; omit it to use the server default.
waitForSelectorNoAlias of wait_for_selector; provide either form.
wait_for_selectorNoCSS selector that must exist before the page is read.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / proxy_retry / description
      Added value: +"Bounded blocked-page retry policy for the navigation."
    • addedInput schema / properties / proxy_retry / properties / allowResidential
      Added value: +{
      +  "description": "Alias of allow_residential; provide either form.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / proxy_retry / properties / allow_residential / description
      Added value: +"Allow escalation to residential proxies when cheaper pools keep failing."
    • addedInput schema / properties / proxy_retry / properties / enabled / description
      Added value: +"Enable bounded navigation retries with fresh proxy checkouts."
    • addedInput schema / properties / proxy_retry / properties / inferCountry
      Added value: +{
      +  "description": "Alias of infer_country; provide either form.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / proxy_retry / properties / infer_country / description
      Added value: +"Infer the proxy country from the URL when proxy_selection.country is not set."
    • addedInput schema / properties / proxy_retry / properties / maxAttempts
      Added value: +{
      +  "description": "Alias of max_attempts; provide either form.",
      +  "maximum": 3,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / proxy_retry / properties / max_attempts / description
      Added value: +"Maximum navigation attempts including the first (1 to 3)."
    • addedInput schema / properties / proxy_selection / description
      Added value: +"Managed proxy selection for the navigation; omit it to use the server default."
    • addedInput schema / properties / proxy_selection / properties / type / description
      Added value: +"Proxy pool to use."
    • addedInput schema / properties / runtimeConfig / description
      Added value: +"Optional extraction configuration; when provided, extracted data is returned instead of HTML, and it must match the rendered page."
    • addedInput schema / properties / timeoutMs / description
      Added value: +"Alias of timeout_ms; provide either form."
    • addedInput schema / properties / timeout_ms / description
      Added value: +"Navigation timeout in milliseconds."
    • addedInput schema / properties / url / description
      Added value: +"URL to navigate to and read."
    • addedInput schema / properties / wait / description
      Added value: +"Wait for the page load to settle before reading."
    • addedInput schema / properties / waitForSelector / description
      Added value: +"Alias of wait_for_selector; provide either form."
    • addedInput schema / properties / wait_for_selector / description
      Added value: +"CSS selector that must exist before the page is read."
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses default return format (rendered HTML without asset inlining), the runtimeConfig alternative returning extracted data, managed proxy selection, bounded blocked-page retries, and opt-in residential escalation. That is substantive behavior not encoded in the annotations, though permissions, rate limits, and latency/cost tradeoffs of proxy pools are unstated.

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

Conciseness4/5

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

Content is front-loaded with purpose, then usage, then return semantics, and nearly every sentence carries information. The alias-equivalence sentence is somewhat mechanical given each parameter schema already states the alias, but overall the density is justified.

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

Completeness5/5

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

For a 9-parameter, nested-object tool with no output schema, the description covers the two possible return modes, the failure signature of empty extractions, retry and proxy behavior, and the recommended follow-up tool. An agent can invoke it correctly without opening the schema.

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

Parameters4/5

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

With 100% schema coverage the baseline is 3, but the description adds meaning the schema does not: the alias equivalence between snake_case and camelCase forms, the role of wait_for_selector as a render-readiness gate, and the constraint that runtimeConfig must match the rendered page. runtimeConfig remains opaque (additionalProperties true) and is only loosely characterized.

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

Purpose4/5

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

Description uses a specific verb+resource ("navigates to a URL, waits for it to render, and returns the page content") and differentiates from raw HTTP fetch and from importio_get_html. It does not explicitly position itself against close siblings like importio_render, importio_goto, or importio_action_render, which keeps it short of a 5.

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?

It gives explicit routing: use wait_for_selector when an element must exist, call this first for unknown data pages, then inspect HTML via importio_get_html with options.replaceAssets=false. It also provides a diagnostic rule for empty extraction results, so the agent knows both when to use it and how to interpret failure.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources