Install the Jetty agent skill.
One repo, every agent CLI. Install the Jetty plugin in Claude Code, Codex, or Gemini CLI — or wire the MCP server into Cursor, VS Code, Windsurf, Zed, or anything else that speaks MCP. About five minutes to your first runbook.
The fast path: Claude Code
If you're already using Claude Code, this is two lines:
claude plugin marketplace add jettyio/jettyio-skills
claude plugin install jetty@jettyThen run the setup wizard inside Claude Code:
/jetty-setupThe wizard does three things, in order:
- Connects your Jetty account. If you don't have a token yet it opens jetty.io/sign-up; otherwise it reads the one you paste, validates it, and stores it at
~/.config/jetty/token(chmod 600 — never in your repo). - Sets up an AI provider key. Use your own (OpenAI, Anthropic, Gemini) or activate trial mode — 10 free runs, up to 60 minutes, with Jetty-provided keys, no third-party signup.
- Walks you through your first runbook. Hands off to
/create-runbook, which scaffolds a workingRUNBOOK.mdfrom a template and registers the task on Jetty.
Under five minutes from the install command to a trajectory you can replay.
Other agents
Gemini CLI
gemini extensions install https://github.com/jettyio/jettyio-skillsThe installer prompts for your Jetty token. Then ask Gemini to set up Jetty — Antigravity-style skills trigger by description, not slash command.
Codex CLI
Add the MCP server to ~/.codex/config.json:
{
"mcpServers": {
"jetty": {
"command": "npx",
"args": ["-y", "jetty-mcp-server"],
"env": { "JETTY_API_TOKEN": "mlc_your_token" }
}
}
}Cursor, VS Code Copilot, Windsurf, Zed, Antigravity
Same MCP config, different file: .cursor/mcp.json, .vscode/mcp.json, ~/.codeium/windsurf/mcp_config.json, ~/.config/zed/settings.json, or ~/.gemini/antigravity/mcp_config.json. The full per-IDE snippets are in the repo README.
Anything else with MCP
JETTY_API_TOKEN=mlc_your_token npx -y jetty-mcp-serverThat's the whole server. Stdio transport, standard MCP protocol, no other moving parts.
What you actually get
The plugin ships four skills (Claude Code surfaces them as slash commands; other agents trigger them by description):
/jetty-setup— first-run wizard. Account, token, provider key, first runbook./jetty— natural-language workflow management. List collections, run tasks, inspect trajectories, label runs, manage env vars. “Run my-project/my-task with prompt=Hello world” is a real command./create-runbook— scaffolds a completeRUNBOOK.md: objective, output manifest, parameters, evaluation criteria, processing steps, iteration bounds, and a self-check section. Validates the result before you ship it./optimize-runbook— feeds a failing trajectory back into your runbook. Cites the steps that motivated each change and proposes a diff. (This is what powers the one-click Optimize button in Spot — see the comparison page for the full loop.)
Plus 16 MCP tools the agent uses under the hood — list-collections, run-workflow, get-trajectory, add-label, set-environment-vars, and the rest. You don't call them directly; the skills do.
Prerequisites
- Node.js 18+ — the MCP server runs via
npx. - A Jetty token. Get one at jetty.io/sign-up → Settings → API Tokens. Tokens start with
mlc_. - An AI provider key — OpenAI, Anthropic, or Gemini. Or skip this and use trial mode for the first ten runs.
Provider keys are stored server-side as collection environment variables, set once in the Jetty web UI. They never appear in trajectories, logs, or outputs — runbooks declare what they need; Jetty resolves it at run time.
Don't want a CLI? Skip the skill.
The skill is the friendly path. The substrate is an OpenAI-compatible HTTP endpoint at https://flows-api.jetty.io/v1/chat/completions. Add a jetty block to switch from passthrough to agent mode. Existing SDKs work unchanged.
Full API surface in the developer docs. The shape of the request is in For builders.
If something breaks
- Token won't validate. Confirm it starts with
mlc_and that you copied it from jetty.io/settings → API Tokens, not from anywhere else. - Slash commands missing. Skills only work in Claude Code today (and a couple of Codex flows). In Cursor, VS Code, Windsurf, Zed: ask the agent in plain language — the MCP tools work, the slash sugar doesn't.
- “No environment variables configured.” Either activate trial mode (the wizard offers it) or add a provider key at jetty.io/settings.
- Anything else. Open an issue at github.com/jettyio/jettyio-skills or drop into the Discord.
Now write a runbook
How to build an AI agent → — six-step walkthrough that turns a workflow you do every week into a runbook your team can run.
Turn a skill into a runbook → — if you've already built a Claude skill or a custom GPT, this is the fastest path.
Related reading
- What is a runbook? — the format underneath everything.
- For builders — API shape, sandbox model, the bits the skill hides.
- jettyio/jettyio-skills on GitHub — the source for everything on this page.