Keys and secrets
Where an API key goes when a bot needs one, how MCP servers sign in or take a key, what Murage keeps and where, and why you should never paste a key into a chat.
Where a key goes
There are three places, depending on what the key is for.
- A service Murage supports. Flux Router and model providers go in SettingsModels. Fuigo takes its models from those keys; engines such as Claude Code and Codex sign in through their own command, not with a key you paste. See Engines.
- Something a bot asks for mid-task. When a bot needs a key it does not have, it shows a secure card in the chat. Fill the key in there. The bot gets to use the service. It does not get to read the key.
- Any other service. Ask a bot to use an API and it can build the connection itself. Give it the key when it asks, or put the key in a file git does not track, such as a
.envfile in the project, and tell the bot where it is.
A key you hand a bot is stored only where you say, in a place git does not track. The bot reads it from there to make the call and sends it only to the service it is for. It never goes into memory, a reply, a log or a committed file. A bot also never searches your computer for keys. It uses the one you hand it or the file you name.
MCP servers
An MCP server often needs a sign-in or a key of its own. Murage handles both without the bot ever seeing them.
Step 1
Sign in, or use a key
When a server link needs a sign-in, its row in Connected appsMCP servers shows a Sign in to… button. It opens your browser, you sign in there, and Murage keeps the sign-in and renews it when it can.
If the service takes an API key instead, press Use an API key instead, paste the key, and press Save and test. The desktop app keeps the key.
You're done when: the server row shows On.
Step 2
Test
Press Test. When it cannot connect, the reason is on the row. The ones about keys and sign-ins are under Troubleshooting below.
You're done when: Test lists the tools the server offers.
If a sign-in ends while a bot is working, the chat shows a card: Notion needs you to sign in again before Ember can use it. On the computer running Murage the button signs you in and the bot carries on.
A key in a command server
A command server, one you start with a command such as npx, often takes its token as an environment value. Murage keeps those values in the desktop app, not in your settings file. If you later change the command or its arguments, Murage asks whether to keep the saved values for the new command or clear them.
Do not put a key in the command's arguments. Arguments are saved as plain text. If you paste one there, Murage warns you and offers to move it to an environment value. Use a token scoped to that one server, so a server that misbehaves can only reach what it was given.
A few names are reserved. A server cannot be called computer, agents, browser, phone or dweb, because those are Murage's own tools, and environment names starting with MURAGE_ belong to Murage.
Connected apps
Connected apps through Flux Router work differently: you sign in to each app once from Apps in the sidebar, and the sign-in stays with the connected-apps service. No key passes through a bot.
If you saved a connected-apps key of your own in an earlier release, it is kept, untouched, but nothing reads it any more. Add your Flux Router key in SettingsModels, open Apps and reconnect each app. Where Murage can carry your apps across for you it shows Move my connected apps. Apps still connected through the original service keep working until the date Murage shows beside them, then need reconnecting.
Keys and memory
Bots never save keys to memory. When a bot is about to remember something with a password or key in it, the memory card holds it and says Could include a password or key, so Ember asks you first. You decide.
Troubleshooting
You see
Notion needs you to sign in again before Ember can use it.Do this
The server's sign-in has ended. Open the server's row and choose Sign in again, then Test.
You see
did not accept this API key. Check it and try again.Do this
Copy the key again from the service, paste the whole of it, and press Save and test.
You see
needs you to allow more access for this tool. Sign in again to allow it.Do this
The server added a tool that needs a permission your sign-in did not include. Sign in again and allow it.
You see
does not let apps sign in this way. Use an API key instead.Do this
That service has no app sign-in. Press Use an API key instead and paste a key from the service's own settings.
You see
Murage does not connect to that kind of address.Do this
Murage only connects to servers on the internet over https, and to local servers you confirm. Check the link.
You see
The server did not answer in time. Try again in a moment.Do this
The server was slow or down. Press Test again in a minute. If it keeps failing, check the link and your internet connection.