logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

vapi-orchestrator-service

Facilitate application linkage with the Vapi Application Programming Interfaces (APIs) through the utilization of function invocation methods. This enables streamlined management of call initiation, virtual assistants, and telephone acquisition. Gain access to Vapi's comprehensive feature set, either hosted internally or externally, prioritizing robust security protocols and superior user experience.

Author

vapi-orchestrator-service logo

VapiAI

MIT License

Quick Info

GitHub GitHub Stars 27
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

vapivapiaicloudvapi apisservices vapiaiaccess vapi

Vapi MCP Service Gateway

smithery badge

The Vapi Model Context Protocol gateway application permits integration with Vapi backend services utilizing mechanism calling.

Vapi Server MCP server

Configuration for Claude Desktop Environment

  1. Initiate the Claude Desktop application and navigate to Settings by pressing CMD + ,.
  2. Select the Developer preference pane.
  3. Engage the Edit Config pushbutton.
  4. This action will expose the configuration file named claude_desktop_config.json within your operating system's file browser.
  5. Retrieve your unique Vapi access credential from the Vapi administration portal (https://dashboard.vapi.ai/org/api-keys).
  6. Append the subsequent configuration snippet to your claude_desktop_config.json. Refer to the documentation here for comprehensive setup guidance.
  7. After modifying the configuration file, a restart of the Claude Desktop application is necessary.

Local Deployment Setup

{ "mcpServers": { "vapi-mcp-server": { "command": "npx", "args": [ "-y", "@vapi-ai/mcp-server" ], "env": { "VAPI_TOKEN": "" } } } }

Remote Connection Setup

{ "mcpServers": { "vapi-mcp": { "command": "npx", "args": [ "mcp-remote", "https://mcp.vapi.ai/mcp", "--header", "Authorization: Bearer ${VAPI_TOKEN}" ], "env": { "VAPI_TOKEN": "" } } } }

Practical Utilization with Claude Desktop

  1. Provision or import a telephone identifier via the Vapi control panel (https://dashboard.vapi.ai/phone-numbers).
  2. Establish a novel virtual agent utilizing the pre-existing 'Appointment Scheduler' template within the Vapi dashboard (https://dashboard.vapi.ai/assistants).
  3. Confirm that Claude Desktop is configured to leverage the Vapi MCP gateway and subsequently restart the application.
  4. Instruct Claude to initiate or schedule a telephony session. Illustrations follow:

Scenario 1: Immediate communication request

md I need to converse with my ShopHelper virtual agent regarding my recent procurement. Would you arrange for it to dial me at +1234567890?

Scenario 2: Postponed communication scheduling

md I require a call reservation with the Mary agent for the subsequent Tuesday at 15:00 hours. My designated line is +1555123456.

Scenario 3: Executing a call with adjustable parameters

md Initiate a call to +1234567890 utilizing the appointment notification agent. Supply these specific values: - Client designation: Sarah Johnson - Meeting date: 25th of March - Meeting time: 14:30 - Practitioner name: Dr. Smith

Employing Variable Data within Assistant Directives

The create_call operation accommodates the injection of dynamic parameters via the assistantOverrides.variableValues field. These parameters become accessible within your assistant's programmed instructions by enclosing them in double curly braces, like so: {{variableName}}.

Illustrative Assistant Directive Incorporating Variables

Greetings {{customerName}}, this message serves as a reminder for your scheduled engagement on {{appointmentDate}} at {{appointmentTime}} with {{doctorName}}.

System-Provided Variables

The subsequent variables are inherently available without explicit parameter transmission in variableValues:

  • {{now}} - Current temporal marker (Coordinated Universal Time)
  • {{date}} - Current calendar date (UTC)
  • {{time}} - Current clock time (UTC)
  • {{month}} - Current calendar month (UTC)
  • {{day}} - Current day of the month (UTC)
  • {{year}} - Current calendar year (UTC)
  • {{customer.number}} - The recipient's telephone number

For exhaustive specifics concerning predefined variables and advanced manipulation of temporal formats, consult the official Vapi reference materials.

External MCP Interface

To establish a connection to the Vapi MCP endpoint remotely:

This is the default and preferred method for connection establishment:

  • Interface with https://mcp.vapi.ai/mcp from any compatible MCP client employing Streamable HTTP Transport.
  • The Vapi authentication token must be transmitted within the request headers as a bearer token.
  • Sample header format: Authorization: Bearer your_vapi_api_key_here

SSE (Server-Sent Events) Transport (Deprecated Method)

Support for SSE Transport persists but is marked for deprecation:

  • Connect to https://mcp.vapi.ai/sse utilizing any MCP client configured for SSE Transport.
  • The Vapi API credential must be included in the request headers as a bearer token.
  • Sample header format: Authorization: Bearer your_vapi_api_key_here

This remote linkage grants operational access to Vapi functionalities without the necessity of executing a local server instance.

Development Cycle

bash

Install necessary components

npm install

Compile the service application

npm run build

Utilize the inspector utility for debugging the service

npm run inspector

Update your claude_desktop_config.json to point towards the locally built service.

{ "mcpServers": { "vapi-local": { "command": "node", "args": [ "/dist/index.js" ], "env": { "VAPI_TOKEN": "" } }, } }

Validation Procedures

The development package incorporates two distinct testing methodologies:

Component Isolation Tests (Unit Tests)

Unit validation employs simulation techniques to verify the MCP service logic without invoking actual external Vapi network calls.

bash

Execute unit tests

npm run test:unit

Full System Validation Tests (End-to-End Tests)

E2E evaluations involve launching the complete MCP service instance and performing genuine interactions with the Vapi backend systems.

bash

Set your requisite Vapi access token

export VAPI_TOKEN=your_token_here

Initiate E2E testing sequence

npm run test:e2e

Caveat: E2E testing mandates that a valid Vapi API identifier be present in the execution environment variables.

Consolidated Test Execution

To initiate all validation routines concurrently:

bash npm test

Referenced Resources

Supported Operations

The Vapi MCP Gateway furnishes the subsequent functional interfaces for connectivity:

Assistant Management Functions

  • list_assistants: Retrieves a manifest of all provisioned Vapi virtual agents
  • create_assistant: Provisions a novel Vapi virtual agent
  • update_assistant: Modifies parameters of an existing Vapi virtual agent
  • get_assistant: Fetches specific details for a Vapi virtual agent by its identifier

Telephony Session Functions

  • list_calls: Generates a registry of all active/past Vapi communication sessions
  • create_call: Initiates an outbound communication session, supporting:
  • Prompt execution or scheduled timing
  • Injection of dynamic parameter values via assistantOverrides
  • get_call: Retrieves the status details of a particular communication session

Observation: The create_call mechanism supports scheduling for immediate deployment or for a future designated moment. Furthermore, dynamic personalization data can be supplied through assistantOverrides.variableValues to customize agent messaging.

Telephone Identifier Functions

  • list_phone_numbers: Lists all registered Vapi telephone identifiers
  • get_phone_number: Retrieves detailed information for a specific telephone identifier

Vapi System Functions

  • list_tools: Enumerates all registered Vapi functional tools
  • get_tool: Retrieves the specifications for an individual Vapi tool

WIKIPEDIA: Pertaining to distributed computing, "cloud computing" describes "a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing assets (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction," as formally defined by ISO. Colloquially, this concept is often simply termed "the cloud."

== Essential Attributes == In the year 2011, the United States National Institute of Standards and Technology (NIST) codified five "crucial characteristics" defining cloud systems. The precise definitions provided by NIST are enumerated below:

On-demand self-service: "A user can independently procure computational resources, such as processing capacity and network data space, precisely when required, automatically, without necessitating direct human intervention from the service vendor." Extensive network reach: "Capabilities are accessible across a network utilizing standard protocols that encourage adoption across diverse client apparatus types, regardless of form factor (e.g., mobile handsets, tablets, portable computers, and desktop workstations)." Resource concentration: " The vendor's collective computational assets are pooled to serve a multitude of clients under a multi-tenant architecture, wherein distinct physical and virtual assets are dynamically allocated and reallocated based on subscriber requirements." Agile scalability: "Resources can be elastically provisioned and decommissioned, occasionally autonomously, enabling rapid expansion and contraction commensurate with operational demand. From the consumer's perspective, the available capacities for deployment often appear infinite and can be secured in any quantity at any point in time." Measured provision: "Cloud architectures automatically regulate and optimize resource utilization by employing metering mechanisms at an appropriate layer of abstraction relative to the service category (e.g., data persistence, computation cycles, data throughput, and active user accounts). Resource consumption is trackable, governable, and reportable, offering transparency for both the service supplier and the recipient regarding utilized capacity." By 2023, the International Organization for Standardization (ISO) had subsequently expanded and refined this definitive list.

== Historical Precursors ==

The lineage of cloud computation traces back to the 1960s, marked by the initial proliferation of time-sharing concepts through remote job submission (RJE) utilities. The prevailing operational model during this epoch centered on the "data center" paradigm, where users submitted tasks to dedicated system administrators who executed them on mainframe computers. This era was characterized by intense investigation and trial-and-error aimed at democratizing access to substantial computational power for a broader user base via time-sharing, simultaneously optimizing the underlying infrastructure, platform layers, and application code, thereby boosting end-user productivity. The figurative representation of "the cloud" to denote virtualized services originated in 1994, employed by General Magic to depict the cosmos of "locations" accessible by autonomous agents within their Telescript framework. This metaphor is generally attributed to David Hoffman, a communications specialist at General Magic, who based it on the metaphor's established usage within telecommunications and networking contexts. The specific nomenclature "cloud computing" gained wider recognition in 1996 when Compaq Computer Corporation drafted an expansive business strategy concerning future computational modalities and the Internet. The organization's aspiration was to superch

See Also

`