Skip to main content
Glama
Voicent MCP Server

Voicent MCP Server

Call and speak text

call_text
Destructive

Places a real phone call that speaks supplied text using text-to-speech, returning a request ID for tracking.

Instructions

Place a real phone call that speaks the given text using text-to-speech. Returns a request ID.

Input Schema

NameRequiredDescriptionDefault
textYesWhat to say on the call.
phoneYesOne phone number, such as 650-555-0100.
caller_idNoCaller ID to use. It must already be set up in Voicent.
keep_recordNoKeep the record afterwards so its status can be checked. If false, it is deleted automatically.
schedule_minutesNoDo this many minutes from now. Leave out to do it right away.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true, so the title 'real phone call' mainly confirms an external side effect rather than teaching anything new. The description does add that it returns a request ID, but it omits the consent, cost, and irreversibility implications of a destructive telephony action, and it says nothing about the keep_record deletion behavior that lives only in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero waste; the action is front-loaded and the return value is tacked on efficiently. Nothing needs trimming.

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

Completeness3/5

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

For a five-parameter, two-required external tool, the definition covers what the call does and what it returns, which is sufficient to invoke it. It is thin on operational context: it does not say whether the call is asynchronous, how to poll for the resulting request ID through call_status, or what caller_id prerequisites mean in practice.

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 all five parameters, including caller_id setup requirements, keep_record deletion semantics, and schedule_minutes bounds, are already documented in the schema. The description adds no additional meaning or format guidance beyond a reiteration of the text being spoken, so the baseline of 3 applies.

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 states a specific verb and resource: 'Place a real phone call that speaks the given text using text-to-speech.' That is meaningfully different from what a sibling like call_audio or call_ivr would do, but the description never names or contrasts those siblings explicitly.

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 guidance, no exclusion, and no mention of the alternative call tools in the catalog. The agent has to infer on its own that text-to-speech is the right choice over audio playback or IVR, and no prerequisites such as a pre-registered caller ID are stated.

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