matthewdcage

Vapi MCP for Cursor

Community matthewdcage
Updated

Vapi.ai MCP server & HTTP Server

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:

"Vapi Voice AI Tools": {
  "command": "node",
  "type": "stdio",
  "args": [
    "/Users/matthewcage/Documents/AA-GitHub/MCP/vapi-mcp/vapi-mcp-server/dist/index.js"
  ],
  "cwd": "/Users/matthewcage/Documents/AA-GitHub/MCP/vapi-mcp/vapi-mcp-server",
  "env": {
    "VAPI_ORG_ID": "your-org-id",
    "VAPI_PRIVATE_KEY": "your-private-key",
    "VAPI_KNOWLEDGE_ID": "your-knowledge-id",
    "VAPI_JWT_PRIVATE": "your-jwt-private",
    "NODE_ENV": "development"
  }
}

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

MCP Server ยท Populars

MCP Server ยท New

    rixinhahaha

    Snip

    A macOS menu-bar screenshot tool with annotation, AI-powered organization, and semantic search. Built with Electron and Ollama. Featured on Product Hunt: https://www.producthunt.com/products/snip-ai-powered-macos-screenshot-tool

    Community rixinhahaha
    blitzdotdev

    Blitz

    Blitz mac app

    Community blitzdotdev
    mozilla

    Firefox DevTools MCP

    Model Context Protocol server for Firefox DevTools - enables AI assistants to inspect and control Firefox browser through the Remote Debugging Protocol

    Community mozilla
    globau

    Firefox DevTools MCP

    Model Context Protocol server for Firefox DevTools - enables AI assistants to inspect and control Firefox browser through the Remote Debugging Protocol

    Community globau
    lyonzin

    Knowledge RAG

    Local RAG System for Claude Code โ€” Hybrid search + Cross-encoder Reranking + Markdown-aware Chunking + 12 MCP Tools. No external servers, pure ONNX in-process.

    Community lyonzin