Documentation menu

Bring your own agent

Bringing your own agent?
Guide me through installing https://www.jetty.io/agent-instructions.md and setting up my first runbook.
Full instructions

Machine Instructions

🐦 Onboarding an agent, not a human? Point it at jetty.io/agent-instructions.md — a pasteable, numbered trigger that ends in a report-back block. The deep reference lives at jetty.io/MACHINE_CONTEXT.md.

Get a token

Sign up at jetty.io, create a key under Settings → API keys (it looks like mlc_…), and export it so the CLI and SDK can find it:

export JETTY_API_TOKEN="mlc_…"

If you use Claude Code, skip the dashboard: /jetty-setup below writes the token to ~/.config/jetty/token for you.

Using Claude Code

If you live in Claude Code, this is the fastest way to use Jetty. The plugin bundles four skills and the MCP server together, so a single install gives you natural-language commands, a guided setup wizard, and the runbook-authoring loop without leaving your editor.

Two commands add the marketplace and install the plugin:

claude plugin marketplace add jettyio/jettyio-skills
claude plugin install jetty@jetty

Then run the setup wizard once. It creates or links your account, writes your token to ~/.config/jetty/token, and checks that your model provider keys are in place:

/jetty-setup

That's it. The token it writes is the same one every other on-ramp reads, so the MCP server, the SDK, and the CLI are all configured at the same time.

The four skills

jetty: natural-language workflow control

Talk to Jetty in plain English. The skill maps your request onto the underlying API, so you don't have to remember endpoints or JSON shapes.

/jetty list collections
/jetty list tasks in acme
/jetty run triage in acme with ticket="customer can't log in"
/jetty show the last run for triage

jetty-setup: first-run onboarding

The wizard you run once. Handles account creation, token storage, and a provider-key pre-flight so your first runbook doesn't fail on a missing key.

create-runbook: author a new runbook

Guided authoring for a brand-new runbook: it asks what you want done, what “done” looks like, and what to check, then writes a structured RUNBOOK.md with frontmatter and evals. See Writing runbooks for the anatomy.

optimize-runbook : Improving an existing runbook

The retention loop. It reads your prior runs, finds where they fall short of the runbook's evals, proposes targeted edits, and re-runs to confirm the score moved. Walkthrough in Evaluating & optimizing.

What's under the hood

The plugin ships the same MCP server the rest of the editors use, so when you run /jetty run …, Claude Code is calling the run-workflow MCP tool against flows-api.jetty.io. The skills are the Claude-Code-specific layer on top; the MCP tools work in every editor.

No install? Use the shell CLI

The same repo ships a dependency-free shell CLI. Source it and you get a set of jetty_* functions for quick checks and scripts:

source jetty-cli.sh   # from the jettyio-skills repo
jetty_collections
jetty_run_sync acme triage '{"ticket":"can'\''t log in"}'

Source: jettyio/jettyio-skills. Next: add the MCP server to another editor →