
Vapi
STDIOSTREAMABLE HTTPHTTP-SSEMCP server for integrating with Vapi APIs through function calling for phone call management.
MCP server for integrating with Vapi APIs through function calling for phone call management.
The Vapi Model Context Protocol server allows you to integrate with Vapi APIs through function calling.
Claude Desktop
and press CMD + ,
to go to Settings
.Developer
tab.Edit Config
button.claude_desktop_config.json
file in your file explorer.claude_desktop_config.json
file. See here for more 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>" } } } }
Example 1: Request an immediate call
I'd like to speak with my ShopHelper assistant to talk about my recent order. Can you have it call me at +1234567890?
Example 2: Schedule a future call
I need to schedule a call with Mary assistant for next Tuesday at 3:00 PM. My phone number is +1555123456.
To connect to Vapi's MCP server remotely:
The default and recommended way to connect is via Streamable HTTP Transport:
https://mcp.vapi.ai/mcp
from any MCP client using Streamable HTTP TransportAuthorization: Bearer your_vapi_api_key_here
Server-Sent Events (SSE) Transport is still supported but deprecated:
https://mcp.vapi.ai/sse
from any MCP client using SSE TransportAuthorization: Bearer your_vapi_api_key_here
This connection allows you to access Vapi's functionality remotely without running a local server.
# Install dependencies npm install # Build the server npm run build # Use inspector to test the server npm run inspector
Update your claude_desktop_config.json
to use the local server.
{ "mcpServers": { "vapi-local": { "command": "node", "args": [ "<path_to_vapi_mcp_server>/dist/index.js" ], "env": { "VAPI_TOKEN": "<your_vapi_token>" } }, } }
The project has two types of tests:
Unit tests use mocks to test the MCP server without making actual API calls to Vapi.
# Run unit tests npm run test:unit
E2E tests run the full MCP server with actual API calls to Vapi.
# Set your Vapi API token export VAPI_TOKEN=your_token_here # Run E2E tests npm run test:e2e
Note: E2E tests require a valid Vapi API token to be set in the environment.
To run all tests at once:
npm test
The Vapi MCP Server provides the following tools for integration:
list_assistants
: Lists all Vapi assistantscreate_assistant
: Creates a new Vapi assistantupdate_assistant
: Updates an existing Vapi assistantget_assistant
: Gets a Vapi assistant by IDlist_calls
: Lists all Vapi callscreate_call
: Creates an outbound callget_call
: Gets details of a specific callNote: The
create_call
action supports scheduling calls for immediate execution or for a future time.
list_phone_numbers
: Lists all Vapi phone numbersget_phone_number
: Gets details of a specific phone numberlist_tools
: Lists all Vapi toolsget_tool
: Gets details of a specific tool