Skip to main content
Glama

Server Details

Give AI agents a phone: outbound AI calls that return a summary, transcript, and extracted fields.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
37.9% over 38 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: getting a single call, listing calls, placing a generic call, and placing a specialized appointment-setting call. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_call, list_calls, place_call, set_appointment). The convention is uniform and predictable.

Tool Count5/5

With 4 tools, the surface is well-scoped for an outbound AI calling service. Each tool addresses a core need without excess or redundancy.

Completeness4/5

The set covers placing calls, retrieving results, and listing history. Missing an update/cancel operation, but for the core workflow of initiating and polling calls, it is complete enough.

Available Tools

4 tools
get_callGet call status and resultA
Read-only
Inspect

Get the status and result of a call by id. status is one of queued | ringing | in_progress (still running, poll again) or completed | no_answer | voicemail | declined | failed (terminal). Returns summary, transcript, and extracted fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
callIdYesThe callId returned by place_call.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description enumerates the possible status values, distinguishes non-terminal vs terminal states, advises to poll again for in_progress, and lists the returned data (summary, transcript, extracted fields). This gives the agent a clear behavioral model of the call.

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 sentences with no filler: the first states the core purpose, the second packs status values and return contents efficiently. Information is front-loaded and every clause earns its place.

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 single-parameter read-only tool with rich annotations, the description fully covers behavior, return values, and polling semantics. Nothing essential is missing for an agent to invoke it correctly.

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%, with the callId parameter already described as 'The callId returned by place_call.' The description adds no further parameter semantics, so baseline 3 applies.

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?

The description uses a specific verb ('Get') and resource ('status and result of a call by id'), clearly distinguishing it from siblings list_calls, place_call, and set_appointment. The action and target are unambiguous.

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 description implies when to use it: to retrieve status/result of a specific call by id, with polling guidance for in_progress status. It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to select it appropriately among siblings.

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

list_callsList recent callsA
Read-only
Inspect

List recent calls placed by your account (most recent first).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax calls to return (default 20, max 100).

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the agent knows it is a safe read. The description adds that calls are scoped to the account and returned newest-first, which is useful context. It does not disclose anything about pagination or response shape, but for a read-only list the annotation covers the core safety profile.

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?

The entire description is one sentence with the verb and object front-loaded. The parenthetical 'most recent first' adds necessary ordering detail without fluff. There is no waste.

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 simple read-only list tool with one optional parameter, the description covers the core (what is listed, whose, and the order). The lack of an output schema means an agent won't know the exact return fields, but that is a minor gap given the straightforward nature of the tool and the existing annotations.

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?

The single parameter 'limit' is fully described in the schema (integer, max 100, default 20). The description adds nothing about it, and with 100% schema coverage the baseline of 3 applies. No additional meaning is needed.

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?

The description states a specific verb (List), resource (recent calls), scope (placed by your account), and ordering (most recent first). This clearly distinguishes it from get_call (single call lookup), place_call (new call), and set_appointment (appointments) without needing to open the schemas.

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

Usage Guidelines3/5

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

The description implies usage: it is for viewing your own recent call history. However, it does not explicitly state when to use it over get_call (e.g., 'for a single call, use get_call') or provide any exclusions. The boundary is inferable from names but not stated.

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

place_callPlace an AI phone callAInspect

Place an outbound AI phone call toward an objective. Returns a callId immediately; the call is conducted asynchronously. Poll get_call with that callId until status is terminal (completed | no_answer | voicemail | declined | failed).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesDestination phone number in E.164, e.g. +14155550123.
fieldsNoStructured fields to extract from the call.
contextNoBackground context for the assistant.
navModeNoHow to navigate the far-end IVR: auto (detect keypad menu vs conversational assistant live), keypad (stay muted and press keys), or speech (talk).
callerIdNoOptional caller ID; must be a number on your account.
objectiveYesWhat the call should accomplish.
webhookUrlNoOptional https URL to receive the signed result.
listenFirstNoIf true, stay silent until the callee/IVR speaks first, then respond. Recommended for any outbound call into a phone tree.
accountNumberNoAccount/phone digits the enter_account_number tool keys deterministically (keypad chars only).
toolAllowlistNoTools this call may use, e.g. ["send_digits","reached_human","add_participant","enter_account_number"]. Omit for the default set.
callbackNumberNoOur callback DID digits the enter_callback_number tool keys (callback-to-AI mode).

