vapi-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vapi-mcp-server list my assistants"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Vapi MCP Server
Hey there! This is a custom Model Context Protocol (MCP) server designed specifically for the Vapi Voice AI platform. I built this to bridge the gap between AI models and Vapi's infrastructure, allowing agents to actually manage voice bots and phone calls instead of just talking about them.
This project was built and is maintained by Ageborn Dev.
What is this for?
Basically, if you're using Claude Desktop or any other MCP-compatible client, you can plug this server in and give your AI "admin rights" over your Vapi dashboard. It can create assistants, trigger outbound calls, buy phone numbers, and check your analytics directly through the chat interface.
Related MCP server: RetellAI MCP Server
Quick Setup
Getting this running is pretty straightforward, but you need the right keys.
🔑 Understanding Vapi API Keys
Vapi provides two types of keys in your dashboard. It's important to use the right one:
Private API Key (Bearer Token):
What it's for: Full server-side access. This is what this MCP server needs to manage your assistants, initiate calls, and pull analytics.
Where to find it: Go to dashboard.vapi.ai, click on Organization Settings, and look for the API Keys tab. You'll see your "Private Key" or "Bearer Token" there.
Security: Never share this key. It grants total control over your account.
Public Key:
What it's for: Used strictly for client-side integrations (like embedding a voice widget on a website or in a mobile app).
Usage: You do not need this for the MCP server.
🚀 Installation & OS Setup
Clone and Install:
npm installConfigure Your Keys:
Depending on your system, here is how you make sure the server sees your API key:
Windows (PowerShell):
$env:VAPI_API_KEY = "your_private_key_here" # To make it permanent, add it to your System Environment Variables via Settings.Mac / Linux (Terminal):
export VAPI_API_KEY="your_private_key_here" # Add this to your ~/.zshrc or ~/.bashrc to keep it after restart.
Alternatively, just create a
.envfile in the root directory:cp .env.example .envBuild & Start:
npm run build npm start
The Toolset
This server is packed with over 30 advanced tools that map directly to the latest Vapi 2026 platform architecture. Here is a breakdown of what your AI can actually do:
Assistants: Full CRUD (Create, Read, Update, Delete) support for your voice bots (supporting the latest Vapi Voices collection).
Calls: Start calls, end them, and run detailed AI evaluations natively.
Phone Numbers: Buy new numbers or seamlessly import existing ones from Twilio/Vonage and other providers.
Knowledge & Tools: Deploy and manage the custom server functions, webhooks, and tool nodes that power your assistants.
Squads: Handle multi-assistant handoffs and build complex conversational architectures.
Chat & Sessions: Full CRUD for Vapi chat sessions, allowing you to natively test and chat with your assistants without initiating a phone call.
Workflows: Generate entire Vapi workflows using AI directly from your IDE or chat client.
Diagnostics & Data: Pull campaign analytics, cost reports, and deep diagnostic artifacts from completed calls—reflecting Vapi's updated 2026 observability system.
Support: File support tickets directly with the Vapi team.
How to Integrate with your AI Agent
Since this server is built on the standard Model Context Protocol (MCP), you can attach it to any MCP-compatible AI client (such as Claude Desktop, Cursor, or your preferred IDE/Agent environment).
1. Configure the Server
Most MCP clients rely on a standard mcp_config.json file (or sometimes a UI menu) to attach local servers.
Add the following entry to your configuration file (make sure to replace the placeholder paths with your actual absolute paths on your machine):
{
"mcpServers": {
"vapi": {
"command": "node",
"args": ["/absolute/path/to/vapi-mcp-server/build/index.js"],
"env": {
"VAPI_API_KEY": "your_private_api_key_here"
}
}
}
}2. Save and Restart
Save your configuration and restart or refresh your AI client.
🚀 Usage
Once registered and authenticated, you can just naturally ask your AI agent: "List my Vapi assistants" or "Start a Vapi chat session..." and the agent will securely utilize this backend to execute your commands directly!
Built with Love ❤️ and ☕ by Ageborn Dev
Available Tools
34 toolsvapi_buy_phone_numberC
Buy a new Vapi phone number
Inputs: areaCode, phoneNumber, assistantId.
vapi_chatC
Send a message to an assistant or continue a chat session
Inputs: assistantId, sessionId, messages.
vapi_create_assistantC
Create a new Vapi assistant
Inputs: name (required), model, voice, transcriber, +2 more.
vapi_create_callC
Initiate a new Vapi call
Inputs: assistantId (required), phoneNumberId, customer.
vapi_create_sessionC
Create a new Vapi chat session
Inputs: assistantId, messages, metadata.
vapi_create_squadC
Create a new Vapi squad
Inputs: members (required), name.
vapi_create_support_ticketC
File a support ticket with Vapi
Inputs: subject (required), description (required), priority.
vapi_create_toolC
Create a new Vapi tool
Inputs: type (required), messages, function, server.
vapi_delete_assistantC
Delete a Vapi assistant
Inputs: id (required).
vapi_delete_sessionC
Delete a Vapi chat session
Inputs: id (required).
vapi_delete_squadC
Delete a Vapi squad
Inputs: id (required).
vapi_delete_toolC
Delete a Vapi tool
Inputs: id (required).
vapi_end_callC
End an active Vapi call
Inputs: id (required).
vapi_evaluate_callC
Evaluate a Vapi call
Inputs: id (required).
vapi_generate_workflowD
Generate a new Vapi workflow using AI
Inputs: messages (required).
vapi_get_analyticsD
Get Vapi analytics
Inputs: queries (required).
vapi_get_assistantC
Get a specific Vapi assistant
Inputs: id (required).
vapi_get_callC
Get a specific Vapi call
Inputs: id (required).
vapi_get_call_artifactsB
Extract deep diagnostic artifacts from a completed call
Inputs: id (required).
vapi_get_campaign_analyticsB
Get simplified campaign analytics to fetch the total call count
Inputs: no named parameters.
vapi_get_phone_numberB
Get a specific Vapi phone number
Inputs: id (required).
vapi_get_sessionC
Get a specific Vapi chat session
Inputs: id (required).
vapi_get_squadC
Get a specific Vapi squad
Inputs: id (required).
vapi_get_toolC
Get a specific Vapi tool
Inputs: id (required).
vapi_import_phone_numberC
Import a phone number to Vapi
Inputs: number (required), provider (required), providerId (required), providerToken (required).
vapi_list_assistantsA
List all Vapi assistants
Inputs: no named parameters.
vapi_list_callsB
List all Vapi calls
Inputs: no named parameters.
vapi_list_phone_numbersB
List all Vapi phone numbers
Inputs: no named parameters.
vapi_list_sessionsA
List all Vapi chat sessions
Inputs: no named parameters.
vapi_list_squadsA
List all Vapi squads
Inputs: no named parameters.
vapi_list_toolsA
List all Vapi tools
Inputs: no named parameters.
vapi_update_assistantC
Update an existing Vapi assistant
Inputs: id (required), data (required).
vapi_update_squadC
Update an existing Vapi squad
Inputs: id (required), data (required).
vapi_update_toolC
Update an existing Vapi tool
Inputs: id (required), data (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 34 tools
All tools target distinct resources (assistant, call, phone number, session, squad, tool, etc.) with unique actions. No two tools overlap in purpose; even similar ones like vapi_evaluate_call and vapi_get_call_artifacts are clearly differentiated by description.
All tools follow a consistent pattern: vapi_verb_noun (e.g., vapi_create_assistant, vapi_list_phone_numbers). The prefix 'vapi_' is used uniformly, and verbs are predictable (create, delete, get, list, update, etc.).
With 34 tools, the server is well above the typical 3-15 range and even beyond the 16-25 borderline. While the tools are organized, the count feels excessive for a single MCP server, likely overwhelming agents.
The tool surface covers most core operations for assistants, calls, squads, and tools (CRUD-like), but phone numbers and sessions are missing update and delete operations. Additionally, support tickets only have a create tool. These gaps are notable but not severely blocking.
Maintenance
Related MCP Connectors
Create and manage DialNexa AI voice agents, campaigns, calls, phone numbers, workflows, and more.
Give AI agents secure access to RevDesk calling, SMS, phone numbers, caller IDs, and usage.
Manage CallKaro voice agents, phone numbers, call queues, and place single or batch AI calls.
Build and manage voice AI agents for real phone lines: assistants, calls, numbers and campaigns.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables integration with Vapi's voice AI platform to manage assistants, create and schedule phone calls with dynamic variables, and manage phone numbers through function calling.1,463 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage RetellAI voice services including calls, agents, phone numbers, and voices through natural language.596 npmISC
- AlicenseAqualityDmaintenanceManage voice AI agents, make calls, run campaigns, and control phone numbers through natural language.5825 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Davoxi voice agent platform resources such as businesses, agents, call logs, webhooks, analytics, and billing through natural language conversations.8 npmMIT