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).