home / mcp / vapi mcp server

Vapi MCP Server

Vapi MCP Server

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "vapiai-mcp-server": {
      "url": "https://mcp.vapi.ai/mcp",
      "headers": {
        "VAPI_TOKEN": "your_token_here"
      }
    }
  }
}

You can run and connect to the Vapi MCP Server to build and manage AI voice assistants and phone agents. It enables you to use the Model Context Protocol with either a hosted MCP endpoint or a local runtime, giving you flexible options to scale and customize your voice automation workflows.

How to use

Connect to an MCP client and choose your preferred server method. You can use the hosted Vapi MCP server for streaming HTTP access or run a local MCP server process for development. Once connected, you can create, modify, and manage assistants, schedule outbound calls, handle phone numbers, and execute integrated tools to build interactive voice experiences. For first-time setup, you can add the Vapi MCP server to your client, then start creating assistants and prompts that reference dynamic variables for personalized interactions.

How to install

Prerequisites: you should have Node.js and npm installed on your machine. You will also need a modern terminal or command prompt. Follow these steps to prepare and run the MCP server locally or connect to the hosted server.

# Install dependencies for local development (if you are building or testing locally)
npm install

# Build and run the local MCP server (example from development flow)
npm run build
npm run inspector

# Start unit and e2e tests (optional, with token for E2E)
npm run test:unit
export VAPI_TOKEN=your_token_here
npm run test:e2e

Additional setup to connect to Vapi MCP server

You can connect in two primary ways: use the hosted MCP server with a streamable HTTP endpoint, or run a local MCP server process via your MCP client. The hosted endpoint requires an API key for authorization, while the local process uses a local node runtime.

{
  "mcpServers": {
    "vapi": {
      "type": "http",
      "url": "https://mcp.vapi.ai/mcp",
      "args": []
    }
  }
}

Working with variable prompts and actions

You can inject dynamic values into prompts using variables. Pass values to actions like create_call through assistantOverrides.variableValues and reference them in prompts with double curly braces, for example: {{variableName}}.

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

Example usage scenarios

Create a voice assistant that can schedule appointments, make outbound reminders, or handle customer support calls by configuring assistants and calls through the MCP client. You can schedule future calls, trigger outbound messages, and manage phone numbers and tools through the available endpoints.

Available tools

vapi_list_assistants

List all assistants available in the MCP system.

vapi_get_assistant

Retrieve details for a specific assistant by ID.

vapi_create_assistant

Create a new assistant with specified configuration.

vapi_update_assistant

Update an existing assistant.

vapi_delete_assistant

Delete an existing assistant.

vapi_list_calls

List outbound call history.

vapi_get_call

Get details for a specific call.

vapi_create_call

Start an outbound call, either immediately or scheduled.

vapi_list_phone_numbers

List configured phone numbers.

vapi_get_phone_number

Get details for a specific phone number.

vapi_buy_phone_number

Purchase a new phone number.

vapi_update_phone_number

Update settings for a phone number.

vapi_delete_phone_number

Release a phone number.

vapi_list_tools

List custom tools available for integration.

vapi_get_tool

Get details for a custom tool.

vapi_create_tool

Create a tool for API integration.

vapi_update_tool

Update an existing tool.

vapi_delete_tool

Delete a tool.

vapi_login

Start OAuth flow to authenticate the MCP client.

vapi_logout

Log out and clear credentials.