Dialfetch

Dale a tu agente de IA un teléfono: realiza llamadas reales, navega por IVRs, espera en espera y recibe respuestas estructuradas.

Documentación

Dialfetch MCP — dale un teléfono a tu agente de IA ☎️

Conecta Dialfetch a Claude, Cursor, VS Code, Windsurf, Cline, el Claude Agent SDK — o cualquier cliente de Model Context Protocol — y tu agente podrá realizar llamadas telefónicas reales. Navega por menús telefónicos IVR, permanece en espera, habla con humanos (incluso después de una transferencia) y devuelve respuestas estructuradas, una transcripción y una grabación.

Dale un número de teléfono y un objetivo en lenguaje natural. Objetivo adentro, resultado afuera.

"Llama a la farmacia al +1 305-555-0148 y dime a qué hora cierra hoy." → { answers: { closing_time: { value: "9:00 PM", quote: "We close at nine tonight." } } }

  • 🔌 Endpoint: https://app.dialfetch.com/api/mcp (Streamable HTTP + SSE)
  • 🔑 Autenticación: clave de API (Authorization: Bearer df_…) o OAuth con un clic para conectores personalizados
  • 📚 Documentación completa: https://app.dialfetch.com/docs/mcp
  • 🌐 Agnóstico de industria: horarios de tiendas y farmacias, estado de vuelos/viajes, estado de pedidos y reclamaciones, verificación de licencias y seguros, líneas gubernamentales y de servicios públicos

Conexión rápida

Claude Desktop

Añade a claude_desktop_config.json (Configuración → Desarrollador → Editar configuración):

{
  "mcpServers": {
    "dialfetch": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.dialfetch.com/api/mcp",
               "--header", "Authorization: Bearer df_YOUR_KEY"]
    }
  }
}
Claude.ai (web) — conector personalizado

Configuración → Conectores → Añadir conector personalizado → pega https://app.dialfetch.com/api/mcp y completa el inicio de sesión OAuth con un clic. No hay clave de API que pegar.

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "dialfetch": {
      "url": "https://app.dialfetch.com/api/mcp",
      "headers": { "Authorization": "Bearer df_YOUR_KEY" }
    }
  }
}
VS Code (modo agente de Copilot)

.vscode/mcp.json:

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

Más configuraciones (Windsurf, Cline, Agent SDK) están en configs/.

Herramientas

HerramientaEntradasFunción
place_callphone, goal, extract?, context?, disclose_ai?, from_number_id?, max_duration_minutes?, webhook_url?Inicia una llamada con objetivo; devuelve { call_id, status } (asíncrono)
get_callcall_idEstado, resultado, respuestas, notas, transcripción, URL de grabación
wait_for_callcall_id, timeout_seconds?Bloquea (con progreso) hasta que la llamada sea terminal
cancel_callcall_idCancela una llamada en cola / en curso
list_callsstatus?, limit?, cursor?Llamadas recientes, más recientes primero
get_call_recordingcall_idURL de audio prefirmada de corta duración
list_phone_numbersNúmeros de identificador de llamadas que posees
get_pricingPrecio por llamada / por número
get_credit_balanceSaldo de crédito prepagado

Recurso: dialfetch://calls/{id} · Indicaciones: check_store_hours, verify_license, get_order_status

Cómo funcionan las llamadas

Las llamadas son asíncronas (normalmente de 2 a 10 minutos; más largas con esperas o transferencias):

  1. place_call({ phone, goal, extract }){ call_id, status: "queued" }
  2. Consulta get_call({ call_id }) (o usa wait_for_call) hasta que status sea completed / failed / canceled
  3. Lee answers, transcript, recording_url

Recetas

Seguridad

Las llamadas revelan por defecto que son una IA. El agente no leerá ni recopilará datos personales sensibles (números de seguro social, contraseñas, números completos de tarjeta). El filtrado de objetivos, las retenciones de crédito y los límites de frecuencia se aplican a cada llamada y no pueden ser eludidos por un cliente.

Enlaces

Licencia

MIT — consulta LICENSE.