AI agents are good at almost everything now — until a task needs a phone call. Confirming a license, pulling a loss run, checking an order status: a lot of the real world still answers only by phone, behind an IVR and a hold queue. Dialfetch closes that gap, and over the Model Context Protocol (MCP) an agent can use it directly.
Connect it
Dialfetch exposes an MCP server over Streamable HTTP. Point any MCP client at it with an API key:
{
"mcpServers": {
"dialfetch": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.dialfetch.com/api/mcp",
"--header", "Authorization: Bearer df_YOUR_KEY"]
}
}
}It works in Claude Desktop, Claude.ai connectors, Cursor, VS Code, Windsurf, Cline, and the Claude Agent SDK. Clients that support one-click custom connectors can use OAuth instead of a pasted key.
How an agent uses it
Calls are asynchronous — a real call takes minutes and may involve holds or a transfer. So the agent places the call, then polls until it is done:
- place_call(phone, goal, extract?) → returns a call_id immediately
- get_call(call_id) → poll until the status is completed / failed / canceled
- read answers, transcript, and recording_url off the result
The agent gets structured answers against a schema it defines, so it can act on the result instead of parsing free text. Guardrails — goal screening, AI disclosure, and a refusal to read out SSNs or card numbers — are inherited from the same engine the REST API uses; an agent cannot bypass them.
Try it
See the MCP docs for the full tool list and per-client setup, then give your agent a number and a goal.