# MCP サーバー

> Claude、ChatGPT、Codex、Cursor、VS Code などのクライアントを Skynet に接続します。

Skynet MCP サーバーを使うと、AI エージェントがあなたの代わりに Skynet を利用できます。Claude、ChatGPT、Codex、Cursor などの MCP クライアントは、実行の設定をチェックし、実行を開始し、見守り、停止できます。接続はブラウザで一度だけ承認します。エージェントは実行ごとに支出上限を設定します。

## サーバー URL

すべてのクライアントが同じ URL を使います。

```text
https://mcp.skynetml.com/mcp
```

サーバーは Streamable HTTP を使います。サインインには OAuth 2.1 を使います。トークンや API キーをクライアントにコピーする必要はありません。

## クライアントを接続する

お使いのクライアントを選択します。その手順に従ってから、[接続を承認する](#接続を承認する) に進んでください。

```skynet-mcp-clients

```

## 接続を承認する

エージェントが初めて Skynet を呼び出すと、ブラウザで Skynet のページが開きます。

1. サインインしていない場合は、Skynet にサインインします。
2. ページを読みます。エージェント名、戻り先のサイト、あなたのアカウントが表示されます。
3. エージェントにできることを確認します。
   - 最適化の実行とその結果を見る。
   - 残高から支払って、最適化の実行を開始・停止する。
4. 接続するには **Allow** をクリックします。中止するには **Deny** をクリックします。

**Allow** をクリックすると、ブラウザはエージェントに戻ります。これで、エージェントは以下のツールを呼び出せるようになります。

> [!NOTE]
> エージェントは実行ごとに支出上限を設定します。資金を追加することはできません。

## ツール

| ツール      | 機能                                                                                  | アクセス |
| ----------- | ------------------------------------------------------------------------------------- | -------- |
| `check_run` | 実行や課金をせずに実行の設定をチェックします。支出上限を提案します。                  | 読み取り |
| `start_run` | 支出上限を指定して実行を開始します。                                                  | 書き込み |
| `get_run`   | ステータス、支出額、および実行が終了したときは結果を返します。                        | 読み取り |
| `list_runs` | 実行を新しい順に一覧表示します。ステータスで絞り込めます。                            | 読み取り |
| `stop_run`  | 実行を停止します。2 回目の呼び出しは、実行がすでに終了していることを示すエラーを返します。 | 書き込み |

読み取りアクセスは `runs:read` スコープを使います。書き込みアクセスは `runs:write` スコープを使います。

資金の追加、残高の変更、請求設定の変更を行うツールはありません。

## エージェントが最適化を実行する流れ

1. エージェントは実行の設定を指定して `check_run` を呼び出します。Skynet は静的チェックを実行し、次の情報を返します。
   - 各チェックの結果。
   - 実行を開始できる最低の支出上限。
   - 提案する支出上限。少なくとも $5.00 です。
   - 価格が不明なモデル。
   - 現在使える金額。
2. エージェントは支出上限（`max_cost_cents`、1〜1,000,000 米セント）を指定して `start_run` を呼び出します。`idempotency_key` を送ることもでき、再試行で 2 つ目の実行が始まるのを防げます。
3. 設定チェックがまだ実行中の場合、`start_run` は `in_progress` と `retry_after_seconds` を返します。エージェントはその時間が経過した後、同じ入力で再度 `start_run` を呼び出します。
4. エージェントは実行が終了するまで `get_run` を呼び出します。最終ステータスは `success`、`failed`、`cancelled`、`stopped` です。

> [!TIP]
> プロンプトで支出上限をエージェントに伝えてください。例: 「このプロンプトを最適化して。使うのは最大 $10 まで。」エージェントはその上限を `start_run` で使います。

実行は支出上限に達すると停止します。Skynet が実行にどう課金するかは、[請求](/docs/ja/concepts/billing) をお読みください。

## セキュリティ

- 各クライアントは個別の許可（グラント）を受け取ります。クライアントがあなたのパスワードを見ることはありません。
- サインインには PKCE (S256) を使います。クライアントは、動的クライアント登録またはクライアント ID メタデータドキュメントで自身を登録します。
- アクセストークンは 1 時間で失効します。クライアントはリフレッシュトークンでそれを更新します。
- リフレッシュトークンは、30 日間使われないと失効します。グラントの有効期間は最大 90 日です。その後は、接続を再度承認します。
- 各リフレッシュトークンは 1 回しか使えません。古いリフレッシュトークンが再び使われた場合、Skynet はそのグラントを終了します。
- エージェントが閲覧・変更できるのは、あなた自身の実行だけです。

Skynet がアカウントとデータをどのように保護しているかは、[セキュリティ](/docs/ja/security) をお読みください。

## 接続を解除する

エージェントの接続を解除するには、クライアントから Skynet サーバーを削除します。ほとんどのクライアントは、その際にトークンを取り消します。クライアントがトークンを取り消さない場合でも、リフレッシュトークンは 30 日間使われないと失効します。

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

| 問題                                         | 対処方法                                                                          |
| -------------------------------------------- | --------------------------------------------------------------------------------- |
| 接続がすぐに失敗する                         | サーバー URL を確認してください。正確に `https://mcp.skynetml.com/mcp` である必要があります。 |
| 「This agent can't connect」                 | クライアントから接続をやり直してください。                                        |
| 「Too many attempts」                        | 数分待ってから、もう一度お試しください。                                          |
| クライアントがブラウザを開かない             | クライアントを更新してください。OAuth 対応のリモート MCP サーバーをサポートしている必要があります。 |
| `start_run` が残高エラーで失敗する           | Skynet で資金を追加するか、より低い支出上限で実行を開始してください。             |
| 数週間後にツールが動かなくなる               | グラントが失効しました。サーバーを削除して、再度接続してください。                |

エージェントを使わずに HTTP で直接アクセスする場合は、[API](/docs/ja/api) をお読みください。

---

Source: https://staging.skynetml.com/docs/ja/mcp
