Vapi MCP Server
OfficialThe Vapi MCP Server enables integration with Vapi APIs through the Model Context Protocol for managing:
Assistants: List, create, update, and retrieve assistants with customizable LLM, voice, transcriber, and first message configurations.
Calls: List, create, and retrieve calls, including scheduling outbound calls for immediate or future execution.
Phone Numbers: List and retrieve Vapi phone numbers.
Tools: List and retrieve Vapi tools.
Remote Connectivity: Connect to the server remotely using Server-Sent Events (SSE) for seamless integration.
Development & Testing: Supports local development with unit and end-to-end tests.
Allows the MCP server to be installed and run via NPX, making it easy to integrate Vapi's capabilities through the NPM package ecosystem.
Click on "Install 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 Servercall my appointment reminder assistant to schedule a follow-up for next week"
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
Build AI voice assistants and phone agents with Vapi using the Model Context Protocol.
Setup
The MCP server requires a Vapi API key. Get one from the Vapi dashboard.
Local Server (stdio)
Configure any MCP client that supports local stdio servers to run:
npx -y @vapi-ai/mcp-serverSet VAPI_TOKEN in the server environment. MCP client configuration formats vary, but the server definition generally looks like this:
{
"mcpServers": {
"vapi": {
"command": "npx",
"args": ["-y", "@vapi-ai/mcp-server"],
"env": {
"VAPI_TOKEN": "<your_vapi_token>"
}
}
}
}Remote Server (Streamable HTTP)
Clients that support remote MCP servers can connect directly:
URL:
https://mcp.vapi.ai/mcpHeader:
Authorization: Bearer your_vapi_api_key_here
Client-Specific Examples
Claude Code
claude mcp add -e VAPI_TOKEN=your_vapi_token vapi -- npx -y @vapi-ai/mcp-serverClaude Desktop
Use the local server configuration above in the Claude Desktop configuration file. To connect to the hosted server through an stdio bridge instead:
{
"mcpServers": {
"vapi": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.vapi.ai/mcp",
"--header",
"Authorization: Bearer ${VAPI_TOKEN}"
],
"env": {
"VAPI_TOKEN": "<your_vapi_token>"
}
}
}
}Optional Agent Skill
The skill directory contains reusable instructions for AI coding agents that support Agent Skills. Install it using your host's skill installation process.
For Claude Code:
mkdir -p ~/.claude/skills/vapi
curl -o ~/.claude/skills/vapi/SKILL.md https://raw.githubusercontent.com/VapiAI/mcp-server/main/skill/SKILL.mdRelated MCP server: Lark MCP Server
Example Usage
Create a Voice Assistant
Ask your MCP-enabled agent:
I want to build a voice assistant that can schedule appointmentsMake an Outbound Call
Call +1234567890 using my appointment reminder assistant with these details:
- Customer name: Sarah Johnson
- Appointment date: March 25th
- Appointment time: 2:30 PMSchedule a Future Call
Schedule a call with my support assistant for next Tuesday at 3:00 PM to +1555123456Using Variable Values in Assistant Prompts
The create_call action supports passing dynamic variables through assistantOverrides.variableValues. Use double curly braces in your assistant's prompts: {{variableName}}.
Example Prompt with Variables
Hello {{customerName}}, this is a reminder about your appointment on {{appointmentDate}} at {{appointmentTime}} with {{doctorName}}.Default Variables
These are automatically available (no need to pass):
{{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 number
See Vapi documentation for advanced date/time formatting.
Remote MCP Server
Connect to Vapi's hosted MCP server from any MCP client:
Streamable HTTP (Recommended)
URL:
https://mcp.vapi.ai/mcpHeader:
Authorization: Bearer your_vapi_api_key_here
SSE (Deprecated)
URL:
https://mcp.vapi.ai/sseHeader:
Authorization: Bearer your_vapi_api_key_here
Available Tools
Assistants
Tool | Description |
| List all assistants |
| Get assistant by ID |
| Create new assistant |
| Update assistant |
Calls
Tool | Description |
| List call history |
| Get call details |
| Start outbound call (immediate or scheduled) |
Phone Numbers
Tool | Description |
| List phone numbers |
| Get phone number details |
Tools (Function Calling)
Tool | Description |
| List custom tools |
| Get tool details |
| Create tool for API integration |
| Update tool |
Development
# Install dependencies
npm install
# Build
npm run build
# Test with MCP inspector
npm run inspectorLocal Development Config
{
"mcpServers": {
"vapi-local": {
"command": "node",
"args": ["<path>/dist/index.js"],
"env": {
"VAPI_TOKEN": "<your_vapi_token>"
}
}
}
}Testing
# Safe default suite (build, mocked execution, contract, and stdio compatibility)
npm test
# Unit tests (mocked public tool execution and catalog contract)
npm run test:unit
# Documentation/tool-catalog consistency lint
npm run test:docs
# Full TypeScript check (production and test code)
npm run typecheck
# Build and run local stdio protocol compatibility tests (no Vapi API calls)
npm run test:stdio
# Pack, install, and launch the package from a clean temporary consumer
npm run test:package
# Live read-only API tests
export VAPI_TOKEN=your_token_here
npm run test:live:readonly
# Live mutating tests (creates and cleans up disposable assistants and tools)
export VAPI_TOKEN=your_test_org_token_here
npm run test:live:mutatingReferences
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.900MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI models to send messages to Lark users and manage calendar events (list, create, add attendees) through the Model Context Protocol.166MIT
- AlicenseNot gradedqualityDmaintenanceProvides a standardized interface for interacting with Falai's tools and services through the Model Context Protocol, enabling AI assistants to leverage Falai capabilities.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to seamlessly take HubSpot actions and interact with your HubSpot data through the Model Context Protocol.13,981MIT
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/VapiAI/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server