Skip to main content
Glama

Make a phone call

make_call

Place a real outbound phone call with an AI voice agent and get a call_id. The agent introduces itself as an AI assistant of the business you name, pursues the goal you describe, collects the requested data and hangs up. Destinations: Spain (+34), Mexico (+52), United States and Canada (+1), Colombia (+57), Peru (+51) and United Kingdom (+44). With a prepaid key, at their own price per minute (see get_pricing): Argentina, Belize, Bolivia, Brazil, Chile, Costa Rica, Dominican Republic, Ecuador, El Salvador, Guatemala, Honduras, Nicaragua, Panama, Paraguay, Puerto Rico, Uruguay, Austria, Belgium, France, Germany, Ireland, Italy, Netherlands and Portugal. Calls are short (max 4 minutes). United States and Canada: informational calls only, every day 08:00-21:00 local time of the recipient, with prior_express_consent=true and call_type. Colombia, Peru and United Kingdom: service calls only, Monday to Saturday 09:00-21:00. Set call_purpose: service calls (appointments, reminders, surveys of your own customers, calls the person asked for) run Monday to Saturday 09:00-21:00 local time; commercial calls, only to Spain and Mexico, run Monday to Friday (Spain 09:00-21:00 and only from a 400 number; Mexico 09:00-19:00). In Spain and Mexico, no calls on Sundays or national holidays. You must confirm the recipient asked for or agreed to be contacted. The result is returned by get_call using the call_id. Pass website_url (the business website) and/or business_info so the agent can answer questions about prices, hours or services during the call.

Input Schema

NameRequiredDescriptionDefault
toYesDestination phone number in E.164 format, e.g. +34600111222 or +525512345678
goalYesWhat the call must achieve, in plain language
collectNoData points to collect, e.g. ['preferred date', 'email']
languageYesLanguage the agent speaks (ISO 639-1)
call_typeNoRequired for +1 destinations: informational calls only, never cold prospecting
website_urlNoWebsite of the business you call for. It is read before the call (up to 10 pages) so the agent can answer questions about prices, hours, services or address
call_purposeYesservice: appointments, reminders, surveys of your own customers, or a call the person asked for. commercial: selling or offering something to someone who did not ask for it. It sets the allowed calling hours; commercial calls to Spain require a 400 number
business_infoNoExtra facts about the business the agent may need (prices, hours, services, policies). The agent answers only with this and the website, never invents
business_nameYesName of the business on whose behalf the agent calls
consent_confirmedYesMust be true: the recipient requested or agreed to be contacted
consent_statementYesHow and when the recipient requested or agreed to be contacted
prior_express_consentNoRequired true for +1 destinations: the recipient gave prior consent to be called (TCPA)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / call_purpose
      Added value: +{
      +  "description": "service: appointments, reminders, surveys of your own customers, or a call the person asked for. commercial: selling or offering something to someone who did not ask for it. It sets the allowed calling hours; commercial calls to Spain require a 400 number",
      +  "enum": [
      +    "service",
      +    "commercial"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / call_type
      Added value: +{
      +  "description": "Required for +1 destinations: informational calls only, never cold prospecting",
      +  "enum": [
      +    "appointment",
      +    "reminder",
      +    "collection"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / language / description
      Previous value: -"Language the agent speaks"New value: +"Language the agent speaks (ISO 639-1)"
    • changedInput schema / properties / language / enum
      Previous value: -[
      -  "es",
      -  "en"
      -]New value: +[
      +  "es",
      +  "en",
      +  "pt",
      +  "fr",
      +  "de",
      +  "it",
      +  "nl",
      +  "zh",
      +  "ar",
      +  "ru",
      +  "ja",
      +  "ko",
      +  "tr",
      +  "pl",
      +  "hi",
      +  "sv",
      +  "uk",
      +  "id",
      +  "ms",
      +  "vi",
      +  "el",
      +  "ro",
      +  "cs",
      +  "da",
      +  "no",
      +  "fi",
      +  "bg",
      +  "hr",
      +  "hu",
      +  "sk"
      +]
    • addedInput schema / properties / prior_express_consent
      Added value: +{
      +  "description": "Required true for +1 destinations: the recipient gave prior consent to be called (TCPA)",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "to",
      -  "goal",
      -  "language",
      -  "business_name",
      -  "consent_confirmed",
      -  "consent_statement"
      -]New value: +[
      +  "to",
      +  "goal",
      +  "language",
      +  "business_name",
      +  "call_purpose",
      +  "consent_confirmed",
      +  "consent_statement"
      +]
  2. Changed2 schema fields changed
    • addedInput schema / properties / business_info
      Added value: +{
      +  "description": "Extra facts about the business the agent may need (prices, hours, services, policies). The agent answers only with this and the website, never invents",
      +  "maxLength": 4000,
      +  "type": "string"
      +}
    • addedInput schema / properties / website_url
      Added value: +{
      +  "description": "Website of the business you call for. It is read before the call (up to 10 pages) so the agent can answer questions about prices, hours, services or address",
      +  "format": "uri",
      +  "maxLength": 300,
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say readOnly=false and openWorld=true; the description carries the real behavioral load: the call is a REAL outbound call to a human, capped at 4 minutes, the agent identifies as an AI, answers only from website_url/business_info, and hangs up. It also discloses cost implications via get_pricing and the legal precondition of recipient consent, which the annotations cannot express.

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

Conciseness3/5

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

Front-loaded with the purpose, but the remainder is one dense block mixing country lists, time windows, and consent rules. The content mostly earns its place, yet the regulatory matrix would scan far better as structured lines rather than a prose run-on.

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 12-parameter, non-idempotent, real-world side-effecting tool with no output schema, this is complete: it explains what is produced (call_id), where to retrieve the result (get_call), cost lookup (get_pricing), and every jurisdictional constraint an agent must satisfy before calling. Nothing needed to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description still adds meaning: it explains why call_purpose matters (it drives allowed hours and the 400-number requirement in Spain), why website_url/business_info exist (up to 10 pages read pre-call, agent must not invent), and reinforces that consent must be genuinely obtained rather than just a boolean set.

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: "Place a real outbound phone call with an AI voice agent and get a call_id." It distinguishes itself from siblings immediately by noting the result comes back through get_call, and by pointing to get_pricing for destinations behind a prepaid key.

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?

Gives rich eligibility context: per-country destination support, calling windows, the +1 informational-only rule, and the prohibition on cold commercial calls outside Spain/Mexico. It routes follow-up reads to get_call and get_pricing. It does not explicitly frame these as "use this instead of X", but the operational conditions are clear enough that selection is unambiguous.

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.