MCP ExplorerExplorer

Vapi Mcp

@matthewdcageon 9 months ago
2 MIT
FreeCommunity
AI Systems
Vapi.ai MCP server & HTTP Server

Overview

What is Vapi Mcp

vapi-mcp is a Model Context Protocol (MCP) server designed to integrate Vapi’s voice AI capabilities with Cursor, enabling seamless communication and interaction through voice technology.

Use cases

Use cases for vapi-mcp include automating customer support calls, creating interactive voice response systems, and developing applications that require voice-enabled functionalities.

How to use

To use vapi-mcp, set up the environment by creating a .env file with necessary API keys, build the server using npm commands, and configure it in Cursor’s MCP settings while ensuring correct parameters such as working directory and environment variables are provided.

Key features

Key features of vapi-mcp include tools for making outbound calls with Vapi’s voice AI, managing voice assistants (create, get, list, update, delete), and retrieving conversation details from calls.

Where to use

vapi-mcp can be used in various fields such as customer service, virtual assistance, and any application requiring voice interaction and AI-driven communication.

Content

Vapi MCP for Cursor

This project implements a Model Context Protocol (MCP) server for integrating Vapi’s voice AI capabilities with Cursor.

Setup Instructions

1. Project Structure

The Vapi MCP server is structured as follows:

  • vapi-mcp-server/ - Main server code
    • src/ - TypeScript source files
    • dist/ - Compiled JavaScript output
    • .env - Environment variables for API keys

2. Environment Configuration

Create a .env file in the vapi-mcp-server directory with the following variables:

# Vapi API Keys
VAPI_ORG_ID=your-org-id
VAPI_PRIVATE_KEY=your-private-key
VAPI_KNOWLEDGE_ID=your-knowledge-id
VAPI_JWT_PRIVATE=your-jwt-private

# Environment
NODE_ENV=development

3. Building the Server

To build the server:

cd vapi-mcp/vapi-mcp-server
npm install
npm run build

4. Configuration in Cursor

Important: Avoiding “Client Closed” Errors

When configuring the Vapi MCP server in Cursor’s MCP settings, pay attention to the following crucial details:

  1. Working Directory: The cwd parameter is required to ensure the server runs in the correct directory and can access the .env file properly.

  2. Environment Variables: Must be explicitly provided in the configuration, even if they exist in the .env file.

  3. Module Type: The server uses ES modules, so the package.json must include "type": "module".

Here’s the correct configuration for .cursor/mcp.json:

Troubleshooting

“Client Closed” Error in Cursor

If you see “Client Closed” in the Cursor MCP Tools panel:

  1. Check Working Directory: Ensure the cwd parameter is set correctly in your mcp.json
  2. Verify Environment Variables: Make sure all required environment variables are passed in the configuration
  3. Check Module Type: Ensure package.json has "type": "module"
  4. Inspect Permissions: Make sure the dist/index.js file is executable (chmod +x dist/index.js)
  5. Test Server Directly: Run the server manually to check for errors:
    cd vapi-mcp/vapi-mcp-server
    node --trace-warnings dist/index.js
    

Module Not Found Errors

If you get “Error: Cannot find module” when running:

  1. Check Working Directory: Are you running from the correct directory?
  2. Rebuild: Try rebuilding the project with npm run build
  3. Dependencies: Ensure all dependencies are installed with npm install

Available Tools

The Vapi MCP server provides the following tools:

  1. vapi_call - Make outbound calls using Vapi’s voice AI
  2. vapi_assistant - Manage voice assistants (create, get, list, update, delete)
  3. vapi_conversation - Retrieve conversation details from calls

Lessons Learned

  1. When integrating with Cursor’s MCP:

    • Always specify the cwd parameter to ensure the server runs in the correct directory
    • Pass all required environment variables directly in the MCP configuration
    • For ES modules, ensure package.json has "type": "module" and tsconfig.json uses appropriate module settings
    • Test the server directly before configuring in Cursor
  2. The server command path must be absolute and correctly formed in the Cursor MCP config

  3. Using stdio transport type is required for proper integration with Cursor

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers