Back to the catalog

com.dialfetch/dialfetch

Give your AI agent a phone: place calls, navigate IVRs, wait on hold, get structured answers.

Open source Repository Open in the app JSON README (API)

About

Give your AI agent a phone: place calls, navigate IVRs, wait on hold, get structured answers.

Details

Kind
MCP servers
Topic
No topic detected
Publisher
com.dialfetch
Origin
official
Category
ferramentas
Transport
http
Version
0.1.0
Last push
2026-07-19T19:38:19Z
Repository state
ativo
License
MIT
Added
2026-08-29 03:01:05
Updated
2026-08-29 03:01:05
Origin id
com.dialfetch/dialfetch

README

# Dialfetch MCP — give your AI agent a phone ☎️

Connect **[Dialfetch](https://app.dialfetch.com)** to Claude, Cursor, VS Code, Windsurf, Cline,
the Claude Agent SDK — or any [Model Context Protocol](https://modelcontextprotocol.io) client — and
your agent can **place real phone calls**. It navigates IVR phone trees, waits on hold, talks to
humans (including after a transfer), and hands back **structured answers, a transcript, and a
recording**.

Give it a phone number and a plain-language goal. Goal in, result out.

> "Call the pharmacy at +1 305-555-0148 and tell me what time it closes today."
> → `{ answers: { closing_time: { value: "9:00 PM", quote: "We close at nine tonight." } } }`

- 🔌 **Endpoint:** `https://app.dialfetch.com/api/mcp` (Streamable HTTP + SSE)
- 🔑 **Auth:** API key (`Authorization: Bearer df_…`) or one-click OAuth for custom connectors
- 📚 **Full docs:** https://app.dialfetch.com/docs/mcp
- 🌐 **Industry-agnostic:** retail & pharmacy hours, flight/travel status, order & claim status,
  license & insurance verification, government & utility lines

## Quick connect

<details open>
<summary><b>Claude Desktop</b></summary>

Add to `claude_desktop_config.json` (Settings → Developer → Edit config):

```json
{
  "mcpServers": {
    "dialfetch": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.dialfetch.com/api/mcp",
               "--header", "Authorization: Bearer df_YOUR_KEY"]
    }
  }
}
```
</details>

<details>
<summary><b>Claude.ai (web) — custom connector</b></summary>

Settings → Connectors → **Add custom connector** → paste `https://app.dialfetch.com/api/mcp` and
finish the one-click OAuth sign-in. No API key to paste.
</details>

<details>
<summary><b>Cursor</b></summary>

`~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "dialfetch": {
      "url": "https://app.dialfetch.com/api/mcp",
      "headers": { "Authorization": "Bearer df_YOUR_KEY" }
    }
  }
}
```
</details>

<details>
<summary><b>VS Code (Copilot agent mode)</b></summary>

`.vscode/mcp.json`:

```json
{
  "servers": {
    "dialfetch": {
      "type": "http",
      "url": "https://app.dialfetch.com/api/mcp",
      "headers": { "Authorization": "Bearer df_YOUR_KEY" }
    }
  }
}
```
</details>

More configs (Windsurf, Cline, Agent SDK) are in [`configs/`](./configs).

## Tools

| Tool | Inputs | Does |
|------|--------|------|
| `place_call` | `phone, goal, extract?, context?, disclose_ai?, from_number_id?, max_duration_minutes?, webhook_url?` | Start a goal-call; returns `{ call_id, status }` (async) |
| `get_call` | `call_id` | Status, outcome, answers, notes, transcript, recording URL |
| `wait_for_call` | `call_id, timeout_seconds?` | Block (with progress) until the call is terminal |
| `cancel_call` | `call_id` | Cancel a queued / in-progress call |
| `list_calls` | `status?, limit?, cursor?` | Recent calls, newest first |
| `get_call_recording` | `call_id` | Short-lived presigned audio URL |
| `list_phone_numbers` | — | Caller-ID numbers you own |
| `get_pricing` | — | Per-call / per-number pricing |
| `get_credit_balance` | — | Prepaid credit balance |

**Resource:** `dialfetch://calls/{id}` · **Prompts:** `check_store_hours`, `verify_license`, `get_order_status`

## How calls work

Calls are **asynchronous** (typically 2–10 minutes; longer with holds or transfers):

1. `place_call({ phone, goal, extract })` → `{ call_id, status: "queued" }`
2. Poll `get_call({ call_id })` (or use `wait_for_call`) until `status` is `completed` / `failed` / `canceled`
3. Read `answers`, `transcript`, `recording_url`

## Recipes

- [Retail / office hours](./recipes/store-hours.md)
- [License / insurance verification](./recipes/verify-license.md)
- [Order / claim status](./recipes/order-status.md)

## Safety

Calls disclose they are an AI by default. The agent will not read out or collect sensitive personal
data (SSNs, passwords, full card numbers). Goal-screening, credit holds, and rate limits apply to
every call and can't be bypassed by a client.

## Links

- Product & sign-up: https://app.dialfetch.com
- MCP docs: https://app.dialfetch.com/docs/mcp
- REST API docs: https://app.dialfetch.com/docs

## License

MIT — see [LICENSE](./LICENSE).

More