Vapi MCP Server

Um servidor para integração com as APIs de IA de voz da Vapi usando chamadas de função.

Documentação

Servidor MCP da Vapi

Crie assistentes de voz com IA e agentes telefônicos com Vapi usando o Model Context Protocol.

Configuração

O servidor MCP requer uma chave de API da Vapi. Obtenha uma no painel da Vapi.

Servidor Local (stdio)

Configure qualquer cliente MCP que suporte servidores stdio locais para executar:

npx -y @vapi-ai/mcp-server

Defina VAPI_TOKEN no ambiente do servidor. Os formatos de configuração do cliente MCP variam, mas a definição do servidor geralmente se parece com isto:

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

Servidor Remoto (HTTP Streamable)

Clientes que suportam servidores MCP remotos podem se conectar diretamente:

  • URL: https://mcp.vapi.ai/mcp
  • Cabeçalho: Authorization: Bearer your_vapi_api_key_here

Exemplos Específicos por Cliente

Claude Code

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

Claude Desktop

Use a configuração do servidor local acima no arquivo de configuração do Claude Desktop. Para conectar ao servidor hospedado por meio de uma ponte stdio:

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

Habilidade Opcional do Agente

O diretório skill contém instruções reutilizáveis para agentes de codificação de IA que suportam Habilidades de Agente. Instale-o usando o processo de instalação de habilidades do seu 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

Exemplo de Uso

Criar um Assistente de Voz

Pergunte ao seu agente habilitado para MCP:

I want to build a voice assistant that can schedule appointments

Fazer uma Chamada de Saída

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

Agendar uma Chamada Futura

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

Usando Valores de Variáveis em Prompts do Assistente

A ação create_call suporta a passagem de variáveis dinâmicas por meio de assistantOverrides.variableValues. Use chaves duplas nos prompts do seu assistente: {{variableName}}.

Exemplo de Prompt com Variáveis

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

Variáveis Padrão

Estas estão automaticamente disponíveis (não é necessário passá-las):

  • {{now}} - Data e hora atuais (UTC)
  • {{date}} - Data atual (UTC)
  • {{time}} - Hora atual (UTC)
  • {{month}} - Mês atual (UTC)
  • {{day}} - Dia atual do mês (UTC)
  • {{year}} - Ano atual (UTC)
  • {{customer.number}} - Número de telefone do cliente

Consulte a documentação da Vapi para formatação avançada de data/hora.


Servidor MCP Remoto

Conecte-se ao servidor MCP hospedado da Vapi a partir de qualquer cliente MCP:

HTTP Streamable (Recomendado)

  • URL: https://mcp.vapi.ai/mcp
  • Cabeçalho: Authorization: Bearer your_vapi_api_key_here

SSE (Obsoleto)

  • URL: https://mcp.vapi.ai/sse
  • Cabeçalho: Authorization: Bearer your_vapi_api_key_here

Ferramentas Disponíveis

Assistentes

FerramentaDescrição
list_assistantsListar todos os assistentes
get_assistantObter assistente por ID
create_assistantCriar novo assistente
update_assistantAtualizar assistente

Chamadas

FerramentaDescrição
list_callsListar histórico de chamadas
get_callObter detalhes da chamada
create_callIniciar chamada de saída (imediata ou agendada)

Números de Telefone

FerramentaDescrição
list_phone_numbersListar números de telefone
get_phone_numberObter detalhes do número de telefone

Ferramentas (Chamada de Função)

FerramentaDescrição
list_toolsListar ferramentas personalizadas
get_toolObter detalhes da ferramenta
create_toolCriar ferramenta para integração de API
update_toolAtualizar ferramenta

Desenvolvimento

# Install dependencies
npm install

# Build
npm run build

# Test with MCP inspector
npm run inspector

Configuração de Desenvolvimento Local

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

Testes

# 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

Referências