mcpField
F
fleet

fleet

ローカル
github.comクラウド・インフラ0今日更新

fleet について

fleet は、コーディングエージェントやコマンドライン利用者が SSH で到達できるマシンを調査・利用するためのツールです。GPU の空き状況、ジョブ、ソフトウェア、稼働中のモデルを確認でき、接続先にはプログラムやサービスをインストールせずに調査します。コマンドを実行できないアプリ向けの MCP サーバーも備えています。

主な機能

  1. 01SSH 経由でマシンを一覧化
  2. 02GPU の空き状況と実行中ジョブの確認
  3. 03ソフトウェア、モデル、データフォルダーの調査
  4. 04SSH 設定と tailnet のマシンを検出
  5. 05fleet コマンドラインでコマンドを実行

活用シーン

  1. 01GPU に空きのあるマシンを選択
  2. 02モデルサーバーを稼働中のホストを特定
  3. 03Linux マシンでテストを実行
  4. 04データセットの場所と空き容量を確認

MCP 対応

コマンドを実行できないデスクトップアプリやエディター向けに MCP サーバーを提供し、同じ fleet コマンドをクライアントから利用可能にします。コマンドを実行できるエージェントは skill を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"lion-zhang-fleet": {
"command": "uvx",
"args": [
"agents-fleet"
]
}
}
}
起動コマンドuvx agents-fleet

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiagents-fleet0.6.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

README の画像

fleet — コーディングエージェントに、所有するすべてのマシンを使わせる

Claude Code、Codex、Gemini から見えるのは、実行されているマシンだけです。
fleet は、すべてのマシンを見えるようにします — すべての GPU とそこで実行中のもの、提供中のモデル、インストール済みソフトウェア、モデルやデータの保存場所を確認できます。

アカウント不要、クラウドサービス不要、追加するマシンへのインストール不要、キーの共有不要です。fleet は、すでにお使いの SSH を使い、いつもどおりにログインします。

テスト ライセンス:MIT Linux | macOS | Windows MCP サーバー

40 秒のデモです。空いている 24 GB のカードでトレーニングするよう頼むと、エージェントは fleet ls --tag cuda --tag vram-24g を実行し、有料レンタル 2 台と使用中のマシンを避けて、アイドル状態の RTX 4090 を選び、そこで train.py をデタッチモードで起動して、カードが使用中になったことを確認します。何に費用がかかっているか尋ねると、1 時間あたり $2.49 のアイドル状態の H100 レンタルを示し、停止するかどうかはあなたに任せます。

問題

エージェントにモデルのトレーニングを頼むと、部屋の向こうでは 4090 がアイドル状態で、レンタルした A100 の料金が時間単位で発生しているのに、ノート PC で実行を始めます。見えないものは使えません。

  • エージェントが 1 台のマシンに縛られています。 ほかのマシンの存在をまったく知りません。
  • 空いている GPU を探すのは手作業です。 5 台のホストに SSH で接続し、nvidia-smi を実行して、頭の中で比較します。
  • 何が実行中か、すでに何があるかを確認できません — そのカードで誰のジョブが動いているのか、どのマシンがすでに Llama 3 を提供しているのか、データセットがどこにあるのかがわからないため、同じものを二度ダウンロードしてインストールしてしまいます。

始め方:エージェントに頼む

作業に使っているマシンで、これを Claude Code、Codex、Gemini CLI、またはコマンドを実行できる任意のエージェントに貼り付けます。

Install fleet from https://github.com/sinolion/fleet

エージェント向けの手順は INSTALL.md にあります。

設定はこれだけです。fleet はこのマシンに一度インストールすれば、ここにあるすべての対応エージェントが使えるようになります。頼んだエージェントだけではありません。あとは、覚えておくコマンドなしで、やりたいことを自然な言葉で伝えるだけです。

次に、マシンを追加します

マシンへの接続方法をエージェントに伝えます。すでに使っている SSH コマンドだけで十分です。または、~/.ssh/config や tailnet を調べて、すでに接続できるマシンを探させることもできます。

あなた: GPU サーバーを追加して。ssh [email protected]

エージェント: gpu-box として追加しました:RTX 4090 が 2 基、どちらもアイドル状態で、空き容量は 46 GB です。すぐ使えます。

