MCP
Add your own MCP servers for your bots, connect n8n or Zapier, and use Murage's own MCP server from another AI app.
MCP (Model Context Protocol) is a standard way to plug tools into AI apps. Murage works with it in two directions: your bots can use tools from MCP servers you add, and another AI app can work with your Murage team through Murage's own MCP server.
For the short version, see MCP servers.
Add a custom MCP server
Custom servers are managed in the desktop app only. A paired phone has no MCP settings, because each server is a program your bots start on your computer.
- Choose Connected apps in the sidebar, then the MCP servers tab.
- Choose Add server.
- Fill in the Add MCP server form:
- Server name: 1 to 32 lowercase letters, numbers, underscores or hyphens, starting with a letter.
- Executable command: the program to run, such as
npx. - Arguments · one per line: each argument on its own line.
- Environment · KEY=value per line: settings and tokens the server needs, such as
GITHUB_TOKEN=….
- Choose Save. The server is saved switched off.
- Choose Test. Murage starts the server briefly, connects to it, and lists the tools it offers, or shows why it failed.
- Choose Turn on.
Bots can use the server's tools from their next task. No restart is needed. Use Turn off to park a server without deleting it, the edit button to change it, and the remove button to delete it.
When you edit a server, saved environment values aren't shown. Leave an existing value blank to keep it. Remove its line to delete it.
What's supported in this release
- Local servers started from a command only. Murage talks to the server over its standard input and output (stdio).
- Remote MCP addresses aren't supported yet. You can't paste a server URL.
- No shell command strings. Put the program in Executable command and each argument on its own line, rather than one long command.
- Up to 20 servers, 64 arguments and 64 environment values each.
Which bots get them
Custom servers aren't switched on per bot. Once a server is on, it reaches every bot whose engine can use custom MCP servers. That's Claude Code, Codex and the engines Murage runs through ACP. Bots on other engines don't see it. See Engines.
On Claude Code and Codex, tool calls from your servers follow each bot's approval settings and the stop line. They're never pre-approved, so you'll see approval cards for them like any other action. On Hermes and other ACP engines, Murage only sees what the engine asks about, and Hermes doesn't ask before MCP tools. See Permissions and the stop line.
Where they're stored
Custom servers are saved in config.json in your data folder (see Data locations), under mcpServers:
{
"mcpServers": {
"notes": {
"command": "npx",
"args": ["-y", "@example/notes-mcp"],
"env": { "NOTES_TOKEN": "…" },
"enabled": false
}
}
}
If you edit the file by hand, restart Murage. An entry you write by hand is switched on unless it says "enabled": false. An entry Murage can't read is skipped, and the rest still load.
Environment values are kept in plain text in this file, which only your user account can read. They're passed to the server when it starts, not shown on its command line. Use a token scoped to that one server.
Names Murage refuses
Some names belong to Murage's built-in tools and can't be used, including computer, agents, composio, browser, phone, dweb and muragebox. Environment names starting with MURAGE_ are reserved too.
About Test
Test stops the server after it connects, or after eight seconds. The server gets only the environment values you set for it, none of Murage's own keys. Its error output isn't shown in the app.
n8n and Zapier
Your bots can run n8n workflows and Zaps today through the n8n and Zapier MCP servers. Add the n8n or Zapier MCP server as a custom MCP server, using the steps above.
Because this release starts custom servers from a command, use a setup that runs as a local command. Follow n8n's or Zapier's own MCP instructions for the command and the key it needs, and put the key under Environment, not in Arguments. Then Test it to check the tools it offers before you choose Turn on.
To have n8n or Zapier start a Murage task, use a webhook instead. See Webhooks. Deeper built-in n8n support is coming.
Use Murage from another AI app
The desktop app includes its own MCP server. Another MCP app on your computer can use it to work with your Murage team while Murage is running.
It can:
- check that Murage is running, and list your bots and channels with what they're working on;
- read conversations in pages of up to 200 messages, and search them (up to 100 results);
- create bots, channels and tasks, and edit a bot's or channel's profile;
- send work to a bot or channel, wait for the result, and interrupt a running turn;
- list available models and switch an idle bot to one of them.
It can't approve requests, remember permission grants, delete data, import teams, change keys, or start and stop computers. Those stay in Murage, with you. Screenshots and permission details are removed from what it returns.
Connect another app to Murage
Add a server entry to your MCP app's settings. The command is the Murage app itself, run with ELECTRON_RUN_AS_NODE=1, so you don't need Node.js installed.
Mac:
{
"mcpServers": {
"murage": {
"command": "/Applications/Murage.app/Contents/MacOS/Murage",
"args": ["/Applications/Murage.app/Contents/Resources/server/mcp-server.js"],
"env": { "ELECTRON_RUN_AS_NODE": "1" }
}
}
}
Windows: use the installed Murage.exe as the command and the resources\server\mcp-server.js file next to it as the argument. The usual install folder is %LOCALAPPDATA%\Programs\Murage. Keep the same ELECTRON_RUN_AS_NODE setting.
Ubuntu (.deb): use /opt/Murage/murage as the command and /opt/Murage/resources/server/mcp-server.js as the argument, with the same setting.
Connection settings
With no extra settings, the MCP server looks for Murage on ports 8799, 18799 and 28799 and only connects to one that identifies itself as Murage. You can add these to the env block:
MURAGE_PORT: use one local port.MURAGE_URL: use an exact address. Plainhttpto another machine is refused unlessALLOW_INSECURE_HTTP=true; usehttpsoutside your own computer.MURAGE_TOKEN: sent as a bearer token, for a proxy that needs one. When you set it, also setMURAGE_URLorMURAGE_PORT.MURAGE_MCP_TIMEOUT_MS: request timeout, from 1,000 to 120,000 milliseconds. The default is 30,000.
Troubleshooting
- Test fails: check the command runs on its own in a terminal, and that its key is under Environment.
- A bot doesn't see the tools: check the server is on and the bot's engine supports custom MCP servers. Start a new task.
- Your MCP app can't reach Murage: make sure Murage is open and ready, then restart the MCP app.