Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

MCP Setup

Link supports local stdio transport and streamable HTTP transport.

Prerequisite

Start the daemon first:

mutx daemon

Link expects the MUTX socket at:

/tmp/mutx/link.sock

You can override the socket path with MUTX_SOCKET_PATH or mutx link --link-socket-path ....

stdio mode

mutx link

This is the default mode and the best choice when the agent runs on the same machine.

Example client configuration:

{
  "mcpServers": {
    "mutx": {
      "command": "mutx",
      "args": ["link"]
    }
  }
}

Note: The standalone mutx-link binary is still available and works identically. Use it if you prefer a dedicated binary or in Docker containers.

HTTP mode

mutx link serve --mode http --bind 0.0.0.0:8000

HTTP mode exposes:

  • MCP endpoint: http://HOST:8000/mcp
  • health check: http://HOST:8000/health

Use this mode when:

  • the agent cannot spawn local processes
  • you want to front MUTX with a container
  • you need a shared MCP endpoint on a trusted local network

CLI mode

Link also exposes all 17 MCP tools as CLI subcommands:

mutx link wallet list
mutx link wallet balance <wallet>
mutx link wallet send <wallet> <to> <amount>
mutx link slk info
mutx link address-book list

Use --json for machine-readable output. Use --link-socket-path to override the default socket location.

Container example

docker run --rm \
  -p 8000:8000 \
  -v /tmp/mutx:/tmp/mutx \
  ghcr.io/mutx-net/mutx-link:latest

If MUTX is also containerized, mount the same /tmp/mutx directory into both containers.

Verifying the connection

With the daemon running, confirm the socket is reachable:

mutx link wallet list

If you see your wallets listed, the socket connection is healthy and any MCP client configured with {"command": "mutx", "args": ["link"]} will work.

Troubleshooting

SymptomLikely causeFix
Could not reach MUTXDaemon is not runningStart with mutx daemon
Tool calls hang indefinitelyWaiting for terminal approvalApprove or deny in the Requests tab
HTTP 404 on /mcpWrong path or portEndpoint is /mcp, not /
SLK expired errorSLK has expiredRequest a new SLK
MUTX_SOCKET_PATH ignoredEnv not passed to subprocessUse the --link-socket-path flag instead

For verbose logging, set RUST_LOG=mutx_link=debug before starting Link.

Operational notes

  • Link is stateless
  • if the daemon is not reachable, tool calls fail immediately
  • wallet approvals still happen in the terminal, even when Link is served over HTTP