Skip to main content
Glama
riveterhq

Riveter MCP Server

Official
by riveterhq

Run extraction

run_extraction

Starts an asynchronous extraction run using a saved extraction ID, filling placeholder variables to collect records from the source. Poll the run or provide a webhook URL to retrieve the JSON results.

Instructions

run extraction

Execute a ready extraction. Returns a run — poll GET /runs/{id} and fetch the extracted records with GET /runs/{id}/result (the records come back as an array of JSON objects matching your schema), or pass a webhook_url.

variables fills any {{ placeholder }} values the plan defines (e.g. a search term or location). Each run charges run credits (credits_charged).

Workflow: Starts an async extraction run. Poll get_run, then fetch the records with get_run_result.

Input Schema

NameRequiredDescriptionDefault
idYesThe extraction id (ext_...)
variablesNoValues for the plan's placeholders
max_creditsNoCredit ceiling. Refused with 422 credit_cap_exceeded (nothing charged) when the estimate's maximum exceeds it.
webhook_urlNoURL to POST the records to when the run completes
estimate_costNoValidate and price the request without running or charging anything; the 200 response is the credit estimate (EstimateCostResult).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.5

TDQS

A4.4/5.0
Behavior4/5

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

With annotations already declaring openWorld/non-idempotent/non-destructive, the description adds real behavioral context: the call is async, returns a run rather than records, consumes run credits per invocation (`credits_charged`), and can be refused with 422 credit_cap_exceeded without charging. It does not mention credential/permission requirements or how to abort a started run (stop_run exists), leaving a small gap.

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?

Reasonably front-loaded: the verb, the precondition, then the delivery options, then costs, then the workflow. Slightly penalized for a redundant lowercase 'run extraction' lead-in that merely restates the title, plus inline markdown anchors that add noise without semantics.

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 an async, non-idempotent, credit-charging tool with no output schema, the description supplies everything the agent needs: that it returns a run object, the exact follow-up calls to obtain the records, the shape of the returned records (array of JSON objects matching the caller's schema), and the webhook escape hatch.

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?

Schema coverage is 100%, so the baseline is 3. The description still earns a bump by explaining what `variables` actually does — filling `{{ placeholder }}` values with concrete examples like a search term or location — and by framing `webhook_url` as the delivery alternative to polling. `max_credits` and `estimate_cost` are left entirely to their schema text.

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?

The first content sentence is a specific verb+resource: 'Execute a `ready` extraction', and the workflow line names the async run being started. It implicitly distinguishes itself from create_extraction by requiring an existing `ready` extraction, so an agent knows this is the execute step, not the authoring step.

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

Usage Guidelines4/5

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

Explicit workflow routing: 'poll `get_run`, then fetch the records with `get_run_result`', or alternatively 'pass a `webhook_url`'. The prerequisite (`ready` extraction) is stated. It stops short of telling the agent when to prefer webhook vs polling, or when to price first via estimate_cost, but the alternatives are named.

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