mcpField
V
Vapi MCP for Cursor

Vapi MCP for Cursor

Local
github.com/matthewdcageDeveloper Tools3Updated 84w ago

About Vapi MCP for Cursor

An MCP server that brings Vapi voice AI capabilities to Cursor. It supports outbound calls, voice assistant management, and retrieval of call conversation details.

Key features

  1. 01Make outbound Vapi calls
  2. 02Create and manage voice assistants
  3. 03Retrieve call conversation details

Use cases

  1. 01Place outbound calls with Vapi
  2. 02Manage voice assistants in Cursor
  3. 03Review call conversation details

MCP support

The server exposes Vapi tools to Cursor over MCP using stdio transport.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.