# dialfetch

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/xneyder/dialfetch-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dialfetch

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

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "dialfetch": {
    "command": "npx",
    "args": ["-y","dialfetch"]
  }
}
```

## Documentation & 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).