どんなマシンでも、追加するのに必要なのは一文です。

マシンエージェントに伝えること
すでに SSH で接続できるサーバー「ssh [email protected] を追加して」— fleet はあなたと同じように、あなたのキーでログインします
特定のキーファイルで接続するマシン「ssh -i ~/.ssh/my_key [email protected] を追加して」— または ~/.ssh/config にある Host
tailnet 上のマシン「自分のマシンを探して」— SSH 設定のホストと tailnet 上のマシンを一覧表示し、選んだものを追加します
新しいレンタル(vast.ai、RunPod、AutoDL)「ssh -p 40001 [email protected] を追加して。料金は 1 時間あたり $1.89」— プロバイダーのアカウントにあるキーを使います
パスワードでしか接続できないマシン「追加して」— fleet が ssh-copy-id を提案します。ssh にパスワードを一度入力すると、キーがそのマシンに登録されます
接続できないマシン「NAS に接続できないのはなぜ?」— fleet doctor が修正すべき項目を特定します

追加するマシンには何もインストールされません。Linux、macOS、Windows のいずれでも、SSH が使えれば十分です。fleet は各マシンの GPU、メモリ、ディスクを調べ、最新の状態に保ちます。

あとはエージェントに任せましょう

作業内容を伝えると、エージェントが適切な場所を見つけます。各マシンのスペックだけでなく、 今どれだけ空いているかも確認するため、使用中のカードにジョブを送ることはありません。

あなた: 空きのある 24 GB カードで train.py を学習させて

エージェント: rtx4090 は 23.1 GB の空きがあり、GPU もアイドル状態です。a100-spot も空いていますが、 料金は $1.89/hr です。rtx4090 で開始し、train.log に記録します。

あなたの指示エージェントによる検索方法
「今、空いているのは?」すべてのマシンを確認し、空いているものを一覧表示します
「24 GB カードを搭載したマシンを探して」名前ではなく、マシンのスペック(NVIDIA または AMD、VRAM、コア数、RAM)で照合します
「Linux マシンでテストを実行して」Linux を実行しているマシンを見つけ、結果を持ち帰ります
「何にお金がかかっている?」有料レンタルのアイドル状態を検出し、時間あたりの料金を表示します
「GPU を使っているのは誰?」すべてのカード上の全ジョブについて、ユーザー、VRAM 使用量、経過時間、コマンドを表示します
「Llama 3 はすでにどこかで提供されている?」すべてのモデルサーバーのモデルと、接続先の URL または SSH トンネルを表示します
「torch 2.5 と CUDA 12 があるマシンは?」各マシンの CUDA または ROCm、Python 環境、パッケージのバージョンを表示します
「データセットの保存先にデータセットをダウンロードして」そのマシンがデータセットの保存先として指定しているフォルダーと、残りの空き容量を確認します

キーやパスワードが会話に出ることはなく、取り消せない操作は必ずあなたの許可を待ちます。

fleet をインストールするのは、使用する場所だけです。 追加するマシンに必要なのは SSH だけです。 そのマシンでもエージェントを実行する場合に限り、fleet をインストールしてください。どこでも同じように動作し、 参加や同期は不要です。その環境では、fleet ls --discover で SSH 設定と tailnet にあるマシンを一覧表示できます。 手動で追加したマシンは、dotfiles と一緒に共有できる 1 つのファイルに保存されます。

コマンドを実行できないアプリの場合は?

デスクトップアプリやエディターには、ワンクリックで fleet を追加できます。fleet は MCP サーバーとして動作します。

アプリインストール
Claude Desktop最新リリースから fleet.mcpb を開きます
CursorCursor に追加
VS CodeVS Code にインストール

Claude Code、Codex、Copilot CLI、Gemini CLI 向けのプラグインのほか、OpenCode、Amp、 Windsurf、Cline、Zed、Qwen Code、Goose、Kiro、Hermes など、合計 35 以上のエージェントに対応しています。 すべてのエージェント →

