Skip to content

The Kadmo runtime ​

The Kadmo runtime is the part of Kadmo that runs on a computer: yours, or an agent's machine. It is one npm package, @kadmo/cli, holding the kadmo command, the MCP server, the agent service and its dashboard. It runs workflows, serves the skill packs installed on that computer to AI clients, and drives the computer's Chrome through the Kadmo extension.

Every Kadmo agent runs it. You run it on your own computer, as a login service, when you want Claude Code, Cursor or another MCP client to use your packs and your browser.

The three pieces ​

PieceWhat it isPage
kadmo serveThe runtime on http://localhost:9876: the dashboard, the REST API the extension and the dashboard use, the extension's WebSocket and the HTTP MCP endpoint for agents. It runs once per user, as the login service kadmo service install sets up.Install the runtime, The dashboard
kadmo mcpThe relay over stdio. Your MCP client starts it itself; it connects to the running runtime and starts nothing.The MCP server
The Kadmo extensionA Chrome extension that lets the runtime drive the browser: navigate, read and act on pages. Its only peer is the runtime on localhost:9876.The Kadmo extension

Workflow, run-log and pack tools work without the extension; the browser tools need it.

What the package is ​

  • Compiled only: one minified bundle with the dashboard, no source, no sourcemaps and no prompts.
  • No packs: a fresh install has no skill packs and no workflows. They come from the Kadmo app, the public catalogue, a registry, a git repository or a local directory (kadmo install), or from YAML files you write.
  • Node.js 22 or newer.
  • Proprietary: the published package carries the Kadmo EULA.

Where it keeps its data ​

Everything lives under ~/.kadmo: settings.json, the installed packs, registries, plugins, run logs and the token kadmo login stores. The layout is on Install the runtime.

Packs and which copy wins ​

Each pack is installed once per domain, under ~/.kadmo/skills/<domain>, and recorded with a layer. The layer decides which copy wins when two sources hold the same domain or the same workflow:

LayerRankComes from
overridehighestan account pack whose skill-pack.json says "layer": "override", and your own ~/.kadmo/roles/ files
accounta registry, a git URL or a local directory
opsthe Kadmo app, for an agent: kadmo install agents with the agent's token
librarylowestthe public catalogue
  • An install onto a domain that a higher layer holds is kept as it is, even with --force. A higher layer replaces a lower one. Within one layer the same version is skipped, and a different version needs --force.
  • The domain agents belongs to the ops layer: a registry, a git repository, a local directory or the catalogue cannot install a pack with that domain.
  • A workflow id present in several packs runs the highest layer's copy. Workflows in ~/.kadmo/actions/ and ~/.kadmo/workflows/ win over every pack.
  • Role guides of the same role are all given to the model, lowest layer first, so an account's se.md extends the one from the ops layer. A pack-root guide whose frontmatter says replace: true drops the lower layers' pack-root guides of that role; a module's own guide is never dropped.

kadmo install --list shows each installed pack with its layer. What a pack contains and how to write one is on Skill packs.

Next steps ​

  1. Install the runtime — install, the login service, settings
  2. Install the Kadmo extension — let the runtime drive Chrome
  3. Register the MCP server — Claude Code, Claude Desktop, Codex, Cursor, VS Code, Windsurf, Gemini CLI
  4. The kadmo commands — every command and flag