TDQS

A4.3/5.0
Behavior4/5

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

Adds non-obvious operational behavior: the call is asynchronous, returns callId immediately, and has a defined set of terminal statuses. This goes beyond the annotations, which only indicate non-readOnly, non-idempotent, and open-world behavior, by explaining the actual call lifecycle.

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?

Three sentences with no filler: purpose, async behavior, and follow-up action are each given their own concise sentence. The most decision-relevant facts are front-loaded.

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?

Covers the full invocation lifecycle from returning callId through terminal statuses, and names the exact sibling tool to use for follow-up. With the rich schema and annotations, nothing essential for selecting or invoking this tool 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 coverage is 100%, so the structured descriptions already document all 11 parameters. The description adds minimal parameter-level detail beyond naming the objective and callId, which is acceptable but not additive given the schema already carries that weight.

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?

The description names a concrete action ('Place'), a specific resource ('outbound AI phone call'), and a purpose ('toward an objective'). It also clearly differentiates from sibling get_call by contrasting placement with polling, and from list_calls/set_appointment by resource and action.

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 explicitly tells the agent to poll get_call with the returned callId until a terminal status, giving a clear post-invocation workflow. It doesn't explicitly state when not to use this tool or compare it to list_calls/set_appointment, but the placement-vs-retrieval distinction is clear from context.

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

set_appointmentSet an appointment by phoneAInspect

Place an outbound AI phone call to set up a meeting. The assistant calls the person, agrees a time, and the result (poll get_call) carries outcome (appointment_set | callback_requested | declined | no_answer | failed) and, when set, the appointment (startISO, timezone, durationMinutes, attendee, subject). Returns a callId immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesWho to call, in E.164, e.g. +14155550123.
slotsNoSpecific start times to offer, ISO-8601 with offset.
subjectYesWhat the meeting is about.
autoBookNoAlso book the agreed time on your connected calendar.
callerIdNoOptional caller ID; must be a number on your account.
timezoneNoIANA timezone for the appointment, e.g. Asia/Jerusalem.
webhookUrlNoOptional https URL to receive the signed result.
timePreferenceNoNatural-language window, e.g. "weekday mornings next week".
durationMinutesNoMeeting length in minutes (default 30).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate this is a non-read, non-idempotent, non-destructive action. The description adds valuable behavioral context: it makes an outbound phone call, returns a callId immediately (asynchronous), and describes the possible outcomes including failure modes. This goes beyond the annotations by explaining the async nature and result handling.

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?

The description is two sentences, front-loading the core action and outcome. Each sentence adds value: the first defines what the tool does, the second explains the result and immediate return. No wasted words; it's compact and informative.

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?

Given the tool's moderate complexity (9 params, 2 required, no output schema), the description covers key aspects: the action, immediate return, and result semantics (outcome types). It doesn't explain how parameters interact (e.g., slots vs timePreference) but that is minor since the schema is complete. It also mentions webhookUrl indirectly through result, so it's fairly complete.

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 coverage is 100%, so all parameters are already documented in the schema. The description adds a bit of context by mentioning 'appointment (startISO, timezone, durationMinutes, attendee, subject)' which maps to some parameters, but it doesn't add meaningful semantics like delegation rules for 'slots' vs 'timePreference'. Thus baseline 3 is appropriate.

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?

The description clearly states the primary action ('Place an outbound AI phone call to set up a meeting') and specifies the resource (a phone call for appointment setting). It distinguishes itself from siblings by explicitly mentioning the outcome types and linking to get_call for polling, which is a distinct workflow from place_call and get_call.

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 description provides context on when to use this tool (to set up a meeting via AI phone call) and mentions using get_call for results. However, it doesn't explicitly state when NOT to use it or contrast with siblings like place_call, which is a gap. But the clear purpose and start of the workflow give enough guidance for most cases.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedget_call
    • First observedlist_calls
    • First observedplace_call
    • First observedset_appointment

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to place real phone calls, navigate IVR trees, and retrieve structured answers with transcripts and recordings.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to make real-world phone calls with AI voice technology and provides tools to track call status, transcripts, and summaries. It supports automated communication with both live numbers and simulated businesses for testing and demonstration purposes.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to make real outbound phone calls to US/Canada numbers, handle conversations, and return transcripts and recordings via the Model Context Protocol.
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources