The Vapi Model Context Protocol server allows you to integrate with Vapi APIs through function calling.
- Open
Claude Desktop
and pressCMD + ,
to go toSettings
. - Click on the
Developer
tab. - Click on the
Edit Config
button. - This will open the
claude_desktop_config.json
file in your file explorer. - Get your Vapi API key from the Vapi dashboard (https://dashboard.vapi.ai/org/api-keys).
- Add the following to your
claude_desktop_config.json
file. See here for more details. - Restart the Claude Desktop after editing the config file.
{
"mcpServers": {
"vapi-mcp-server": {
"command": "npx",
"args": [
"-y",
"@vapi-ai/mcp-server"
],
"env": {
"VAPI_TOKEN": "<your_vapi_token>"
}
}
}
}
- Create or import a phone number using the Vapi dashboard (https://dashboard.vapi.ai/phone-numbers).
- Create a new assistant using the existing 'Appointment Scheduler' template in the Vapi dashboard (https://dashboard.vapi.ai/assistants).
- Make sure to configure Claude Desktop to use the Vapi MCP server and restart the Claude Desktop app.
- Ask Claude with the following message:
I wanna schedule an appointment, can you connect me with Riley assistant using my phone number +1234567890?
To connect to Vapi's MCP server via Server-Sent Events (SSE) Transport:
- Connect to
https://mcp.vapi.ai/sse
from any MCP client using SSE Transport - Include your Vapi API key as a bearer token in the request headers
- Example header:
Authorization: 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
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