home / mcp / vapi mcp server

Vapi MCP Server

Provides remote and local MCP access to Vapi tools, calls, assistants, and phone numbers through the Vapi MCP Server.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "kuchikirenji-mcp-server": {
      "url": "https://mcp.vapi.ai/mcp",
      "headers": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    }
  }
}

You can connect your applications to Vapi APIs by running the Vapi MCP Server locally or remotely. This server enables function calling against Vapi tools, assistants, and calls, letting you automate and schedule actions through MCP clients.

How to use

Use an MCP client to connect to either the local Vapi MCP Server or the remote Vapi MCP endpoint. With the local server, you run the MCP server locally and point your client to your local instance. With the remote endpoint, you connect your MCP client to the remote service and pass your Vapi API key in the request headers. You can manage assistants, list and create calls, and handle phone numbers and tools through the provided actions.

Key actions you can perform include listing and updating assistants, creating outbound calls (immediate or scheduled), and retrieving information about phones and tools. You can also pass dynamic variables to personalize prompts and calls when creating them.

How to install

Prerequisites: you need Node.js and npm installed on your system.

Install dependencies and build the server locally, then run it as described.

If you plan to run a local MCP server for Claude Desktop, use the local configuration snippet below to start the server with your Vapi token.

Configuration and usage details

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

Remote vs local MCP

Remote MCP uses a Streamable HTTP Transport to connect to the remote endpoint at https://mcp.vapi.ai/mcp. You supply your Vapi API key as a bearer token in the Authorization header.

If you prefer legacy or SSE transport, you can connect to the deprecated SSE endpoint at https://mcp.vapi.ai/sse, again using a bearer token for authorization.

Using Variable Values in prompts

The create_call action supports passing dynamic variables through assistantOverrides.variableValues. Use these variables in your prompts with double curly braces like {{variableName}}.

Default variables are automatically available without passing them in, including {{now}}, {{date}}, {{time}}, {{month}}, {{day}}, {{year}}, and {{customer.number}}.

Development and testing

Install dependencies, build, and test the server locally.

# Install dependencies
npm install

# Build the server
npm run build

# Use inspector to test the server
npm run inspector

Testing and environment

Unit tests mock API calls to avoid real Vapi requests. End-to-end tests require a valid Vapi API token.

Set your Vapi API token in the environment and run the full test suite as needed.

Available tools

list_assistants

Lists all Vapi assistants available in your organization.

create_assistant

Creates a new Vapi assistant.

update_assistant

Updates an existing Vapi assistant.

get_assistant

Retrieves a Vapi assistant by its ID.

list_calls

Lists all outbound or scheduled calls.

create_call

Creates an outbound call with support for immediate or scheduled execution and dynamic variable values.

get_call

Retrieves details about a specific call.

list_phone_numbers

Lists all Vapi phone numbers in your account.

get_phone_number

Gets details of a specific phone number.

list_tools

Lists all Vapi tools available to your account.

get_tool

Gets details for a specific Vapi tool.