返回市场
MCP服务器

MCP服务器

作者:VapiAI28 星标更新:2025-07-22

项目介绍

Vapi MCP 服务器

smithery 徽章

Vapi 模型上下文协议服务器允许您通过函数调用与Vapi API集成。

<a href="https://glama.ai/mcp/servers/@VapiAI/mcp-server"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=3267024222,4141513419&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Vapi Server MCP 服务器" /> </a>

Claude Desktop 设置

  1. 打开 Claude Desktop 并按 CMD + , 进入 设置
  2. 点击 开发者 标签页。
  3. 点击 编辑配置 按钮。
  4. 这将打开 claude_desktop_config.json 文件在您的文件浏览器中。
  5. 从 Vapi 控制面板 (https://dashboard.vapi.ai/org/api-keys) 获取您的 Vapi API 密钥。
  6. 将以下内容添加到您的 claude_desktop_config.json 文件中。更多详情请参阅 这里
  7. 编辑完配置文件后,请重新启动 Claude Desktop。

本地配置

{
  "mcpServers": {
    "vapi-mcp-server": {
      "command": "npx",
      "args": [
          "-y",
          "@vapi-ai/mcp-server"
      ],
      "env": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    }
  }
}

远程配置

{
  "mcpServers": {
    "vapi-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.vapi.ai/mcp",
        "--header",
        "Authorization: Bearer ${VAPI_TOKEN}"
      ],
      "env": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    }
  }
}

使用 Claude Desktop 的示例

  1. 使用 Vapi 控制面板 (https://dashboard.vapi.ai/phone-numbers) 创建或导入一个电话号码。
  2. 使用 Vapi 控制面板 (https://dashboard.vapi.ai/assistants) 中现有的“预约安排”模板创建一个新的助手。
  3. 确保配置 Claude Desktop 使用 Vapi MCP 服务器,并重启 Claude Desktop 应用程序。
  4. 要求 Claude 启动或安排通话。请参阅以下示例:

示例 1: 请求立即通话

我想与我的 ShopHelper 助手谈谈最近的订单。你能让它给我拨打 +1234567890 吗?

示例 2: 安排未来的通话

我需要安排下周二下午 3:00 与 Mary 助手的通话。我的电话号码是 +1555123456。

示例 3: 使用动态变量进行通话

我想拨打 +1234567890 与我的预约提醒助手通话。使用这些细节:
- 客户姓名:Sarah Johnson
- 预约日期:3月25日
- 预约时间:下午 2:30
- 医生姓名:Dr. Smith

在助手提示中使用变量值

create_call 动作支持通过 assistantOverrides.variableValues 传递动态变量。这些变量可以在助手的提示中使用双花括号:{{variableName}}

带有变量的示例助手提示

您好 {{customerName}},这是关于您 {{appointmentDate}} 在 {{appointmentTime}} 与 {{doctorName}} 的预约提醒。

默认变量

以下变量自动可用(无需传递 variableValues):

  • {{now}} - 当前日期和时间(UTC)
  • {{date}} - 当前日期(UTC)
  • {{time}} - 当前时间(UTC)
  • {{month}} - 当前月份(UTC)
  • {{day}} - 当前月份中的日期(UTC)
  • {{year}} - 当前年份(UTC)
  • {{customer.number}} - 客户的电话号码

有关默认变量和高级日期/时间格式化的更多信息,请参阅 官方 Vapi 文档

远程 MCP

要远程连接到 Vapi 的 MCP 服务器:

流式 HTTP(推荐)

默认且推荐的连接方式是通过流式 HTTP 传输:

  • 使用流式 HTTP 传输从任何 MCP 客户端连接到 https://mcp.vapi.ai/mcp
  • 在请求头中包含您的 Vapi API 密钥作为承载令牌
  • 示例头:Authorization: Bearer your_vapi_api_key_here

SSE(已弃用)

服务器发送事件(SSE)传输仍然受支持但已弃用:

  • 使用 SSE 传输从任何 MCP 客户端连接到 https://mcp.vapi.ai/sse
  • 在请求头中包含您的 Vapi API 密钥作为承载令牌
  • 示例头:Authorization: Bearer your_vapi_api_key_here

此连接允许您远程访问 Vapi 的功能而无需运行本地服务器。

开发

# 安装依赖
npm install

# 构建服务器
npm run build

# 使用检查器测试服务器
npm run inspector

更新您的 claude_desktop_config.json 以使用本地服务器。

{
  "mcpServers": {
    "vapi-local": {
      "command": "node",
      "args": [
        "<path_to_vapi_mcp_server>/dist/index.js"
      ],
      "env": {
        "VAPI_TOKEN": "<your_vapi_token>"
      }
    },
  }
}

测试

该项目有两种类型的测试:

单元测试

单元测试使用模拟来测试 MCP 服务器而不实际调用 Vapi 的 API。

# 运行单元测试
npm run test:unit

端到端测试

E2E 测试运行完整的 MCP 服务器并实际调用 Vapi 的 API。

# 设置您的 Vapi API 令牌
export VAPI_TOKEN=your_token_here

# 运行 E2E 测试
npm run test:e2e

注意:E2E 测试需要在环境中设置有效的 Vapi API 令牌。

运行所有测试

要一次性运行所有测试:

npm test

参考资料

支持的操作

Vapi MCP 服务器提供了以下工具用于集成:

助手工具

  • list_assistants: 列出所有 Vapi 助手
  • create_assistant: 创建新的 Vapi 助手
  • update_assistant: 更新现有的 Vapi 助手
  • get_assistant: 通过 ID 获取 Vapi 助手

通话工具

  • list_calls: 列出所有 Vapi 通话
  • create_call: 创建外拨通话,支持:
    • 立即或计划通话
    • 通过 assistantOverrides 支持动态变量值
  • get_call: 获取特定通话的详细信息

注意: create_call 动作支持安排立即执行或未来时间的通话。您还可以通过 assistantOverrides.variableValues 传递动态变量以个性化助手消息。

电话号码工具

  • list_phone_numbers: 列出所有 Vapi 电话号码
  • get_phone_number: 获取特定电话号码的详细信息

Vapi 工具

  • list_tools: 列出所有 Vapi 工具
  • get_tool: 获取特定工具的详细信息