Skip to main content
Glama
This connector has been deprecated

Replaced by io.github.no-fait/infinite-audience

Estimate Delivery Capacity

quote_delivery
Destructive

Estimate the subscription capacity required for a download using the audience version, selected fields, output settings, and current licenses. Saves a pending estimate and updates the audience estimate reference. Returns an expected amount and an upper bound, denominated in USD, together with available-capacity sufficiency and any shortfall. Active licenses reduce the expected identity component. When license information is unavailable, the expected amount equals the upper bound. The matching component for a file upload is included when applicable. Review the expected amount and upper bound with the user before delivery. Requires 'discovery' scope.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "audience_id": "<audience_id>",
      "destination": "<destination>"
    },
    "name": "quote_delivery"
  }
}

Input Schema

NameRequiredDescriptionDefault
field_listNoCustom field list (alternative to template_id)
audience_idYesAudience to quote
destinationYesActive delivery destination; partner pushes are not yet available
template_idNoEnrichment template ID
output_formatNoRequested download artifact format.
output_compressionNoRequested download compression. gzip supports csv/json/jsonl; Avro uses native DEFLATE.none

Output Schema

NameRequiredDescriptionDefault
guidanceNoInterpretation or recovery guidance for this result
shortfallYes
count_unitNo
page_countNoNumber of objects on this page, not the organization total
audience_idYes
count_stateNoUnknown means no count; available does not guarantee freshness. Recount for a current value.
destinationYes
next_actionsNoSuggested next calls using returned IDs and available scopes. Not executed and not user consent.
cost_estimateYesExpected subscription capacity consumption, denominated in USD
license_pricingYes
population_inputNoPopulation input used for the preview; IDs refer to their current saved definitions
already_deliveredYes
max_cost_estimateYesUpper bound for subscription capacity consumption, denominated in USD
sufficient_balanceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "already_delivered": {
      +      "type": "boolean"
      +    },
      +    "audience_id": {
      +      "type": "string"
      +    },
      +    "cost_estimate": {
      +      "additionalProperties": {},
      +      "description": "Expected subscription capacity consumption, denominated in USD",
      +      "properties": {
      +        "base_cost": {
      +          "type": "number"
      +        },
      +        "billing_count": {
      +          "type": "number"
      +        },
      +        "destination_cost": {
      +          "type": "number"
      +        },
      +        "field_cost": {
      +          "type": "number"
      +        },
      +        "match_cost": {
      +          "type": "number"
      +        },
      +        "total_cost": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "base_cost",
      +        "match_cost",
      +        "field_cost",
      +        "destination_cost",
      +        "total_cost",
      +        "billing_count"
      +      ],
      +      "type": "object"
      +    },
      +    "count_state": {
      +      "description": "Unknown means no count; available does not guarantee freshness. Recount for a current value.",
      +      "enum": [
      +        "unknown",
      +        "available"
      +      ],
      +      "type": "string"
      +    },
      +    "count_unit": {
      +      "const": "records",
      +      "type": "string"
      +    },
      +    "destination": {
      +      "type": "string"
      +    },
      +    "guidance": {
      +      "description": "Interpretation or recovery guidance for this result",
      +      "type": "string"
      +    },
      +    "license_pricing": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "status": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status"
      +      ],
      +      "type": "object"
      +    },
      +    "max_cost_estimate": {
      +      "additionalProperties": {},
      +      "description": "Upper bound for subscription capacity consumption, denominated in USD",
      +      "properties": {
      +        "base_cost": {
      +          "type": "number"
      +        },
      +        "billing_count": {
      +          "type": "number"
      +        },
      +        "destination_cost": {
      +          "type": "number"
      +        },
      +        "field_cost": {
      +          "type": "number"
      +        },
      +        "match_cost": {
      +          "type": "number"
      +        },
      +        "total_cost": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "base_cost",
      +        "match_cost",
      +        "field_cost",
      +        "destination_cost",
      +        "total_cost",
      +        "billing_count"
      +      ],
      +      "type": "object"
      +    },
      +    "next_actions": {
      +      "description": "Suggested next calls using returned IDs and available scopes. Not executed and not user consent.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "arguments": {
      +            "additionalProperties": {},
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "reason": {
      +            "type": "string"
      +          },
      +          "tool": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "tool",
      +          "arguments",
      +          "reason"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "page_count": {
      +      "description": "Number of objects on this page, not the organization total",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "population_input": {
      +      "additionalProperties": {},
      +      "description": "Population input used for the preview; IDs refer to their current saved definitions",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "shortfall": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "sufficient_balance": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "audience_id",
      +    "destination",
      +    "already_delivered",
      +    "cost_estimate",
      +    "max_cost_estimate",
      +    "sufficient_balance",
      +    "shortfall",
      +    "license_pricing"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

The annotations declare readOnlyHint=false and destructiveHint=true, and the description earns credit by explaining why: it 'saves a pending estimate and updates the audience estimate reference,' so the agent knows a persistent side effect occurs despite the estimation framing. It further discloses the USD denomination, the sufficiency/shortfall return shape, and two edge-case behaviors (no license data → expected equals upper bound; matching component for uploads). It stops short of describing rate limits or reversibility of the saved estimate.

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?

The key capabilities and the write side effect are front-loaded in the first two sentences, and the remaining sentences are dense with non-redundant behavioral facts rather than filler. It runs slightly long for a six-parameter tool, but each sentence carries distinct information.

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 mutating, non-idempotent, open-world-false capacity estimator, the definition covers the prerequisite scope, the persistent side effect, the units of the return values, the sufficiency/shortfall signal, and the two conditional behaviors that change the numbers. With an output schema present it doesn't need to enumerate return fields, and the annotation/description pairing is coherent.

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 every parameter is already documented in the input schema, and the baseline is 3. The description references 'audience version, selected fields, output settings, and current licenses,' which loosely maps to field_list/template_id and output_format/output_compression, but adds no format or constraint detail beyond the schema (e.g., the cost implications of compression are only implied).

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?

The description opens with a specific verb and resource — 'Estimate the subscription capacity required for a download' — which clearly separates it from actual delivery siblings like deliver_audience or deliver_file_match. It does not name a sibling explicitly, but the word 'estimate' plus the 'review ... before delivery' framing makes the read-then-write distinction obvious.

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 a clear usage context: run this to see expected amount and upper bound, and 'review ... with the user before delivery,' which implies this precedes a real delivery call. It also states the 'discovery' scope prerequisite. What's missing is an explicit when-not or a named alternative for cases where the estimate is not needed.

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