Documentation / Agent & automation / Muse Code
Connect Muse Code to Crusader
Connect Muse Code to Crusader's local MCP server to review saved HTTP traffic and project context. Muse starts a Crusader child process and communicates over stdio; this connection needs no listening port, Burp extension, or Java bridge.
These instructions cover connection setup and checking an existing project. The connection also exposes active and state-changing tools when your license permits them; this setup does not enforce a read-only toolset.
1. Prepare Muse and choose a Crusader project
Install and sign in to Muse Code using Meta's installation instructions. Meta documents native Windows, macOS, and Linux support. Check your installation:
muse --version
In Crusader, open Settings → AI agent (MCP) → Other MCP. Copy the generated
command and args values. They identify your installed executable; use these
instead of assuming crusader is on Muse's PATH.
Choose an existing Crusader project. If the Crusader CLI is on your PATH, list projects with:
crusader project list
Otherwise, run the executable from the connection panel. For example, in PowerShell, replacing the illustrative path with your installation:
& 'C:\Apps\Crusader\Crusader.exe' project list
Copy the intended project's exact id. Pinning that ID in the configuration below
prevents the connection from depending on whichever project was last selected.
An exact project name is also accepted, but an ID survives a rename. The project
must be visible to the OS account running Muse.
2. Add the MCP server to Muse
Back up Muse's existing settings before editing, then merge the entry below into
~/.config/muse/settings.json. On Windows, ~ is your user profile directory.
Keep existing settings and other server entries. See Muse's settings documentation.
Current Muse MCP documentation
uses mcp_servers. Crusader's Other MCP export uses mcpServers for other
clients, so adapt the outer key instead of pasting that export unchanged. Use an
explicit stdio transport. mode: "optional" lets Muse open with a warning if
Crusader is unavailable; /mcp shows whether it actually connected.
Replace both the example executable path and YOUR_PROJECT_ID:
{
"mcp_servers": {
"crusader": {
"transport": "stdio",
"command": "C:/Apps/Crusader/Crusader.exe",
"args": ["--project", "YOUR_PROJECT_ID", "mcp", "serve"],
"enabled": true,
"mode": "optional"
}
}
}
command is just the executable path. Keep each argument as its own array item;
do not put PowerShell's &, extra shell quotes, or mcp serve inside command.
Windows paths can use /, as above, or JSON-escaped backslashes (\\).
On macOS or Linux, use the absolute executable path from Crusader's connection panel with the same arguments. Run both applications in the same OS environment; a Windows installation and a WSL installation can have different project catalogs.
If the panel's command is dotnet, preserve the absolute application DLL path as
the first argument, then append --project, the project ID, mcp, and serve.
Point at an already built application, so compiler output cannot enter the MCP
stream.
Muse owns the stdio process. There is no need to start mcp serve separately in
another terminal. The GUI can be closed when reviewing saved captures.
3. Restart Muse and check the connection
Start a fresh Muse session after saving the settings. Use the Ask me permission profile and keep the sandbox enabled. That profile sends eligible approval decisions to you. See Muse's permission profiles.
Run /mcp and confirm that crusader is connected and its tools are listed.
An optional server being skipped is not a successful connection.
Use this first prompt to check the project without sending target traffic:
Check the Crusader MCP connection only. Read agent.guide, then call
project.current and report the project ID and name. Stop there. Do not start
a research workflow, call other tools, or send any target requests.
The returned ID must match the project you selected. If it does not, fix the
--project argument and restart the Muse session before reading project evidence.
For subsequent review of existing captures, start with history.search_safe and
history.get_safe. They provide redacted structural previews. Ask for evidence
by History ID and keep the task limited to saved captures. These are tool choices,
not a server-wide read-only mode. Tool results enter Muse's model context, so
choose the project and evidence you intend to share with that provider.
Troubleshooting
| Symptom | Check |
|---|---|
No crusader entry in /mcp |
Check JSON syntax, the mcp_servers key, enabled, and that you restarted Muse. An older Muse build may use a different schema; follow the documentation for that installed version. |
| Executable not found | Use the absolute command path from Other MCP. A desktop launcher and a terminal can have different PATH values. |
| Crusader opens its GUI | Check that args includes mcp and serve. For dotnet, the application DLL path must come first. |
project not found |
Recheck the exact ID with project list under the same OS account. The CLI will not create a project from an unknown ID. |
| Connection succeeds but History is empty | Confirm project.current and the selected project's saved captures. A working connection does not capture traffic by itself. |
Starting mcp serve manually appears to hang |
It is waiting for MCP JSON messages on stdin. Let Muse launch and manage it. |
| Parse error or failed protocol negotiation | Crusader uses newline-delimited JSON on stdio and advertises MCP 2025-11-25. Check the client's supported protocol and framing; avoid build commands or wrappers that print non-JSON output to stdout. |
A tool returns requires_upgrade |
This is a feature entitlement result, not a failed MCP connection. Available actions depend on the Crusader license. |
To disconnect, set this server's enabled to false or remove just its entry,
then restart Muse. This does not delete the Crusader project.
Relationship to Meta's research walkthrough
Meta's walkthrough also uses Zurp's Meta Context, FBDL, and SPARTA services, plus Ghidra and LLDB for native analysis. Those are separate integrations; connecting Crusader does not install them or grant access. Refer to the Zurp project for its access requirements. Burp-specific extensions and session substitutions are not installed by this configuration.
Verification status
Configuration fields were checked against Meta's documentation on October 7, 2026. Executable selection, project arguments, tool names, and stdio framing were checked against the Crusader source. Muse was not available on the verification machine's PATH, so an end-to-end Muse handshake has not been tested. Complete the connection check above before treating a particular Muse/Crusader version pair as verified.