Skip to main content
Glama
vapi-mcp-server

vapi-mcp-server

by ageborn-dev

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:

  1. 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.

  2. 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

  1. Clone and Install:

    npm install
  2. Configure 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 .env file in the root directory:

    cp .env.example .env
  3. Build & 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 tools
vapi_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

    C2.8/5.0

    Scored across 34 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.).

    Tool Count2/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers