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

# MCP

> Model Context Protocol（MCP）を通じてカスタムツールと API を CloudThinker に接続してエージェントの機能を拡張する

Model Context Protocol（MCP）により、CloudThinker はカスタムツールやサービスに接続できます。MCP を使用して、独自の[接続](/ja/guide/connections/overview)でエージェントの機能を拡張してください。

***

## MCP とは何か

MCP（Model Context Protocol）は、AI エージェントを外部ツールやデータソースに接続するためのオープンプロトコルです。以下のことを実現するための標準化された方法を提供します：

* エージェントが呼び出せるツールを公開する
* エージェントにコンテキストとデータを提供する
* あらゆるサービスとのカスタム連携を可能にする

***

## セットアップ

<Steps>
  <Step title="MCP サーバーを準備する">
    MCP サーバーが起動してアクセス可能な状態であることを確認します：

    * Server-Sent Events（SSE）トランスポートをサポートしている
    * 公開アクセス可能なエンドポイントを持つ（または VPN アクセス）
    * 適切な MCP プロトコルのレスポンスを返す
  </Step>

  <Step title="接続を作成する">
    **Connections → MCP** に移動し、**Add MCP Connection** をクリックします。
  </Step>

  <Step title="基本情報を設定する">
    接続の詳細を入力します：

    * **Name**: 接続のわかりやすい名前
    * **Prefix**: ツールのプレフィックス（例：`mytools` → `mytools_function_name`）
  </Step>

  <Step title="トランスポートを設定する">
    接続トランスポートをセットアップします：

    * **Transport Type**: Server-Sent Events
    * **URL**: MCP サーバーのエンドポイント
    * **Timeout**: 接続タイムアウト（デフォルト：5 秒）
    * **SSE Read Timeout**: イベントストリームタイムアウト（デフォルト：30 秒）
  </Step>

  <Step title="環境変数を追加する">
    必要な環境変数を設定します：

    * API キー
    * 認証トークン
    * カスタム設定
  </Step>

  <Step title="テストして作成する">
    接続をテストして保存します。サーバーが正しく応答すると、CloudThinker は **Connected** ステータスを表示します。
  </Step>
</Steps>

***

## 接続の詳細

| フィールド                     | 説明                 | 必須            |
| ------------------------- | ------------------ | ------------- |
| **Name**                  | 接続の表示名             | はい            |
| **Prefix**                | ツール名のプレフィックス       | はい            |
| **URL**                   | MCP サーバーのエンドポイント   | はい            |
| **Timeout**               | 接続タイムアウト（秒）        | いいえ（デフォルト：5）  |
| **SSE Read Timeout**      | イベントストリームタイムアウト（秒） | いいえ（デフォルト：30） |
| **Environment Variables** | 設定用のキーと値のペア        | いいえ           |

***

## MCP サーバーの例

天気検索ツールを提供するシンプルな MCP サーバー：

```python theme={null}
from mcp import Server, Tool

server = Server("weather-tools")

@server.tool()
async def get_weather(location: str) -> str:
    """Get current weather for a location."""
    # Your implementation here
    return f"Weather for {location}: Sunny, 72°F"

if __name__ == "__main__":
    server.run()
```

プレフィックス `weather` で接続後、エージェントは以下を呼び出せます：

```
weather_get_weather(location="San Francisco")
```

***

## ユースケース

### カスタムデータソース

独自データベースや API に接続する：

* 社内メトリクスシステム
* カスタム監視ツール
* ビジネスインテリジェンスプラットフォーム

### 専門ツール

ドメイン固有の機能を追加する：

* カスタムコンプライアンスチェック
* 社内自動化スクリプト
* レガシーシステム連携

### 外部サービス

サードパーティサービスを連携する：

* コミュニケーションプラットフォーム
* チケットシステム
* 組み込みでないクラウドサービス

***

## ベストプラクティス

* **HTTPS エンドポイント** — MCP サーバーは HTTPS のみで公開してください。
* **API キーのローテーション** — 環境変数に保存された認証情報を通常のスケジュールでローテーションしてください。
* **認証を実装する** — 処理前に CloudThinker からの受信リクエストを検証してください。
* **適切なタイムアウトを設定する** — サーバーのレスポンス特性に合わせて Timeout と SSE Read Timeout を調整してください。
* **サーバーのヘルスを監視する** — 接続断が早期に検出されるよう、エラーレートとレイテンシを追跡してください。
* **エラーを適切に処理する** — サーバーをクラッシュさせるのではなく、構造化された MCP エラーレスポンスを返してください。

***

## トラブルシューティング

<Accordion title="接続タイムアウト">
  MCP サーバーが起動しているか確認し、ネットワーク接続を確認し、タイムアウト値を増やし、ファイアウォールがトラフィックを許可していることを確認してください。
</Accordion>

<Accordion title="ツールが表示されない">
  プレフィックスが正しく設定されているか確認し、MCP サーバーがツール定義を返していることを確認し、プロトコルバージョンが互換性があることを確認し、エラーのサーバーログを確認してください。
</Accordion>

<Accordion title="認証エラー">
  環境変数が正しく設定されているか確認し、API キーが有効であることを確認し、サーバーが認証情報を正しく検証していることを確認してください。
</Accordion>

<Accordion title="SSE 接続が切断される">
  SSE 読み取りタイムアウトを増やし、プロキシの干渉を確認し、サーバーがキープアライブイベントを送信していることを確認し、ネットワークの安定性を確認してください。
</Accordion>

***

## セキュリティ

* **最小権限** — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
* **デフォルトで読み取り専用** — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
* **認証情報のローテーション** — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
* **オフボーディング時に失効** — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。

- **HTTPS エンドポイント** — MCP サーバーは HTTPS のみで公開し、CloudThinker のリクエスト元を検証してください。
- **スコープされた認証情報** — API キーとトークンはサーバーコードにハードコードせず、環境変数に保存してください。

***

## 関連

<CardGroup cols={2}>
  <Card title="概要" icon="plug" href="/ja/guide/connections/overview">
    すべての接続タイプ
  </Card>

  <Card title="エージェント" icon="robot" href="/ja/guide/agents">
    エージェントが接続をどのように使用するか
  </Card>
</CardGroup>
