用于光标的Vapi MCP
该项目实现了一个模型上下文协议(MCP)服务器,用于将Vapi的语音AI功能与Cursor集成。
安装说明
1.项目结构
Vapi MCP服务器的结构如下:
vapi-mcp-server/-主服务器代码
- src/ -TypeScript源文件 - dist/ -编译的JavaScript输出 - .env -API键的环境变量
2.环境配置
创建一个 .env 文件在 vapi-mcp-server 包含以下变量的目录:
# 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=development3.构建服务器
要构建服务器,请执行以下操作:
cd vapi-mcp/vapi-mcp-server
npm install
npm run build4.光标中的配置
重要提示:避免“客户端关闭”错误
在Cursor的MCP设置中配置Vapi MCP服务器时,请注意以下关键细节:
- 工作目录:The
cwd参数是必需的,以确保服务器在正确的目录中运行并可以访问.env文件正确。
- 环境变量:必须在配置中明确提供,即使它们存在于
.env文件。
- 模块类型:服务器使用ES模块,因此
package.json必须包括"type": "module".
以下是正确的配置 .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"
}
}故障排除
游标中出现“客户端已关闭”错误
如果在光标MCP工具面板中看到“客户端已关闭”:
- 检查工作目录:确保
cwdmcp.json中的参数设置正确 - 验证环境变量:确保在配置中传递了所有必需的环境变量
- 检查模块类型:确保
package.json有"type": "module" - 检查权限:确保dist/index.js文件是可执行的(
chmod +x dist/index.js) - 直接测试服务器:手动运行服务器以检查错误:
cd vapi-mcp/vapi-mcp-server
node --trace-warnings dist/index.js未找到模块错误
如果运行时收到“错误:找不到模块”:
- 检查工作目录:您是从正确的目录运行的吗?
- 重建:尝试使用以下命令重建项目
npm run build - 依赖项:确保所有依赖项都已安装
npm install
可用工具
Vapi MCP服务器提供以下工具:
- vapi_call -使用Vapi的语音AI拨打外呼
- vapi助手 -管理语音助手(创建、获取、列出、更新、删除)
- vapi对话 -从通话中检索对话详细信息
经验教训
- 与Cursor的MCP集成时:
- 始终指定 cwd 参数,以确保服务器在正确的目录中运行 - 直接在MCP配置中传递所有必需的环境变量 - 对于ES模块,确保package.json具有 "type": "module" tsconfig.json使用适当的模块设置 - 在Cursor中配置之前直接测试服务器
- 服务器命令路径必须是绝对的,并且在Cursor MCP配置中格式正确
- 需要使用stdio传输类型才能与Cursor正确集成
