Provides remote and local MCP access to Vapi tools, calls, assistants, and phone numbers through the Vapi MCP Server.
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.
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.
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.
{
"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 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.
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}}.
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 inspectorUnit 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.
Lists all Vapi assistants available in your organization.
Creates a new Vapi assistant.
Updates an existing Vapi assistant.
Retrieves a Vapi assistant by its ID.
Lists all outbound or scheduled calls.
Creates an outbound call with support for immediate or scheduled execution and dynamic variable values.
Retrieves details about a specific call.
Lists all Vapi phone numbers in your account.
Gets details of a specific phone number.
Lists all Vapi tools available to your account.
Gets details for a specific Vapi tool.