- A CI pipeline spawns or drives agents. Your GitHub Actions workflow, deploy script, or cron job needs to call the CLI or MCP server with no interactive login.
- A bot integration runs unattended. A long-running service calls the Murmur API on its own schedule and can’t refresh a developer session.
- You want an identity that outlives any person. The key is bound to a Service Profile, so it keeps working when a developer leaves the team and their tokens rotate.
1. Create an API key
You create an API key against an existing Service Profile. Create the profile first if you don’t have one.- Sign in at cloud.murmur.dev.
- Go to Organization Settings → Permissions → API Keys.
-
Click Create API key and fill in the form:
- Description (required): a human-readable label, such as
CI pipelineornightly-deploy. This is how you’ll recognize the key in the list later. - Service Profile (required): the profile the key authenticates as. The key inherits that profile’s Access Grants, so it can do exactly what the profile is allowed to do — no more.
- Description (required): a human-readable label, such as
- Click Create API key.
mur_ followed by an identifier and a secret:
mur_3f9c1a2b…), the Service Profile it’s scoped to, who created it, and when.
2. Use the key
A key is supplied through theMURMUR_API_KEY environment variable. Both the CLI and the MCP server read it from their environment and authenticate as the key’s Service Profile — no gh auth or murmur setup required.
From the CLI
Export the variable, then run any command:From the MCP server
The MCP server is themurmur mcp command, so it authenticates with the same MURMUR_API_KEY variable — set it in the server’s environment in your MCP client config. This is how you give an MCP client (Claude Code, Cursor, or any other) Murmur tools that act as the Service Profile instead of a logged-in developer.
In Claude Code, pass the key when you register the server:
env:
spawn, ls, status, and the rest — then runs as the Service Profile.
When MURMUR_API_KEY is set, the owner of every call is the Service Profile — your personal GitHub identity is not involved.
MURMUR_API_KEY is mutually exclusive with the agent-side credentials MURMUR_IDENTITY_TOKEN and MURMUR_WORKFLOW_ID. Setting the API key alongside either of those is an error and the command fails immediately, rather than guessing which identity you meant. On a developer laptop, in CI, or in an MCP client config, set only MURMUR_API_KEY.3. Revoke a key
A key stays valid until you revoke it — there is no expiry.- Go to Organization Settings → Permissions → API Keys.
- Find the key by its description and masked identifier.
- Click the trash icon, then confirm Revoke?.
Related
Service Profiles
Create the bot identity an API key authenticates as.
Authentication
How developers and agents authenticate to Murmur.
Authorization
The permission model behind a Service Profile’s Access Grants.
CLI overview
Commands the key lets you run unattended.