制限とエラー
ツール呼び出しを速く、予測どおりに保つための制限と、呼び出しが失敗したときに AI クライアントに表示される内容です。
呼び出しごとの制限
| 対象 | 制限 |
|---|---|
コマンドの出力(exec、shell_run) | 32,000 バイト。これを超える出力は切り捨てられます |
| コマンドのタイムアウト | 既定で 60 秒、最大 900 秒。これより長い処理には job_start を使います |
exec_many 1 回あたりのマシン数 | 8 台。各マシンの出力の上限は半分になります |
read_file | 1 回の呼び出しにつき既定で 200,000 バイト、最大 4,000,000 バイト。続きは next_offset から読み込みます |
write_file、copy_between_hosts | 4,000,000 バイト。これより大きいファイルには transfer_start を使います |
transfer_start | サイズの制限なし。1 つの接続で同時に 2 件まで、それぞれ最大 10,000 ファイル |
ジョブの出力(job_output) | 1 回の読み取りにつき 64,000 バイト |
| 1 回の呼び出しで返すターミナルの出力 | 20,000 文字。最大 600 秒待機します |
ポート転送の HTTP ボディ(tunnel_http) | 32 KB |
開いているセッション
| 対象 | 制限 |
|---|---|
| シェルセッション | マシンごとに 4 つ。30 分操作がないと閉じられます |
| ターミナル | 接続ごとに 8 つ。30 分操作がないと閉じられます |
| トンネル | 1 時間で閉じられます |
| 定期タスク | アカウントごとに 200 件 |
| Web 共有 | AI が作成した場合は既定で 24 時間、最長 30 日 |
| 承認待ち | 接続ごとに 20 件 |
10 秒を超える呼び出しでは、クライアントが求めた場合、10 秒ごとに MCP の進捗通知を送ります。これにより、コマンド、転送、承認の完了を待つあいだにクライアントがタイムアウトしません。
プランによる制限
プランによって、アカウントのマシン数とメンバー数、そしてポリシーで使える機能(フォルダー単位のファイルルール、コマンドルール、定期実行、Web 共有、シークレットの環境変数など)が決まります。料金をご覧ください。プランに含まれない機能を必要とする呼び出しは、その旨を伝えるメッセージとともに失敗します。
エラー
拒否または失敗した呼び出しは、isError: true を含む MCP のツール結果を返します。そこには、何が起きたか、次に何をすべきかを AI に伝える平易なメッセージが含まれます。よく表示されるメッセージは次のとおりです:
| メッセージの冒頭 | 意味 |
|---|---|
token lacks fleet.… | この接続は、このツールに必要なスコープなしで承認されています。再接続して、そのスコープを承認してください。 |
refused by this connection's command rules | ポリシーのコマンドルールで、このコマンドが拒否されています。 |
high-risk operation | AI は正確なコマンドをあなたに示してから、confirm=true を付けて再度呼び出す必要があります。 |
refused by guardrail | ディスクの消去など、LetKite が決して実行しないコマンドです。 |
waiting for a person to approve this | 承認を待っています。メッセージには、誰に承認を求めたかといつまで待つかが示されます。 |
this connection's authorization is no longer valid | 接続が切断されています。クライアントを再接続して、もう一度サインインしてください。 |
サインインのエラーには、標準の OAuth エラーコード(invalid_grant、invalid_client、access_denied など)を使います。トークンがない場合や期限切れの場合は、HTTP 401 と WWW-Authenticate ヘッダーが返され、クライアントは自動で再度サインインするか、トークンを更新します。