Skip to main content
Glama
pghdma

CallRail MCP

create_outbound_call

Place an outbound call by dialing a caller's number and bridging to the recipient. Confirm dialing to avoid accidental calls.

Instructions

⚠️ Place an outbound call. THIS ACTUALLY DIALS A REAL PHONE.

CallRail will dial from_number first; once that's answered, it bridges to to_number. Both legs cost minutes against your bundle. Misuse can constitute unlawful telemarketing — verify consent.

You must pass confirm_dialing=True to actually place the call. This is a safety guard against accidental AI-driven cold-calls.

Args: from_number: Your end of the call (typically your tracking number, e.g. +14129548337). E.164 format. to_number: Recipient's number. E.164 format. confirm_dialing: REQUIRED — set True to actually dial. Returns error envelope if False (default). company_id: Optional company scope. account_id: Auto-resolves if omitted.

Returns: The call object CallRail creates (id, etc.).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
to_numberYes
account_idNo
company_idNo
from_numberYes
confirm_dialingNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations, the description fully discloses behavior: dialing sequence, costs, legal implications, and the safety mechanism. It leaves no ambiguity about the tool's effects.

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 description is well-organized with warnings, arg docs, and return value. While slightly lengthy, every sentence is informative and 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?

Given the tool's complexity (real-world dialing, legal risks, 5 parameters) and an output schema present, the description covers all essential usage and behavioral aspects comprehensively.

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

Parameters5/5

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

Despite 0% schema description coverage, the description explains each parameter (from_number, to_number, confirm_dialing, company_id, account_id) with format, defaults, and required behavior, compensating fully for the schema deficiency.

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 it places an outbound call that actually dials a real phone. It is distinct from sibling tools like get_call or list_calls.

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 provides strong guidance on when to use (place outbound calls) and includes a safety guard (confirm_dialing=True). It warns about legal compliance and misuse, though it doesn't explicitly contrast with alternative tools.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pghdma/callrail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server