Skip to main content
Glama

Validate call

validate_call
Read-onlyIdempotent

Validate a phone-call request before placing it: check required fields, hold cost, inferred recipient timezone, and balance warnings without creating a call or hold.

Instructions

Check a phone-call body without creating a call or placing a hold. Same fields as place_call, without idempotencyKey. A ready body includes hold_cents for the full call (tier 1 default $6.50 at 5 minutes) and whether recipient_timezone was inferred. valid stays true when spendable balance is below the hold. warnings then includes insufficient_balance with needed_cents and addFundsUrl.

Input Schema

NameRequiredDescriptionDefault
goalNo
phoneNo
scriptNo
purposeNo
deadlineNo
languageNo
extensionNo
questionsNo
max_minutesNo
record_callNoFalse or omit.
script_modeNo
time_windowNoHH:MM-HH:MM, 24-hour, end after start.
callback_urlNo
instructionsNo
max_attemptsNo
on_behalf_ofNo
business_nameNo
retry_preferenceNo
shareable_contactNo
recipient_timezoneNo
allowed_disclosuresNo
consent_attestationNo
allow_outside_business_hoursNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower. The description adds genuinely non-obvious behavior: the response carries hold_cents (with a concrete tier-1 default), whether recipient_timezone was inferred, and the counter-intuitive rule that valid stays true when spendable balance is below the hold, with an insufficient_balance warning instead.

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?

Four tight sentences, front-loaded with the core distinction from place_call before moving to response semantics. Dense but every sentence carries information; the tier-1 pricing detail is slightly incidental but supports cost reasoning.

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?

An output schema exists, so return values need not be fully explained, yet the description helpfully covers the key conditional fields (hold_cents, valid, warnings.insufficient_balance). Given the high parameter count and near-zero schema coverage, the main remaining gap is parameter-level guidance, which the place_call cross-reference only partially bridges.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 23 parameters at only 9% schema description coverage, so the description carries the burden of explaining them. It only notes the absence of idempotencyKey and cross-references place_call for the rest, leaving nearly all fields (purpose enum, time_window, consent_attestation, retry_preference, etc.) undocumented in either place.

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?

States a specific verb and resource ('Check a phone-call body') and immediately distinguishes itself from the sibling place_call by stating it does not create a call or place a hold. An agent can tell validate_call apart from place_call without opening either schema.

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?

The dry-run framing ('without creating a call or placing a hold') gives clear context for when this tool is appropriate versus place_call. It stops short of an explicit instruction such as 'call this before place_call to preview cost and validity', so the routing is strongly implied rather than spelled out.

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