Vapi MCP Server

Un servidor para integrar con las APIs de voz AI de Vapi usando llamadas a funciones.

Documentación

Vapi MCP Server

Crea asistentes de voz con IA y agentes telefónicos con Vapi usando el Protocolo de Contexto de Modelo.

Configuración

El servidor MCP requiere una clave de API de Vapi. Obtén una desde el panel de Vapi.

Servidor Local (stdio)

Configura cualquier cliente MCP que admita servidores stdio locales para ejecutar:

npx -y @vapi-ai/mcp-server

Establece VAPI_TOKEN en el entorno del servidor. Los formatos de configuración del cliente MCP varían, pero la definición del servidor generalmente se ve así:

{
  "mcpServers": {
    "vapi": {
      "command": "npx",
      "args": ["-y", "@vapi-ai/mcp-server"],
      "env": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    }
  }
}

Servidor Remoto (HTTP Transmisible)

Los clientes que admiten servidores MCP remotos pueden conectarse directamente:

  • URL: https://mcp.vapi.ai/mcp
  • Header: Authorization: Bearer your_vapi_api_key_here

Ejemplos Específicos por Cliente

Claude Code

claude mcp add -e VAPI_TOKEN=your_vapi_token vapi -- npx -y @vapi-ai/mcp-server

Claude Desktop

Usa la configuración del servidor local anterior en el archivo de configuración de Claude Desktop. Para conectarte al servidor alojado a través de un puente stdio en su lugar:

{
  "mcpServers": {
    "vapi": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.vapi.ai/mcp",
        "--header",
        "Authorization: Bearer ${VAPI_TOKEN}"
      ],
      "env": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    }
  }
}

Habilidad de Agente Opcional

El directorio skill contiene instrucciones reutilizables para agentes de codificación con IA que admiten Habilidades de Agente. Instálalo usando el proceso de instalación de habilidades de tu host.

Para Claude Code:

mkdir -p ~/.claude/skills/vapi
curl -o ~/.claude/skills/vapi/SKILL.md https://raw.githubusercontent.com/VapiAI/mcp-server/main/skill/SKILL.md

Ejemplo de Uso

Crear un Asistente de Voz

Pregunta a tu agente habilitado para MCP:

I want to build a voice assistant that can schedule appointments

Realizar una Llamada Saliente

Call +1234567890 using my appointment reminder assistant with these details:
- Customer name: Sarah Johnson
- Appointment date: March 25th
- Appointment time: 2:30 PM

Programar una Llamada Futura

Schedule a call with my support assistant for next Tuesday at 3:00 PM to +1555123456

Uso de Valores de Variables en Prompts de Asistentes

La acción create_call admite pasar variables dinámicas a través de assistantOverrides.variableValues. Usa dobles llaves en los prompts de tu asistente: {{variableName}}.

Ejemplo de Prompt con Variables

Hello {{customerName}}, this is a reminder about your appointment on {{appointmentDate}} at {{appointmentTime}} with {{doctorName}}.

Variables Predeterminadas

Estas están disponibles automáticamente (no es necesario pasarlas):

  • {{now}} - Fecha y hora actuales (UTC)
  • {{date}} - Fecha actual (UTC)
  • {{time}} - Hora actual (UTC)
  • {{month}} - Mes actual (UTC)
  • {{day}} - Día actual del mes (UTC)
  • {{year}} - Año actual (UTC)
  • {{customer.number}} - Número de teléfono del cliente

Consulta la documentación de Vapi para formato avanzado de fecha/hora.


Servidor MCP Remoto

Conéctate al servidor MCP alojado de Vapi desde cualquier cliente MCP:

HTTP Transmisible (Recomendado)

  • URL: https://mcp.vapi.ai/mcp
  • Header: Authorization: Bearer your_vapi_api_key_here

SSE (Obsoleto)

  • URL: https://mcp.vapi.ai/sse
  • Header: Authorization: Bearer your_vapi_api_key_here

Herramientas Disponibles

Asistentes

HerramientaDescripción
list_assistantsListar todos los asistentes
get_assistantObtener asistente por ID
create_assistantCrear nuevo asistente
update_assistantActualizar asistente

Llamadas

HerramientaDescripción
list_callsListar historial de llamadas
get_callObtener detalles de la llamada
create_callIniciar llamada saliente (inmediata o programada)

Números de Teléfono

HerramientaDescripción
list_phone_numbersListar números de teléfono
get_phone_numberObtener detalles del número de teléfono

Herramientas (Llamada de Funciones)

HerramientaDescripción
list_toolsListar herramientas personalizadas
get_toolObtener detalles de la herramienta
create_toolCrear herramienta para integración de API
update_toolActualizar herramienta

Desarrollo

# Install dependencies
npm install

# Build
npm run build

# Test with MCP inspector
npm run inspector

Configuración de Desarrollo Local

{
  "mcpServers": {
    "vapi-local": {
      "command": "node",
      "args": ["<path>/dist/index.js"],
      "env": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    }
  }
}

Pruebas

# Safe default suite (build, mocked execution, contract, and stdio compatibility)
npm test

# Unit tests (mocked public tool execution and catalog contract)
npm run test:unit

# Documentation/tool-catalog consistency lint
npm run test:docs

# Full TypeScript check (production and test code)
npm run typecheck

# Build and run local stdio protocol compatibility tests (no Vapi API calls)
npm run test:stdio

# Pack, install, and launch the package from a clean temporary consumer
npm run test:package

# Live read-only API tests
export VAPI_TOKEN=your_token_here
npm run test:live:readonly

# Live mutating tests (creates and cleans up disposable assistants and tools)
export VAPI_TOKEN=your_test_org_token_here
npm run test:live:mutating

Referencias