语音AI集成服务

Vapi MCP for Cursor是一个将Vapi的语音AI功能与Cursor集成的模型上下文协议服务器,提供语音呼叫、助手管理和对话检索等功能。

  • by mrgeeko
  • 本地部署
  • 更新于
在 GitHub 查看 mrgeeko/vapi-mcp

使用说明

用于光标的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=development

3.构建服务器

要构建服务器,请执行以下操作:

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

4.光标中的配置

重要提示:避免“客户端关闭”错误

在Cursor的MCP设置中配置Vapi MCP服务器时,请注意以下关键细节:

  1. 工作目录:The cwd 参数是必需的,以确保服务器在正确的目录中运行并可以访问 .env 文件正确。

  2. 环境变量:必须在配置中明确提供,即使它们存在于 .env 文件。

  3. 模块类型:服务器使用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工具面板中看到“客户端已关闭”:

  1. 检查工作目录:确保 cwd mcp.json中的参数设置正确
  2. 验证环境变量:确保在配置中传递了所有必需的环境变量
  3. 检查模块类型:确保 package.json 有 "type": "module"
  4. 检查权限:确保dist/index.js文件是可执行的(chmod +x dist/index.js)
  5. 直接测试服务器:手动运行服务器以检查错误:
    cd vapi-mcp/vapi-mcp-server
    node --trace-warnings dist/index.js
    

未找到模块错误

如果运行时收到“错误:找不到模块”:

  1. 检查工作目录:您是从正确的目录运行的吗?
  2. 重建:尝试使用以下命令重建项目 npm run build
  3. 依赖项:确保所有依赖项都已安装 npm install

可用工具

Vapi MCP服务器提供以下工具:

  1. vapi_call -使用Vapi的语音AI拨打外呼
  2. vapi助手 -管理语音助手(创建、获取、列出、更新、删除)
  3. vapi对话 -从通话中检索对话详细信息

经验教训

  1. 与Cursor的MCP集成时:

    • 始终指定 cwd 参数,以确保服务器在正确的目录中运行
    • 直接在MCP配置中传递所有必需的环境变量
    • 对于ES模块,确保package.json具有 "type": "module" tsconfig.json使用适当的模块设置
    • 在Cursor中配置之前直接测试服务器
  2. 服务器命令路径必须是绝对的,并且在Cursor MCP配置中格式正确

  3. 需要使用stdio传输类型才能与Cursor正确集成