# Platforms

`GET /api/engines` is the source of truth; snapshot at build time:

| engine | smallest plan | status | skills | mcp | llmKey | model | sso | dashCredentials |
|---|---|---|---|---|---|---|---|---|
| `hermes` (Hermes) | tiny | stable | yes | yes | yes | yes | yes | yes |
| `openclaw` (OpenClaw) | tiny | beta | yes | yes | — | — | — | yes |
| `n8n` (n8n) | small | beta | — | — | — | — | — | — |
| `claude-code` (Claude Code) | small | beta | yes | yes | yes | — | — | yes |
| `opencode` (OpenCode) | tiny | beta | yes | yes | — | — | — | yes |
| `pi` (Pi) | tiny | beta | yes | — | yes | — | — | yes |

Notes per engine:

- **Hermes** — the full product: persona (`personaId`), skills, MCP, A2A, web chat, model key and model choice through the API. Dashboard signs the owner in through our account.
- **OpenClaw** — its own Control UI at `endpointUrl`; A2A through a bridge; model key through the API.
- **n8n** — workflow editor; no persona, no A2A; needs `small`.
- **Claude Code** — web terminal; Anthropic key through the API or `claude auth login` inside; needs `small`.
- **OpenCode**, **Pi** — web terminal / web UI; provider keys through the API; model chosen in-session.
- **Matomo** — set up by us on request on any plan (not an `engine` value yet).

`capabilities` on each engine says which API calls apply: `skills`, `mcp`, `llmKey`, `model`, `sso`, `dashCredentials`.
