Agents¶
Most people never need this page. Asking an agent to install fleet — or running the
installer — sets up every supported agent on the machine at once, with fleet setup.
This page is for adding fleet from inside one particular agent or app, or to an agent
fleet setup does not know.
Every way in runs the same fleet from PyPI (agents-fleet),
so all your agents on a machine share one fleet: one list of machines, one cache
(why). Two kinds of entry:
- Skills are for agents that can run commands. A skill is text that tells the agent
how to use the
fleetcommand, and costs nothing until a task needs a machine. It needs thefleetcommand installed; if it is missing, the skill says how to get it. - MCP is for apps that cannot run commands. The app launches
uvx agents-fleet mcp, which runs the same commands for it. It needs only uv.
However it is installed, it is the same fleet. There are no modes to choose. The first use of fleet on a machine — through a plugin, an MCP app or a shell — records the machine and teaches the other agents found there, once (
FLEET_NO_FIRST_RUN=1skips that). fleet then reaches other machines with your own ssh, exactly as you do.
✓ = run here, and the agent registered (or connected to) the server. docs = from the agent's official documentation, not run here.
- Plugins and extensions — the skill, installed by the agent
- One command —
mcp addand similar - One click — install links and bundles
- Config files — everything else
- Skills only and what
fleet setupdoes
Plugins and extensions¶
The agent installs fleet's skill, which teaches it the fleet commands and costs nothing
until a task needs a machine.
| Agent | Install | |
|---|---|---|
| Claude Code | /plugin marketplace add lion-zhang/fleet then /plugin install fleet@fleet(shell: claude plugin marketplace add lion-zhang/fleet && claude plugin install fleet@fleet) |
✓ |
| Codex | codex plugin marketplace add lion-zhang/fleet && codex plugin add fleet@fleet |
✓ |
| GitHub Copilot CLI | copilot plugin marketplace add lion-zhang/fleet && copilot plugin install fleet@fleet |
✓ |
| Gemini CLI | gemini extensions install https://github.com/lion-zhang/fleet — the skill and the MCP server |
✓ |
One command¶
These register fleet's MCP server, launched as uvx agents-fleet mcp.
| Agent | Command | |
|---|---|---|
| Claude Code | claude mcp add --scope user fleet -- uvx agents-fleet mcp |
✓ |
| Codex (CLI, IDE, ChatGPT app) | codex mcp add fleet -- uvx agents-fleet mcp |
✓ |
| GitHub Copilot CLI | copilot mcp add fleet -- uvx agents-fleet mcp |
✓ |
| Amp | amp mcp add fleet -- uvx agents-fleet mcp |
✓ |
| OpenCode | opencode mcp add fleet -- uvx agents-fleet mcp |
✓ |
| Qwen Code | qwen mcp add fleet uvx agents-fleet mcp |
✓ |
| Auggie (Augment CLI) | auggie mcp add fleet -- uvx agents-fleet mcp |
✓ |
| Factory Droid | droid mcp add fleet "uvx agents-fleet mcp" |
✓ |
| Kiro CLI | kiro-cli mcp add --name fleet --scope global --command uvx --args agents-fleet --args mcp |
✓ |
| Mistral Vibe | vibe mcp add fleet --transport stdio --command uvx --arg agents-fleet --arg mcp |
✓ |
| VS Code (Copilot agent mode) | code --add-mcp '{"name":"fleet","command":"uvx","args":["agents-fleet","mcp"]}' |
docs |
| Windsurf / Devin Desktop | devin mcp add fleet -s user -- uvx agents-fleet mcp |
docs |
| Jan | jan cli mcp add fleet --command uvx --arg agents-fleet --arg mcp --active |
docs |
| Crush | echo 'mcp add fleet --command uvx --args agents-fleet --args mcp' >> ~/.config/crush/crushrc |
docs |
One click¶
| Agent | Link |
|---|---|
| Cursor | Add to Cursor |
| VS Code | Install in VS Code · VS Code Insiders |
| Visual Studio | Install in Visual Studio |
| Kiro | Add to Kiro |
| LM Studio | Add to LM Studio |
| Goose | goose://extension?cmd=uvx&arg=agents-fleet&arg=mcp&id=fleet&name=fleet&description=fleet&timeout=300 (paste into a browser) |
| Claude Desktop | download fleet.mcpb from the latest release and open it ✓ |
These links are built from each agent's documented format; the Claude Desktop bundle was validated, packed and run here.
Config files¶
For everything else, add fleet to the agent's config. Most agents read the same shape:
{
"mcpServers": {
"fleet": { "command": "uvx", "args": ["agents-fleet", "mcp"] }
}
}
| Agent | File (user scope) | Notes |
|---|---|---|
| Cursor (IDE and CLI) | ~/.cursor/mcp.json |
|
| Windsurf / Devin Desktop | ~/.config/devin/mcp_config.json (Windows %APPDATA%\devin\); the older ~/.codeium/windsurf/mcp_config.json is still read |
|
| Claude Desktop | macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json |
|
| Cline (VS Code) | MCP Servers → Configure → Configure MCP Servers (cline_mcp_settings.json) |
add "disabled": false |
| Cline CLI | ~/.cline/data/settings/cline_mcp_settings.json |
add "disabled": false |
| Kiro (IDE and CLI) | ~/.kiro/settings/mcp.json |
|
| GitHub Copilot CLI | ~/.copilot/mcp-config.json |
|
| Qwen Code | ~/.qwen/settings.json |
|
| Factory Droid | ~/.factory/mcp.json |
|
| Auggie | ~/.augment/settings.json |
|
| Junie (IDE and CLI) | ~/.junie/mcp/mcp.json |
|
| JetBrains AI Assistant | Settings → Tools → AI Assistant → Model Context Protocol → + → As JSON | paste the block above |
| Augment Code (IDE) | Augment settings → MCP → Import from JSON | paste the block above |
| Kimi Code | ~/.kimi-code/mcp.json |
|
| Warp | ~/.warp/.mcp.json |
|
| LM Studio | Program → Install → Edit mcp.json | |
| Trae | Settings → MCP → Add → Add Manually | paste the block above |
| Cherry Studio | Settings → MCP Servers → Add → import from JSON | |
| BoltAI | ~/.boltai/mcp.json |
|
| Jan | Settings → MCP Servers → + | add "active": true |
| Msty Studio | Toolbox → Tools → Add New Tool → STDIO / JSON | the inner object only: {"command": "uvx", "args": ["agents-fleet", "mcp"]} |
The agents below use their own shapes.
VS Code — user mcp.json (MCP: Open User Configuration), or .vscode/mcp.json in a project
{ "servers": { "fleet": { "type": "stdio", "command": "uvx", "args": ["agents-fleet", "mcp"] } } }
OpenCode (~/.config/opencode/opencode.json) and Kilo Code (~/.config/kilo/kilo.json) — ✓
{ "mcp": { "fleet": { "type": "local", "command": ["uvx", "agents-fleet", "mcp"], "enabled": true } } }
Zed — ~/.config/zed/settings.json (Windows %APPDATA%\Zed\settings.json)
{ "context_servers": { "fleet": { "command": "uvx", "args": ["agents-fleet", "mcp"], "env": {} } } }
Continue — ~/.continue/config.yaml (agent mode only)
mcpServers:
- name: fleet
type: stdio
command: uvx
args: ["agents-fleet", "mcp"]
Goose — ~/.config/goose/config.yaml (Windows %APPDATA%\Block\goose\config\config.yaml)
extensions:
fleet:
name: fleet
type: stdio
cmd: uvx
args: [agents-fleet, mcp]
enabled: true
timeout: 300
Codex — ~/.codex/config.toml
[mcp_servers.fleet]
command = "uvx"
args = ["agents-fleet", "mcp"]
Amp — ~/.config/amp/settings.json
{ "amp.mcpServers": { "fleet": { "command": "uvx", "args": ["agents-fleet", "mcp"] } } }
Mistral Vibe — ~/.vibe/config.toml
[[mcp_servers]]
name = "fleet"
transport = "stdio"
command = "uvx"
args = ["agents-fleet", "mcp"]
Not supported: Aider has no MCP support, and ChatGPT's chat reaches only remote MCP
servers; both can still run fleet as a shell command. Roo Code has shut down; its
successor is Kilo Code, above.
Skills only¶
Agents that read SKILL.md files can get fleet's skill without any MCP server:
npx skills add lion-zhang/fleet # ✓ — installs into every agent it recognises
For Hermes, install the CLI and run fleet setup --target hermes, which writes into
Hermes' own home (%LOCALAPPDATA%\hermes on Windows, or $HERMES_HOME).
What the MCP server offers¶
Each tool runs one fleet command and returns what it says, so an app without a shell
gets the same answers as an agent with one.
| Tool | Runs |
|---|---|
list_machines |
fleet ls --json, with tag to pick by what a machine has, fields for only some keys, refresh/rescan to measure now |
show_machine |
fleet show NAME --json, with rescan |
list_gpu_jobs |
fleet ps --json, with refresh |
list_models |
fleet models --json, with refresh/rescan |
run_on_machine |
fleet ssh NAME -- COMMAND: its output and exit code, within two minutes |
add_machine |
fleet add "ssh …" --json |
discover_machines |
fleet ls --discover --json |
doctor_machine |
fleet doctor [NAME] --json |
edit_machine |
fleet edit NAME: tags, cost, note (on the machine; local keeps tags and cost here), address, disks, name, alias |
set_machine_paths |
fleet edit NAME --path KIND=PATH |
set_machine_endpoint |
fleet edit NAME --endpoint NAME=PORT[/PATH]: a model server the probe would not find |
Removing a machine, and installing, updating or uninstalling fleet, are not tools: they are yours to run, in a terminal.
What fleet setup does¶
With the CLI installed (the one-line installer runs this for you), fleet setup teaches
every agent it finds on the machine, and touches nothing else — it never creates a config
directory for an agent you do not use, and in files you own it edits only its own marked
region.
| Agent | What it gets |
|---|---|
| Claude Code | skill: ~/.claude/skills/fleet/SKILL.md |
| Codex, Gemini CLI, Copilot CLI, OpenCode, Kilo, Amp | one shared skill: ~/.agents/skills/fleet/SKILL.md — every one of them reads it (checked with each CLI), so it is written once |
| Hermes | skill, in Hermes' own home |
| Claude Desktop, Cursor, VS Code, Windsurf | the MCP server, merged into the app's own config |
Older versions put Codex's skill in ~/.codex/skills and a region in
~/.gemini/GEMINI.md; the next fleet update (or fleet setup --refresh) moves them,
so no agent ever reads fleet twice.
fleet setup --project writes into the current repository instead:
.claude/skills/fleet/SKILL.md, or with --target codex (or hermes, gemini) a marked
region in the AGENTS.md / GEMINI.md those agents read. Updating fleet (fleet update)
refreshes what every agent is told, on every machine.
Using the installed CLI instead of uvx: put the full path that which fleet prints
as the command, with ["mcp"] as the args. Desktop apps on macOS do not see
~/.local/bin on their PATH, so the bare name fleet is not enough there.