Vapi MCP for Cursor について
Vapi の音声 AI 機能を Cursor に接続する MCP サーバーです。発信、音声アシスタントの管理、通話の会話内容の取得に対応します。
主な機能
- 01Vapi による発信
- 02音声アシスタントの作成と管理
- 03通話の会話内容の取得
活用シーン
- 01Vapi で発信する場面
- 02Cursor で音声アシスタントを管理
- 03通話の会話内容を確認
MCP 対応
stdio トランスポートを使い、MCP 経由で Vapi のツールを Cursor に公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cursor 用 Vapi MCP
このプロジェクトでは、Vapi の音声 AI 機能を Cursor と統合するための Model Context Protocol(MCP)サーバーを実装しています。
セットアップ手順
1. プロジェクト構成
Vapi MCP サーバーは、次のように構成されています。
vapi-mcp-server/- メインのサーバーコードsrc/- TypeScript ソースファイルdist/- コンパイル済み JavaScript の出力先.env- API キー用の環境変数
2. 環境設定
vapi-mcp-server ディレクトリに、次の変数を含む .env ファイルを作成します。
# 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 での設定
重要:「Client Closed」エラーの回避
Cursor の MCP 設定で Vapi MCP サーバーを設定する際は、次の重要な点に注意してください。
-
作業ディレクトリ:サーバーが正しいディレクトリで実行され、
.envファイルに適切にアクセスできるように、cwdパラメーターが必要です。 -
環境変数:
.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"
}
}
トラブルシューティング
Cursor で「Client Closed」エラーが発生する場合
Cursor の MCP Tools パネルに「Client Closed」と表示される場合:
- 作業ディレクトリを確認:mcp.json で
cwdパラメーターが正しく設定されていることを確認します - 環境変数を確認:必要な環境変数がすべて設定内で渡されていることを確認します
- モジュールタイプを確認:
package.jsonに"type": "module"が設定されていることを確認します - 権限を確認:dist/index.js ファイルが実行可能であることを確認します(
chmod +x dist/index.js) - サーバーを直接テスト:手動でサーバーを実行し、エラーがないか確認します。
cd vapi-mcp/vapi-mcp-server node --trace-warnings dist/index.js
モジュールが見つからないエラー
実行時に「Error: Cannot find module」が表示される場合:
- 作業ディレクトリを確認:正しいディレクトリから実行していますか?
- 再ビルド:
npm run buildでプロジェクトを再ビルドしてみてください - 依存関係:
npm installですべての依存関係がインストールされていることを確認します
利用可能なツール
Vapi MCP サーバーでは、次のツールを利用できます。
- vapi_call - Vapi の音声 AI を使用して発信します
- vapi_assistant - 音声アシスタントを管理します(作成、取得、一覧表示、更新、削除)
- vapi_conversation - 通話の会話詳細を取得します
得られた教訓
-
Cursor の MCP と統合する際は、次の点に注意してください。
- サーバーが正しいディレクトリで実行されるよう、必ず
cwdパラメーターを指定します - 必要な環境変数をすべて MCP の設定に直接渡します
- ES モジュールの場合は、package.json に
"type": "module"が設定され、tsconfig.json で適切なモジュール設定が使用されていることを確認します - Cursor で設定する前に、サーバーを直接テストします
- サーバーが正しいディレクトリで実行されるよう、必ず
-
サーバーコマンドのパスは、Cursor MCP の設定で絶対パスとして正しく指定する必要があります
-
Cursor と適切に統合するには、stdio トランスポートタイプが必要です
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。