Skip to main content
Glama

Ptally

Try a quote

run_quote
Read-only

Dry-run a quote against a stored project. Takes project_reference, an optional version_reference (defaults to the latest live version; there is no fallback to drafts, so pass version_reference to price one — it must belong to the project and not be archived, else a tool error), and an input payload that matches the project's input schema. Runs the pricing engine and returns the quote envelope — output, result, valid, status, error, the engine's errors log, exec_time_ms, dry_run: true and a null quote_reference — WITHOUT persisting a quotes row. Call get_project first to inspect input.format and build a valid input.

Input Schema

NameRequiredDescriptionDefault
inputYesFlat quote input object matching the project's input.format schema. Use get_project to discover the required keys.
sourceNoOptional engine `source` label passed through to the model. Defaults to "mcp".
project_referenceYesUUID of the project to price against.
version_referenceNoOptional. Specific non-archived version UUID of this project; defaults to the latest live version (no fallback to drafts).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, which the description substantiates rather than merely repeats: it explains the engine runs but "WITHOUT persisting a quotes row" and returns `dry_run: true` with a null `quote_reference`. It also discloses failure conditions beyond annotations — the version must belong to the project and not be archived, and there is no fallback to drafts, which the agent would otherwise only discover at call time.

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?

It is front-loaded with the action and its persistence semantics, then moves to parameter constraints and the return envelope. The long parenthetical about version_reference is dense and slightly awkward to parse, and the full return-field listing is verbose, though each item is informative rather than filler.

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?

With no output schema, the description carries the return contract and does so by enumerating `output`, `result`, `valid`, `status`, `error`, `errors`, `exec_time_ms`, `dry_run` and `quote_reference`. Combined with the nested-object input caveat and the get_project prerequisite, an agent has everything needed to call it correctly on the first attempt.

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 all four parameters are already documented, but the description still adds meaning: the default resolution path for `version_reference` and the hard constraint that an archived or foreign version produces a tool error. It does not explain the optional `source` parameter at all, leaving that one to the schema.

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?

"Dry-run a quote against a stored project" names a specific verb (dry-run), resource (quote) and target (project), and the description immediately clarifies that nothing is persisted. An agent can distinguish this from run_version_tests and validate_project without opening any schema, since neither the name nor the text overlaps with those tools' testing/validation framing.

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?

It gives an explicit prerequisite ("Call get_project first to inspect `input.format` and build a valid input") and states exactly when to supply `version_reference` versus relying on the latest live version. It stops short of naming an alternative tool or an explicit when-not-to-use case, so it is strong context rather than full routing guidance.

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