Skip to main content
Glama

Sorzio

Estimate the cost of a run

estimate_cost
Read-only

Estimate what an AI, verify, scrape or Flow run would cost, for a number of rows, for a list (for a Flow too, where Flows on lists are on), or (for a Flow) for the rows on a connected sheet. A Flow estimate also returns needed_to_start_cents, the balance a run needs to start; with spreadsheet_id it also returns output_columns and reused_columns: the columns the Flow would write (token to letter), and which of them already exist on the sheet. Uses the same calculation as the Sorzio add-on. For your workspace the estimate is what Sorzio will charge: $0.00 on an internal workspace, for AI on your own key on Pro or Scale, and for Verify on your own No2Bounce key on Scale (charge_note says why). needed_to_start_cents is the balance the run holds while it runs, which can be more than the estimate; the unused part is returned when the run ends. A scrape estimate is the most the run can cost; usual_cost_cents is what most runs are charged. Signed out, estimates are list prices. Free.

Input Schema

NameRequiredDescriptionDefault
tabNoKind flow only. Tab name. Defaults to the first tab.
kindYes
rowsNoRow count. Up to 25,000 for ai, verify and scrape, and up to 50,000 for a Flow.
modelNoModel id from list_models. Defaults to openai/gpt-4o-mini for kind ai when omitted.
promptNo
flow_idNoRequired for kind flow. The Flow's flow_id from list_flows.
list_idNoUse this list's row count instead of rows (for kind flow too, where Flows on lists are on). Rows a Flow removed are not counted.
header_rowNoKind flow only. Row number of the header. Defaults to 1.
web_searchNo
enrich_typeNo
input_columnsNoKind flow only. Maps a Flow input to a sheet header when the names differ, for example {"email": "Work email"}.
system_promptNo
spreadsheet_idNoKind flow only, instead of rows: the sheet id or full docs.google.com URL. The rows are counted on the Flow's input columns.
only_rows_whereNoWhen estimating a list run, count only the rows that match this filter.
scrape_providerNo
verify_providerNo
reasoning_effortNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior5/5

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

Annotations only supply readOnlyHint and openWorldHint=false, but the description goes well beyond: it explains needed_to_start_cents as a held balance that can exceed the estimate and is partly refunded, that scrape estimates are an upper bound versus usual_cost_cents, and that charge_note explains zero-cost cases. That is exactly the billing/auth context an agent cannot infer from 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.

Conciseness3/5

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

The core purpose is front-loaded, but the body is one dense paragraph of stacked parentheticals ('for a Flow too, where Flows on lists are on') that is hard to parse on first read. 'Uses the same calculation as the Sorzio add-on' adds little for an agent deciding how to call it.

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

Completeness3/5

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

For a 17-parameter tool with no output schema, the description covers returns only for the Flow case and leaves the response shape for ai/verify/scrape/enrich partially implicit. It also never explains how the model, prompt, or reasoning-effort inputs move the price, which is the whole point of the tool.

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?

At 53% schema coverage the schema does part of the work, and the description adds real meaning for spreadsheet_id (returns output_columns and reused_columns) and list_id (list row counts, Flows-on-lists). However, it says nothing about how model, prompt, system_prompt, reasoning_effort, web_search, or the provider enums affect the estimate, and it silently drops the 'enrich' kind.

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?

Opens with a specific verb and resource: 'Estimate what an AI, verify, scrape or Flow run would cost', and enumerates the three input modes (row count, list, connected sheet). That distinguishes it from the run_* siblings, though it never explicitly says it does not execute anything. The description omits the 'enrich' kind that the schema's enum allows, so the stated scope is narrower than the actual scope.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'for your workspace the estimate is what Sorzio will charge' and 'Signed out, estimates are list prices. Free.' tell the agent what the numbers mean but never say when to prefer this over run_ai/run_flow or that it should be called pre-flight to check affordability. No exclusions or sibling routing are given.

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.