Skip to main content
Glama
spidra-io

spidra-mcp-server

Official
by spidra-io

spidra_run_template

Read-only

Run a scraping template with supplied inputs to return result rows, estimate credit cost before running, and paginate results.

Instructions

Run a template and get its rows. Most runs finish in this call (it waits up to about 45 seconds). A longer one returns a "runId"; check it with spidra_get_job (type "template_run") every 10 to 15 seconds until "status" isn't "running".

  • Get the inputs from spidra_get_template first. Send them in "inputs" by key.

  • "estimate": true checks the inputs and returns the credits it should cost, for free, without running.

  • Rows come back with the template's columns. "detail": "full" returns every field. Rows page with "offset" and "limit" (default 50).

  • A "partial" run had some pages fail; its rows are still there, with the failures listed.

Cost: what the same job costs with the tool behind it, usually 1 credit per page read. Failed pages and failed runs cost nothing.

Example: {"slug": "google-maps-leads", "inputs": {"query": "dentist", "areas": ["Lekki, Lagos"]}}

Input Schema

NameRequiredDescriptionDefault
slugYesThe template's slug, e.g. "google-maps-leads"
limitNoRows to return (default 50)
detailNo"columns" (default) returns each row with just the template's table columns; "full" returns every field (Google Maps rows have about 50)
inputsYesThe template's inputs by key
offsetNoRows to skip (default 0)
estimateNoReturn the cost without running

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

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/openWorld annotations: it discloses the ~45 second wait, the runId escape hatch for longer jobs with the exact polling cadence, pagination defaults, the meaning of a "partial" run (rows present plus a failure list), and the credit cost model including that failed pages and failed runs are free. These are the operational traits an agent needs and none are in structured fields.

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?

Front-loaded with the core action and the 45-second behavior, then organized into short scannable bullets (inputs, estimate, rows/detail/paging, partial runs), cost, and a concrete example. Roughly 200 words with no filler sentence.

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 6-parameter tool with a nested object and no output schema, the description supplies what's missing: the return shape (rows with the template's columns, full detail variant), pagination semantics, partial-failure rows, and the async runId/status protocol. Nothing needed to call it correctly or interpret the result is absent.

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 earns extra by tying parameters together — inputs keyed by the template's input names, the example showing the nested "inputs" shape that additionalProperties:{} cannot convey, and estimate framed as a free dry-run returning credits. It does not restate limit/offset defaults, but the schema already does.

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 specific verb and resource ("Run a template and get its rows") and immediately scopes the result (rows of the template). It also implicitly distinguishes itself from spidra_get_template (used only to fetch inputs) and spidra_get_job (used only for polling long runs), so an agent can route correctly without opening another schema.

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?

Gives explicit prerequisites ("Get the inputs from spidra_get_template first"), an exclusion path for cost checks ("estimate": true ... without running), and a fallback for long runs (poll spidra_get_job with type "template_run" every 10–15 seconds until status isn't "running"). Both when-to-use and when-to-hand-off are spelled out.

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