Documentation menu

MCP server

Jetty ships a Model Context Protocol server that exposes the whole platform as a set of tools your agent can call. It runs locally over stdio, so there is no hosted MCP URL to point at. Your editor launches the server with npx, and the server talks to flows-api.jetty.io on your behalf using your token.

The same server backs the Claude Code plugin, so you get an identical tool set in every editor.

The one-liner

For Claude Code:

claude mcp add jetty -- npx -y jetty-mcp-server

For anything else, the command to register is always the same, and only the config file differs. The server reads JETTY_API_TOKEN from the environment (or ~/.config/jetty/token); set JETTY_API_URL to target a non-default backend.

Per-editor config

Cursor: .cursor/mcp.json

{
  "mcpServers": {
    "jetty": {
      "command": "npx",
      "args": ["-y", "jetty-mcp-server"],
      "env": { "JETTY_API_TOKEN": "mlc_your_token_here" }
    }
  }
}

VS Code: .vscode/mcp.json

{
  "servers": {
    "jetty": {
      "command": "npx",
      "args": ["-y", "jetty-mcp-server"],
      "env": { "JETTY_API_TOKEN": "mlc_your_token_here" }
    }
  }
}

Windsurf and Zed use the same shape as Cursor.

Codex CLI: ~/.codex/config.json

{
  "mcpServers": {
    "jetty": { "command": "npx", "args": ["-y", "jetty-mcp-server"] }
  }
}

Gemini CLI: install as an extension

gemini extensions install https://github.com/jettyio/jettyio-skills

The tools

The server exposes 16 core tools plus a routines set. They cover the full lifecycle, so an agent can go from “list what exists” to “create, run, and inspect” without you leaving the chat.

  • Collections: list-collections, get-collection
  • Tasks: list-tasks, get-task, create-task, update-task
  • Runs: run-workflow (async), run-workflow-sync
  • Trajectories: list-trajectories, get-trajectory, get-stats, add-label
  • Step templates: list-step-templates, get-step-template
  • Config: check-secrets, set-environment-vars
  • Routines: list-routines, create-routine, run-routine-now, and more.

A note on stdio vs. hosted

Because the server is a local stdio process, your token never leaves your machine for a Jetty relay: the process you launch is the one that calls the API. That also means there is nothing to deploy and no endpoint URL. If you see a tutorial pointing an MCP client at an https://…/mcp URL for Jetty, it's out of date. Use npx -y jetty-mcp-server.


Source: jettyio/jettyio-skills (mcp-server/). Building an app instead of wiring an editor? Use the Client SDK →