> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ThunderPhoneをMCPサーバーとして使用する

> 任意のStreamable HTTP MCPクライアントをThunderPhoneに接続し、組織のAPIキーを使用してエージェントの一覧表示、通話と文字起こしの確認、発信を行います。

ThunderPhone は、次の場所で Model Context Protocol サーバーを公開しています。

```text theme={null}
https://api.thunderphone.com/v1/mcp
```

MCP クライアントをこの Streamable HTTP エンドポイントに接続すると、組織の
エージェントと通話をツールとして利用できます。これは、
[リモート MCP サーバーを音声エージェントに接続する](/ja/guides/mcp-servers)場合とは逆方向です。

| 方向                                  | 結果                                              |
| ----------------------------------- | ----------------------------------------------- |
| リモート MCP サーバー → ThunderPhone エージェント | 音声エージェントがリモートサーバーのツールを呼び出せます。                   |
| ThunderPhone → MCP クライアント           | MCP クライアントがエージェントと通話用の ThunderPhone ツールを呼び出せます。 |

## 認証

**組織 → キー** で `sk_live_` キーを作成し、Bearer トークンとして送信します。
MCP エンドポイントは組織 API キーを受け付けます。ダッシュボードのセッション
Cookie や公開可能なウィジェットキーは使用できません。

```json Generic client configuration theme={null}
{
  "mcpServers": {
    "thunderphone": {
      "url": "https://api.thunderphone.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_YOUR_API_KEY"
      }
    }
  }
}
```

<Warning>
  `sk_live_` キーは組織データへのアクセスと通話の発信が可能です。ブラウザコード、
  リポジトリ、スクリーンショット、チャットログには含めないでください。MCP クライアントで
  サポートされているシークレットストアを使用し、キーが露出した場合は直ちに無効化してください。
</Warning>

## 利用可能なツール

| ツール                   | 引数                                     | 機能                                          |
| --------------------- | -------------------------------------- | ------------------------------------------- |
| `list_agents`         | なし                                     | ID、名前、プロダクト、音声を含む組織のエージェントを一覧表示します。         |
| `get_agent`           | `agent_id`                             | 1 件のエージェントを取得します。                           |
| `place_call`          | `agent_id`, `from_number`, `to_number` | REST 通話エンドポイントと同じ検証および請求ゲートを通して、発信通話を開始します。 |
| `get_call`            | `call_id`                              | 通話ステータス、要約、評価を取得します。                        |
| `list_calls`          | 任意の `limit`（1～100）、任意の `status`        | 最近の通話を一覧表示します。                              |
| `get_call_transcript` | `call_id`                              | 通話の完全な文字起こしを取得します。                          |

すべてのツールは、API キーに紐付く組織のスコープ内で動作します。別の組織の ID は
利用できないものとして扱われます。

## プロトコルメソッド

このエンドポイントは、Streamable HTTP クライアントに必要な MCP JSON-RPC メソッドを
実装しています。

* `initialize`
* `notifications/initialized`
* `tools/list`
* `tools/call`

ツールカタログは直接確認できます。

```bash theme={null}
curl -X POST https://api.thunderphone.com/v1/mcp \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list",
    "params": {}
  }'
```

名前と引数を指定してツールを呼び出します。

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_calls",
    "arguments": { "limit": 20, "status": "completed" }
  }
}
```

ツールの結果は MCP テキストコンテンツ項目です。ツールの失敗は
`isError: true` を含む結果として返されます。不明な JSON-RPC メソッドはプロトコルエラーを返します。

## 安全な通話の発信

`place_call` は
[`POST /v1/call`](/api-reference/outbound-calls)と同じルールに従います。エージェントと番号は
キーの組織に属している必要があり、番号は発信通話の対象として有効である必要があります。
また、組織には十分な残高が必要であり、該当する発信通話の確認も完了している必要があります。

`place_call` にアクセスできるクライアントは、本番環境の発信者として扱ってください。
クライアントを使用できるユーザーを制限し、想定するエージェントと番号をクライアント自身の
プロンプトで明確にし、通話履歴で通話を確認してください。

## 完全なワイヤーリファレンス

レスポンス例、JSON-RPC エラー、リモートサーバー管理 API については、
[MCP Servers API](/api-reference/mcp-servers#thunderphone-as-an-mcp-server)を参照してください。
