Vapi
STDIOSTREAMABLE HTTPHTTP-SSE通过函数调用集成Vapi API的电话管理服务器
通过函数调用集成Vapi API的电话管理服务器
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.
Example 3: Make a call with dynamic variables
I want to call +1234567890 with my appointment reminder assistant. Use these details: - Customer name: Sarah Johnson - Appointment date: March 25th - Appointment time: 2:30 PM - Doctor name: Dr. Smith
The create_call action supports passing dynamic variables through assistantOverrides.variableValues. These variables can be used in your assistant's prompts using double curly braces: {{variableName}}.
Hello {{customerName}}, this is a reminder about your appointment on {{appointmentDate}} at {{appointmentTime}} with {{doctorName}}.
The following variables are automatically available (no need to pass in variableValues):
{{now}} - Current date and time (UTC){{date}} - Current date (UTC){{time}} - Current time (UTC){{month}} - Current month (UTC){{day}} - Current day of month (UTC){{year}} - Current year (UTC){{customer.number}} - Customer's phone numberFor more details on default variables and advanced date/time formatting, see the official Vapi documentation.
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_hereServer-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_hereThis 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 call with support for:
assistantOverridesget_call: Gets details of a specific callNote: The
create_callaction supports scheduling calls for immediate execution or for a future time. You can also pass dynamic variables usingassistantOverrides.variableValuesto personalize assistant messages.
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