Waymaker
WaymakerDocs
Developer Documentation
Documentation

Authentication

CLI and MCP both authenticate with an API key — the same credential type, minted in the same place. .ctx is different: inside an Ambassador you're already authenticated as a server-side context scoped to that app, no API key involved (see .ctx overview).

If you're looking for Site Auth — how a Host app authenticates its own end users — see Site Auth instead. That's a different system: Site Auth signs people into apps you build; API keys authenticate your own CLI/MCP session against Waymaker.

Minting an API key

  1. Sign in at admin.waymakerone.com
  2. Go to /api/keys
  3. Click Create API Key
  4. Name it and tick permissions
  5. Copy the key immediately — it's shown once, starts with wm_sk_, and can't be viewed again

Every member mints their own keys — a key acts as the person who created it, so never use one someone else minted for you. Who can do what:

  • Any member can mint, list and revoke their own keys.
  • Only an organization owner/admin can mint a key carrying host:admin. A member who asks for it is refused (403); a member who sends no permissions gets the default without it.
  • Organization owners/admins can list and revoke every key in the organization.
  • A key stops working when its creator leaves the organization — validation requires the creator to still be an active member of the key's org.

See Managing API keys for rotating and revoking.

Permissions

A key carries one or more of these seven, ticked individually when you create it (everything except host:admin is ticked by default). Any other value is refused (400), and host:admin requires an organization owner/admin:

PermissionGrants
commander:readRead Commander data — tasks, documents, goals, sheets, and more
commander:writeCreate, update, delete Commander data
host:readRead Host apps, Ambassadors, and their status
host:deployDeploy and manage Host apps/Ambassadors
host:adminHost admin operations — leave unticked unless you specifically need it
sync:readRead access for waymaker sync (deprecated — removed in the next CLI release)
sync:writeWrite access for waymaker sync (deprecated — removed in the next CLI release)

How MCP sees these

MCP collapses your key's permissions into two effective scopes: any :read permission grants MCP read, and :write/:deploy/:admin all grant MCP write (which implies read too) — a read-only key won't see write-shaped tools at all. sync:read/sync:write do not currently grant the MCP sync scope — a server-side naming mismatch, not something this key or its permissions can work around. See the cached-tool-list gotcha for what else this affects.

Using the key

CLI

export WAYMAKER_API_KEY=wm_sk_your_key_here

Or add it to a .env file in your project — the CLI loads it automatically. Verify with:

waymaker auth status

MCP

Pass it as a bearer token when configuring the server in your AI client:

{
  "mcpServers": {
    "waymaker": {
      "type": "http",
      "url": "https://mcp.waymakerone.com/mcp",
      "headers": { "Authorization": "Bearer wm_sk_your_key_here" }
    }
  }
}

Rotating or revoking a key

Revoke a compromised or unused key from admin.waymakerone.com/api/keys — it stops working immediately for both CLI and MCP. There's no separate revoke step per front-end.

Next steps