Skip to main content
Glama

Estimate cost

estimate_cost

Quote request body with an optional charge ceiling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsNoAlias for body; must match it.
bodyNoIntended body; required for variable pricing.
slugNoprovider/endpoint, or use the pair below.
endpointNoEndpoint ID.
providerNoProvider ID.
idempotency_keyNoKey shared with execute; generated if omitted.
expires_in_secondsNoSeconds; default 120.
max_charge_creditsNoHard charge cap, decimal string.
preflight_external_quoteNoProbe a live x402 quote without paying.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNo
messageNo
executable_quoteNoTrue when approval_token is included.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / endpoint / description
      Previous value: -"Endpoint slug."New value: +"Endpoint ID."
    • changedInput schema / properties / expires_in_seconds / description
      Previous value: -"Lifetime seconds: default 120, range 30-600."New value: +"Seconds; default 120."
    • changedInput schema / properties / max_charge_credits / description
      Previous value: -"Optional positive decimal hard charge ceiling, as a string."New value: +"Hard charge cap, decimal string."
    • changedInput schema / properties / provider / description
      Previous value: -"Provider slug."New value: +"Provider ID."
    • removedOutput schema / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / message / description
      Removed value: -"Human-readable quote outcome."
    • removedOutput schema / properties / slug / description
      Removed value: -"provider/endpoint slug."
  2. Changed2 schema fields changed
    • changedInput schema / description
      Previous value: -"Provide exactly one endpoint selector: slug, or provider plus endpoint."New value: +"Use slug or provider + endpoint."
    • changedInput schema / properties / args / description
      Previous value: -"Alias for body; must match body when both are provided."New value: +"Alias for body; must match it."
  3. Changed9 schema fields changed
    • addedInput schema / description
      Added value: +"Provide exactly one endpoint selector: slug, or provider plus endpoint."
    • removedInput schema / oneOf
      Removed value: -[
      -  {
      -    "properties": {
      -      "slug": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "slug"
      -    ]
      -  },
      -  {
      -    "properties": {
      -      "endpoint": {
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "provider",
      -      "endpoint"
      -    ]
      -  }
      -]
    • addedInput schema / properties / args / description
      Added value: +"Alias for body; must match body when both are provided."
    • changedInput schema / properties / max_charge_credits / description
      Previous value: -"Optional hard charge ceiling."New value: +"Optional positive decimal hard charge ceiling, as a string."
    • addedInput schema / properties / max_charge_credits / maxLength
      Added value: +100
    • addedInput schema / properties / max_charge_credits / minLength
      Added value: +1
    • removedInput schema / properties / max_charge_credits / oneOf
      Removed value: -[
      -  {
      -    "maxLength": 100,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "exclusiveMinimum": 0,
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / max_charge_credits / type
      Added value: +"string"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "executable_quote": {
      +      "description": "True when approval_token is included.",
      +      "type": "boolean"
      +    },
      +    "message": {
      +      "description": "Human-readable quote outcome.",
      +      "type": "string"
      +    },
      +    "slug": {
      +      "description": "provider/endpoint slug.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

C2.6/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, but the description adds nothing about what state a "quote" creates, whether anything is charged or reserved, or how the returned quote relates to a later execute. A word like "Quote" naturally reads as read-only, so the non-read-only annotation deserves explicit explanation that the description does not provide. No hard contradiction is present (the idempotency_key shared with execute implies server-side quote state), but the gap is significant.

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?

A single nine-word sentence with zero filler, front-loading the action and the modifier. It is efficient, though it reads more as a fragment than a structured statement given the tool's complexity.

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

Completeness2/5

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

For a nine-parameter, open-world, nested-object tool with an output schema and non-idempotent, non-read-only semantics, a single terse sentence is far too thin. It omits what quoting entails, how the ceiling is enforced, what preflight_external_quote does, and how the quote is consumed by execute. The output schema covers return values, but the workflow-critical context is missing.

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?

Schema description coverage is 100%, so the schema already documents all nine parameters, including the ceiling (max_charge_credits), the slug-vs-provider+endpoint alternative, and the preflight probe. The description's "optional charge ceiling" merely echoes one schema field and adds no syntax, format, or constraint detail beyond it. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an action ("Quote request body") plus an optional modifier ("charge ceiling"), which loosely matches the tool name estimate_cost. However it never names the resource being priced (a paid/x402 endpoint call) or the unit of estimation, so the purpose is implied rather than stated. It is differentiable from execute only by inference from the name, not from the description text.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing guidance. The obvious relationship — estimate before calling execute — is never mentioned, nor is the role of preflight_external_quote. The agent must guess the workflow from the schema alone.

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.