安全性を重視した設計

  • マシンへのインストールは不要です。 fleet は 1 つの SSH 接続を使い、1 つのスクリプトでマシンを調査します。 Linux、macOS、Windows に対応します。NAS や借りたばかりのマシンでも、そのまま使えます。そこに作成されるわずかな ファイルについては、fleet による変更点に記載しています。
  • キーの共有も、アクセス管理も行いません。 fleet は、SSH 設定、キーとエージェント、Tailscale SSH、レンタルプロバイダーのキーなど、 あなたが使う方法そのままで接続し、キーをどこにも書き込みません。誰がどこにアクセスできるかは、これまでどおりあなたが決める場所で管理します。 マシンに接続できない場合は、fleet doctor が対処法を示します。fleet が勝手に変更することはありません。
  • パスワードは使用しません。 fleet がパスワードを求めたり保存したりすることはなく、エージェントが認証情報を見ることもありません。 GPU ジョブのコマンドラインに含まれるシークレットは、誰かに表示される前に伏せられます。
  • エージェントは推測せず、確認します。 どのマシンを指しているか尋ねること、取り消せないコマンドはあなたに任せること、 他の人が使用中の GPU で作業を始めないことが指示されています。
  • 外部への通信はありません。 fleet は自身のインストールと更新を除き、あなたのマシンとだけ通信します。 アカウント、テレメトリー、更新確認はありません。問題を見つけた場合は、SECURITY.mdで非公開で報告する方法をご確認ください。

コマンドラインを使いたいですか?

エージェントが実行する操作はすべて、通常の fleet コマンドです。fleet を自分でインストールするには、作業元のマシンで次のコマンドを実行してください(エージェントに依頼したときも、同じコマンドが実行されます)。

curl -LsSf https://raw.githubusercontent.com/sinolion/fleet/main/install.sh | sh

Windows:powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/sinolion/fleet/main/install.ps1 | iex"

次に、自分で操作します。

fleet ls                            # every machine, with what is free right now
fleet ls --tag cuda --tag vram-24g  # by capability: NVIDIA, a card of 24 GB or more
fleet ls --tag rocm                 # every AMD machine
fleet top                           # live view, like htop for the whole fleet
fleet show gpu-box                  # one machine in detail: jobs, software, models, folders
fleet ps                            # every job on every GPU, and which GPUs are idle
fleet models                        # every model being served, and how to reach it
fleet edit gpu-box --path models=/data/models   # where that machine keeps its models
fleet ssh gpu-box -- nvidia-smi     # run something there
fleet add "ssh [email protected]"     # add a machine
fleet ls --discover                 # machines in your ssh config and on your tailnet
fleet doctor nas                    # why a machine will not let you in, and the fix
fleet ls:7台のマシン全体の空きGPU、VRAM、CPU、RAM、ディスクを表示。1台はA100のレンタルで、1枚のカードが使用中、もう1枚はアイドル状態。1台はアイドル状態のH100レンタルで、費用が発生していることを警告。1台はディスクがほぼ満杯のRTX 3090マシン。さらに、ノートPC、NAS、電源がオフのマシン fleet top:すべてのマシンについて、GPU使用率、空きVRAM、CPU、RAM、ディスク、各GPUで実行中のユーザーと処理をリアルタイム表示 fleet ps:すべてのGPU上の全ジョブを表示。A100レンタルでのトレーニング実行、RTX 3090を2枚搭載したラボマシンでのファインチューニングとvLLMサーバー、さらにアイドル状態のGPU 3枚 fleet models:ラボマシンでvLLMが提供するLlama 3.1のURLと、ローカルからのみ接続できるRTX 4090上の2つのollamaモデル、およびそれらに接続するSSHトンネル

マシンがモデル、データセット、メディアをどこに保存しているかは、マシン自体の machine.yaml に記録されます(fleet edit NAME --path models=/data/models)。そのマシンを確認する人は誰でも同じ情報を参照でき、フォルダーのサイズと空き容量も各プローブの結果に含まれます。

vast.ai、RunPod、AutoDLのレンタルでは、料金(fleet edit a100 --cost 1.89)、フリートの消費額、レンタルがアイドル状態のままのときのアラートが表示されます。Tailscale、ZeroTier、WireGuardを使っていますか?fleet が必要とするのは、ルーティング可能なアドレスだけです。

fleet の比較

fleet は、すでに所有しているマシンを対象としています。新しいマシンを起動するツールを補完します。

