Skip to main content
Glama

dry_run

Estimate a chain's price floor, expected cost, and upper bound without invoking any model; optionally return structured JSON with per-row details and missing API key alerts.

Instructions

Price a chain without calling any model. chain is a chain name as list_chains shows it, never a path; leave it out to price the default chain (the answer names it). json: true returns one JSON document instead of text: the floor, the expected price and the upper estimate (every call at the whole output allowance of its seat), every row, and which seat lacks which API key.

Input Schema

NameRequiredDescriptionDefault
jsonNo
chainNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.3
    • removedInput schema / required
      Removed value: -[
      -  "chain"
      -]
  2. First observedv0.8.1

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the load and does it well: it declares that no model is called (so it's a safe, non-billable read), specifies the two output modes (text vs. one JSON document), and enumerates exactly what the JSON contains (floor, expected, upper estimate, per-row data, missing API keys). It doesn't explicitly state there are no side effects or what happens on an invalid chain name, 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?

Front-loaded with the core purpose in the first sentence, then parameter details. It's a single dense paragraph with no wasted filler, though the run-on structure around the JSON contents makes it slightly harder to scan than a broken-out form would be.

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

Completeness4/5

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

For a two-optional-parameter tool with no annotations and no output schema, the description covers the essentials: purpose, both parameters, and the return shape including the JSON document's contents. The only minor omissions are error behavior for an unknown chain name and any explicit statement of side-effect absence.

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 0%, so the description must compensate — and it does: 'chain' is defined as a name exactly as list_chains shows it, explicitly not a path, with documented default behavior when omitted and a guarantee that the answer names the chain used. 'json' is explained as switching to one JSON document and the contents are itemized, adding meaning well beyond the bare boolean in the schema.

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?

States a specific verb and resource ('Price a chain') and immediately scopes it ('without calling any model'), which implicitly separates it from run-executing siblings like start_run. It stops short of explicitly naming the sibling it complements or is distinguished from, so it's clear but not fully sibling-differentiated.

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?

Gives clear context: use this to price a chain without invoking models, and it directs the agent to list_chains for obtaining a valid chain name. It also tells the agent what omitting 'chain' does (prices the default chain). No explicit exclusions or when-not guidance, which keeps it below a 5.

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