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
- 01Make outbound Vapi calls
- 02Create and manage voice assistants
- 03Retrieve call conversation details
Use cases
- 01Place outbound calls with Vapi
- 02Manage voice assistants in Cursor
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEVapi 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 codesrc/- TypeScript source filesdist/- 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:
-
Working Directory: The
cwdparameter is required to ensure the server runs in the correct directory and can access the.envfile properly. -
Environment Variables: Must be explicitly provided in the configuration, even if they exist in the
.envfile. -
Module Type: The server uses ES modules, so the
package.jsonmust 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:
- Check Working Directory: Ensure the
cwdparameter is set correctly in your mcp.json - Verify Environment Variables: Make sure all required environment variables are passed in the configuration
- Check Module Type: Ensure
package.jsonhas"type": "module" - Inspect Permissions: Make sure the dist/index.js file is executable (
chmod +x dist/index.js) - 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:
- Check Working Directory: Are you running from the correct directory?
- Rebuild: Try rebuilding the project with
npm run build - Dependencies: Ensure all dependencies are installed with
npm install
Available Tools
The Vapi MCP server provides the following tools:
- vapi_call - Make outbound calls using Vapi's voice AI
- vapi_assistant - Manage voice assistants (create, get, list, update, delete)
- vapi_conversation - Retrieve conversation details from calls
Lessons Learned
-
When integrating with Cursor's MCP:
- Always specify the
cwdparameter 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
- Always specify the
-
The server command path must be absolute and correctly formed in the Cursor MCP config
-
Using stdio transport type is required for proper integration with Cursor
Comments
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.