Skip to main content
Glama

Extract Structured Data

importio_extract_data
Read-onlyIdempotent

Run BrowserEngine.extractData(runtimeConfig) for structured data extraction after the page is loaded. Use only when you have a known-good concrete runtimeConfig; it is not a selector discovery tool and may fail opaquely when runtimeConfig is incomplete or malformed. Empty results usually mean the config/selectors did not match the rendered page, not that the page has no data. For unknown data pages or forms, inspect via importio_web_fetch with wait_for_selector (when known) and importio_get_html with options.replaceAssets=false instead of guessing runtimeConfig shapes.

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": {
      "runtimeConfig": "<runtimeConfig>"
    },
    "name": "importio_extract_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
runtimeConfigYesConcrete extraction configuration passed to BrowserEngine.extractData; it must match the rendered page structure, so inspect the page first when the shape is unknown.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / runtimeConfig / description
      Added value: +"Concrete extraction configuration passed to BrowserEngine.extractData; it must match the rendered page structure, so inspect the page first when the shape is unknown."
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the description is not burdened with the safety profile. It adds real behavioral value beyond them: opaque failures when runtimeConfig is incomplete or malformed, and the critical warning that empty results usually indicate a config/selector mismatch rather than an empty page. It stops short of describing the returned data's shape, which matters since there is no output schema.

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?

Front-loaded with the action, then the precondition, then failure semantics, then alternatives — a logical order with little waste. It is dense but every sentence carries information; the API-signature phrasing is slightly jargon-heavy but functional.

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?

For a one-parameter, open-world extraction call with no output schema, it covers preconditions, failure modes, and escape hatches to sibling tools. The remaining gap is what successful output looks like and how it relates to the empty-result case, plus no mention of the importio_action_extract_data sibling.

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 the single runtimeConfig parameter already documents that it must match the rendered page structure. The description's warning about malformed configs reinforces that but adds no syntax, shape, or field-level guidance for an open-ended nested object with additionalProperties=true, so the schema still does the heavy lifting.

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?

States a specific verb and resource: run BrowserEngine.extractData(runtimeConfig) to extract structured data from an already-loaded page. It also draws a boundary ("not a selector discovery tool"). The one gap is that it never distinguishes itself from the near-identically named sibling importio_action_extract_data, which an agent could easily confuse.

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?

Explicit when-to-use ("Use only when you have a known-good concrete runtimeConfig"), explicit when-not ("not a selector discovery tool"), and named alternatives with the exact conditions for them: importio_web_fetch with wait_for_selector and importio_get_html with options.replaceAssets=false for unknown pages. This is a strong routing statement.

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