ssh + nvidia-sminvitop / gpustatall-smi / gpuwhoSkyPilot / dstackfleet
すべてのマシンを1つの画面で表示✗✗ 1台のみ✓✓ 管理対象のみ✓
コーディングエージェント向け(スキル / MCP)✗✗✗一部対応✓
対象マシンへのインストール不要✓✗gpuwho ✓、all-smi ✗✗✓
ジョブ、提供中のモデル、ソフトウェア、データフォルダー✗ジョブ、1台のみジョブ✗✓
NVIDIA、AMD、AppleのGPUNVIDIANVIDIAall-smi ✓✓✓
新しいクラウドVMを起動✗✗✗✓✗
履歴、アラート通知✗✗all-smi ✓一部対応✗ 要求時にアラート

別のツールを使う場合。 必要に応じて最安価格でGPUをレンタルするには、SkyPilotまたはdstackを使ってください。マシンを起動・停止できますが、fleetにはその機能がありません。大規模なクラスターで数週間にわたるメトリクス収集やページングを行うには、PrometheusとGrafanaを組み合わせたDCGMを使ってください。さまざまな種類のアクセラレーター(Gaudi、NPU)をライブダッシュボードで確認するには、all-smiを使ってください。fleet は、すでに所有しているマシンと、エージェントがそれらを利用できるようにするためのツールです。

Tailscale、Ansible、~/.ssh/config だけでは不十分な理由。 これらは fleet の代わりではなく、fleet と併用してください。Tailscaleはマシン同士を接続し、fleet はその上で問題なく動作しますが、どのマシンに空きGPUがあるかをエージェントに伝えることはできません。Ansibleは、作成したプレイブックに合わせてマシンを変更しますが、現在どのマシンが使用中かは把握できません。~/.ssh/config はホストに名前を付け、fleet はそこからホスト情報を読み取ります。fleet はその間をつなぎ、何を所有しているか、どこに空きがあるか、何が実行・インストールされているかを、あなたの手を借りずにエージェントが利用できる形式で示します。

FAQ

セットアップ

すべてのマシンにfleetをインストールする必要がありますか?

いいえ。インストールするのは、fleetを使うマシン、つまり作業元のマシンと、エージェントも実行するその他のマシンだけです。GPUサーバー、レンタルマシン、NASなど、利用するだけのマシンには、SSHがあれば十分です。

Tailscaleは必要ですか? いいえ。fleet は SSH でマシンに接続できる手段なら何でも使います。LAN、VPN、踏み台ホスト、レンタルサーバーの公開ポートなどです。Tailscale を使っている場合は、`fleet ls --discover` で tailnet 上のマシンを自動検出でき、どこに誰がログインできるかは Tailscale SSH が管理します。fleet は接続するだけです。[マシンへの接続](docs/guides/reaching-machines.md)をご覧ください。
2 台のマシンで fleet を実行しています。何か共有されますか?

共有する必要はありません。それぞれのマシンは、自分の SSH で接続できるマシンを確認します。また、マシンのコスト、タグ、モデルの保存場所など、そのマシン自身についての情報はそのマシン上に保存されるため、どちらからも同じ情報を読み取れます。手動で追加したマシンは 1 つのファイル、machines.yaml(保存場所は fleet paths で確認できます)に記録されます。このファイルをコピーするか、dotfiles に含めておいてください。

1 台のマシンで Claude Code と Codex(その他のツール)を使っています。問題ありませんか?

はい。それが通常の使い方です。fleet はマシンごとに一度インストールすればよく、コマンドもマシンの一覧も 1 つです。各エージェントには fleet を指す小さなスキルまたは MCP エントリーだけを用意するため、Claude Code、Codex、Gemini CLI、デスクトップアプリのすべてで同じマシンを確認でき、同時に使用できます。後から新しいエージェントをインストールした場合は、fleet を使えるエージェントに fleet setup を実行するよう頼んでください。

エージェントが実際に受け取るものは何ですか?

コマンドを実行できるエージェント(Claude Code、Codex、Gemini CLI、Copilot CLI、OpenCode、…)には、fleet コマンドを説明するテキストであるスキルが提供されます。マシンが必要なタスクを実行するまでは、費用はかかりません。コマンドを実行できないアプリ(Claude Desktop、Cursor、VS Code、…)には、同じコマンドを実行する MCP サーバーが提供されます。エージェントをご覧ください。インストール後、新しいセッションを開始してエージェントに読み込ませてください。

