Skip to main content
POST
MCP クライアントの初期化、許可されたツールの検出、MCP 経由での VoiceCheap アクションの実行を行います。

認証

有料アカウントのOAuthアクセストークンを Authorization: Bearer mcpaccess… で指定するか、APIキーを x-api-key または Authorization: Bearer vc_… で指定します。認証情報はヘッダーで送信し、URLクエリパラメーターでは送信しません。

リクエストボディ

リクエスト例

このルートに記載されたエンコード方式と認証方法に従ってください。アクション API のエンベロープと冪等性のルールは、アクションの呼び出しにのみ適用されます。

レスポンス

代表的な tools/list レスポンスの抜粋。実際の結果には、最大 50 件の許可されたツールと、続きがある場合は nextCursor が含まれます。通常のリクエストには JSON-RPC の JSON レスポンスが返され、受理した通知には本文が空の HTTP 202 が返されます。
HTTP 200

レスポンスヘッダー

操作の注意事項

  • MCP で対応する HTTP メソッドは POST のみです。認証済みの GET、DELETE、その他の POST 以外のリクエストは、アカウントのレート制限とオリジンの確認後に、HTTP 405 と Allow: POST を伴う METHOD_NOT_ALLOWED を返します。リクエスト解析や CORS 処理が先に応答する場合があります。GET SSE チャンネルやセッション削除ルートはありません。
  • Content-Type: application/json と Accept: application/json, text/event-stream を送信してください。このサーバーでは JSON レスポンスが有効ですが、インストール済みの MCP トランスポートには両方の Accept 値が必要です。
  • 通常の MCP ライフサイクルに従ってください。initialize、notifications/initialized の送信、tools/list または tools/call の順です。後続のリクエストには、合意済みの MCP-Protocol-Version ヘッダーを含めてください。
  • サーバーはステートレスで、Mcp-Session-Id を返しません。HTTP リクエストごとに、現在の権限、ユーザー/チームの所有権、有料アカウントのアクセス権を再認証します。
  • tools/list は nextCursor の不透明な文字列カーソルを使用し、1 ページあたり 50 個のツールを返します。nextCursor がなくなるまで取得を続けてください。無効なカーソルでは JSON-RPC メソッドエラーが発生します。
  • 各ツールは必要な OAuth スコープを securitySchemes と _meta.securitySchemes で宣言します。action_request_get は元のアクションの権限も確認します。
  • ツールのアノテーションは、読み取り専用か破壊的な操作かを示します。openWorldHint は外部サービスやメディアソースとのやり取りを示し、追加の権限を付与するものではありません。
  • webhooks_create_secret は REST 専用で、MCP のツール検出には含まれません。MCP 経由で呼び出すか結果をポーリングすると、ツールエラー ACTION_NOT_AVAILABLE_IN_MCP が返されます。署名シークレットはアシスタントに送信されません。
  • tools/call は {name, arguments} を受け取り、ツール名と引数スキーマは /v1/actions と共通です。変更操作では arguments 内に UUID v4 requestId を指定し、再試行時は同じ引数を再利用します。
  • 通常のツール呼び出しが成功すると、シリアライズされた {data, requestId?} の結果を含む content と、同じ内容の structuredContent を返します。画像ダウンロードアクションは、代わりにネイティブのMCP画像コンテンツとテキストの generationId を返します。
  • アクションの失敗は、isError: true、テキスト形式のエラー詳細、structuredContent.error を含むツール結果です。必ずしも HTTP の失敗になるとは限りません。トランスポートとツールの両方のエラーを確認してください。
  • 長時間実行ツールの結果には、アクションリクエストIDと pollAction: action_request_get が含まれます。元の操作名を指定してポーリングし、進行状況の確認のために生成をやり直さないでください。
  • 初期化、通知、ディスカバリー、ツール呼び出しは、すべて共有のアカウントレート制限に算入されます。月間連携呼び出し利用枠を消費するのは成功したデータアクションのみですが、記載されたステータス・制御アクションの例外があります。
  • HTTP リクエストごとに JSON-RPC メッセージを 1 件送信してください。JSON 本文の上限は 1 MiB です。メディアのバイナリデータにはアップロードアクションを使用します。
  • Host ヘッダーは正規のMCPホストと一致する必要があります。Origin ヘッダーがある場合、MCPのオリジン、アプリケーションのオリジン、https://chatgpt.com、https://chat.openai.com、https://claude.ai のいずれかである必要があります。ネイティブクライアントは Origin を省略できます。
  • 本番環境の HTTP 401 エラーには、WWW-Authenticate: Bearer resource_metadata=“https://api.voicecheap.ai/.well-known/oauth-protected-resource/mcp” が含まれます。
  • 認証の失敗には連携のエラーオブジェクトを使用します。MCP プロトコルの確認では {code, message} を返す場合があります。それ以外のプロトコルの失敗には、数値のエラーコードを持つ JSON-RPC エラーオブジェクトを使用します。通信の失敗がすべて同じエラー形式になるとは限りません。
  • ルートの公開 HTTP 制限は、アカウント認証前にクライアント IP ごとに毎分 3000 リクエストを許可します。各アカウントには引き続き、それより低いプラン別の API/MCP 共通レート上限が適用されます。
  • ツールの認可エラーには、_meta の mcp/www_authenticate キーに Bearer チャレンジが含まれます。必要な権限でアカウントを再接続してから再試行してください。

エラー