Skip to main content
Glama

scrapewise_get_matched_export_latest_status

Read-onlyIdempotent
        Tells whether the newest matched-results file of a group (one gzip CSV or JSON Lines file of all matched
        rows of the group's CURRENT matching run) is ready, how fresh it is, and the address to download it. Read
        only; costs nothing; never starts a build and never returns file bytes - download the file over HTTPS with
        the same API key (it can be hundreds of MB):
          curl -H "Authorization: Bearer <key>" -o lu.jsonl.gz "<url>"

        Args:
          - id (string, path, required): the group's id.
          - format (string, query, optional): jsonl (default), csv or xlsx.
          - compression (string, query, optional): none (with csv: a plain .csv file) or gzip (default).
          - layout (string, query, optional): human or machine (default: human for xlsx and plain csv, machine
            for csv.gz and jsonl).
          - systemFields (boolean, query, optional): fixed per format here; a value other than the layout's
            default is 400.
          - bucket (string, query, optional): all (default), matched, review or no - the matched grid's buckets.
          - customerRef (string, query, optional): only for a Scrapewise admin key while the admin works in
            another customer's account (Take Over): the customerUniqueRef of that customer. Required then
            (409 TAKE_OVER_ACTIVE without it); leave it out otherwise.

        Returns:
          {ready, state, jobId, matcherRunId, matchedAt, refreshStamp, verdictEpoch, stale, bytes, rows, builtAt,
          format, bucket, path, url, etag}. ready=true: the file at url is complete and belongs to the current
          matching run (matchedAt = when that run finished; refreshStamp = the newest daily price refresh inside
          it). stale=true: newer prices or review decisions exist and a newer file is on its way - the current
          one stays downloadable. ready=false with state QUEUED/RUNNING: a file is being built; null state: none
          exists yet (a GET of url starts one). contentVersion: 2 = the current file contents, 1 = a file built
          before them (served until the new one is ready). Each row of the file carries the SKU column,
          matchDecision (MATCH/REVIEW/NO), matchScore, reviewed, reviewVerdict (approve/reject/blank),
          pricesRefreshedAt (= refreshStamp, on every row) and priceRefreshedAt (only on rows whose price a
          refresh changed); machine layout (csv.gz, jsonl) also priceSourceJobId, matcherRunId, ownKey and
          masterKey; human layout (xlsx, plain csv) your own SKU, masterKey, masterName and masterPrice.
          Rows matched by exact EAN show ean_equal in decidedBy; their picture line is not checked. The group's
          daily matched file must be on: the group owner turns it on in the portal, group export settings.

        Examples:
          - Use when: "is today's matched file for group {id} ready, and where do I get it?".
          - Use when: checking how fresh the file is before a daily import (matchedAt, refreshStamp).
          - Don't use when: you need single matched rows -> read the matched data instead.

        Error Handling:
          - 400 INVALID_EXPORT_REQUEST: unknown format; 400 (CustomerError): unknown bucket or no group with this
            id for this customer.
          - 404 EXPORT_NO_MATCHED_RUN: the group has no finished matching run yet.
          - 409 TAKE_OVER_ACTIVE: this key's admin works in another customer's account - end Take Over or send
            customerRef=<that customer's ref>.
          - 402 without the data-export feature; 401 Unauthorized; 500 INTERNAL.

[runtime hint] This tool returns JSON-as-text — its response shape is dynamic (per-scraper itemsConfig, file binary, etc.) so the MCP outputSchema is omitted. Do not rely on the presence of any specific field in the response; treat the result as a string-or-object blob and parse defensively.

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": {
      "id": "<id>"
    },
    "name": "scrapewise_get_matched_export_latest_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
bucketNo
formatNo
layoutNohuman | machine. Default: human for xlsx and plain csv, machine for csv.gz and jsonl.
compressionNonone = a plain .csv file (with format=csv); gzip (default) = .csv.gz / .jsonl.gz.
customerRefNoAdmin keys in Take Over only: the customerUniqueRef of the customer the admin works for. Required then; leave it out otherwise.
systemFieldsNoFixed per format on the daily file: a value other than the layout's default is 400.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/non-destructive annotations: costs nothing, never initiates a build, never returns file bytes, download requires the same API key, and the file can be hundreds of MB. It also explains the ready/stale/contentVersion state machine and what a bare GET of url does when no file exists.

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 purpose before the structured Args/Returns/Examples/Error Handling blocks, so an agent can stop early. The Args block largely restates schema descriptions (layout, compression, customerRef, systemFields) verbatim, which is redundant given the schema already carries those strings.

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?

No output schema exists, so the description carries the full return-shape burden and does it: it lists the status fields, defines ready/stale/contentVersion semantics, and describes per-row columns for machine vs human layouts. Error codes and their causes are enumerated, leaving little for an agent to guess.

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

Parameters5/5

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

Schema coverage is only 57%, and the description compensates fully: it enumerates format values (jsonl default, csv, xlsx), bucket values (all/matched/review/no), compression interplay with csv, layout defaults per format, the systemFields 400 constraint, and the Take Over rule for customerRef including the 409 without it.

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 precise verb+resource+scope: reports whether the newest matched-results export file of a group is ready, its freshness, and its download URL. It explicitly bounds the resource to the group's CURRENT matching run and distinguishes itself from the row-level alternative ("you need single matched rows -> read the matched data instead").

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?

Provides explicit "Use when" scenarios (readiness check, freshness check before a daily import) and an explicit "Don't use when" routing rule to the matched-data tool. It also states prerequisites (the group's daily matched file must be enabled in portal export settings) and negative conditions (never starts a build).

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.