安全性

fleet はパスワードを保存しますか?エージェントに鍵が見えますか?

どちらもありません。fleet 自身の鍵はなく、パスワードを扱うこともありません。自分で実行するのと同じように ssh を実行します。パスワード認証のみのマシンの場合は、ターミナルで ssh-copy-id を実行するよう案内します。パスワードは一度だけ、ssh 自体に入力します。エージェントは fleet ssh NAME を実行しますが、鍵もパスワードも見ることはありません。ただし、fleet show に表示されるマシンのアドレスは確認できる場合があります。

fleet は追加したマシンに何を残しますか?

ほとんど何も残しません。fleet edit が書き込むメモファイル(machine.yaml:タグ、コスト、メモ、フォルダー、宣言済みサーバー)、ソフトウェアのバージョンとフォルダーサイズの小さなキャッシュ(~/.cache/fleet)だけです。authorized_keys には何も書き込みません。プログラムもサービスもインストールしません。 fleet が変更する内容に全項目が記載されています。

エージェントが元に戻せない操作をすることはありますか?

そのような操作をしないよう指示されています。マシンの削除はユーザー自身が行う必要があり、MCP 経由でアプリから実行することもできません。どのマシンか、どのユーザーかなど、依頼が曖昧な場合、エージェントは推測せずに確認します。

マシン

fleet が報告するディスク容量が正しくありません。

コンテナーや GPU レンタルなど、一部のシステムでは、容量が別のボリュームにあるのに / が小さなオーバーレイとして表示されます。監視するパスを fleet に指定してください。「gpu-box では /workspace を監視して」と伝えるか、fleet edit gpu-box --disk-path /workspace を実行します。 ディスクをご覧ください。

レンタルサーバーの IP アドレスまたはポートが変わりました。

名前、タグ、コスト、履歴はそのままに、接続先を更新してください。「gpu-box の接続先を ssh -p 40123 [email protected] に変更して」と伝えるか、fleet edit gpu-box --ssh "ssh -p 40123 [email protected]" を実行します。

マシンが異なる NAT の背後にある、または異なる拠点にあります。 fleet は接続性を解決するものではなく、現在利用できる経路を使います。fleet を実行するマシンから、SSH 経由で各マシンに到達できる必要があります。マシン同士が互いに到達できる必要はありません。異なる NAT の背後にあるマシンの場合は、Tailscale や ZeroTier などのメッシュネットワークに接続し、メッシュアドレスで追加してください。 [マシンへの接続](docs/guides/reaching-machines.md)をご覧ください。
Windows に対応していますか?

はい、どちらの方法でも使えます。Windows マシンは OpenSSH Server だけでターゲットとして動作し、fleet も Windows 上で実行できます。 Windowsをご覧ください。

バックグラウンドで実行され続けるものはありますか?

いいえ。fleet は、あなたまたはエージェントが使用しているときだけ実行されます。fleet が調べるマシンでは、指定したフォルダーのサイズを把握してプローブを待たせないよう、ときどき du がバックグラウンドで実行されることがあります。

fleet 0.5 を使っていました。何が変わりましたか?

fleet はアクセス管理を行わなくなりました。中央管理機能も招待も、独自の鍵もありません。アップグレード後、マシンを再度追加してください。 0.5 からのアップグレードには、0.5 がマシンに残したものと、その削除方法が記載されています。

fleet を削除するにはどうすればよいですか?

fleet uninstall を実行してください(ファイルも削除するには --purge を指定します)。エージェントから fleet が削除され、最後の手順として uv tool uninstall agents-fleet が表示されます。 fleet の削除をご覧ください。

詳細情報

ステータス: v0.6。テストスイートは Linux、macOS、Windows で実行され、すべてのコマンドは CI で各 OS の実機を使って最初から最後までテストされます。エージェントが実行するようにスクリプトから実行し、実際に使うときと同じようにターミナルからも実行します。

Issue やプルリクエストを歓迎します。CONTRIBUTING.mdをご覧ください。fleet によって GPU の稼働時間を 1 時間節約できたなら、⭐を付けて、ほかの人にも見つけてもらいましょう。

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。