kraken-mcp, over stdio. It serves 152 of the CLI’s commands as MCP tools that any MCP-compatible AI agent can call — Claude, Cursor, GitHub Copilot, Windsurf, and others.
Streams (WebSocket feeds, recording, replay, session start), interactive commands, and the local credential commands auth switch and auth reset stay CLI-only. A tool call is one request and one response; a stream never returns. Run streams with the CLI, for example kraken record, and read the results back with tools such as kraken_tape_list and kraken_explain_pnl, or kraken_session_show with the workspace service.
kraken-mcp comes with the CLI install. Install the CLI first.
Quickstart
Client setup
- Claude Code
- Claude Desktop
- Cursor
- VS Code (Copilot)
- Windsurf
Install the plugin, which adds the MCP server and the CLI’s agent skills:Or register only the MCP server for your user:The plugin asks for no API key. To add live trading, use If it shows “Failed to connect”, Claude Code cannot find If you set
-s market,paper,trade with a least-privilege API key (see Authentication).Verify it is registered:kraken-mcp on its PATH. Quit Claude Code and start it again from a new terminal window, or register the full path, which works before kraken-mcp is on your PATH:CARGO_HOME, use $CARGO_HOME/bin/kraken-mcp instead.kraken-mcp -s market,paper,feedback. Gemini CLI users can install the extension instead: gemini extensions install https://github.com/krakenfx/kraken-cli.
If a client reports “Failed to connect” or cannot start the server, set command to the full path that command -v kraken-mcp prints. Desktop apps often do not see the PATH your terminal uses.
Services
Pass-s <services> to control which command groups are exposed. Multiple services are comma-separated.
Default (no
-s flag): market, account, paper, workspace, feedback.
Dangerous tools
Tools marked dangerous (order placement, withdrawals, transfers, workspace promotion) need your approval for every call. The server asks you through MCP elicitation and runs the call only if you approve. A client that cannot show an elicitation gets no prompt from the server: the call runs when the model setsacknowledged: true in its arguments, so on such a client rely on the client’s own tool-approval prompt. Start the server with --allow-dangerous to turn the gate off.
Authentication
Set credentials as environment variables in the client’s MCP configuration, or in the shell that starts the server:kraken auth login (browser sign-in, a restricted key with no withdrawal rights) or kraken setup (a key you created). The server reads the same active stored key as the CLI. kraken-mcp takes no --api-key or --api-secret flags.
What agents can do
Withmarket, paper, and feedback, an agent can:
- Query live prices, orderbooks, and recent trades for any pair
- Place and cancel paper trades against live prices
- List recorded tapes and explain a stopped session’s P&L
account, it can read balances and open orders. With trade added, it can place, amend, and cancel live orders. With funding, it can initiate withdrawals. Scope services to the minimum your workflow requires.
Safety notes
- The MCP server runs locally over stdio and is not exposed as a network service
- Use minimum-permission API keys scoped to what the agent actually needs
- The default service set places no live orders and moves no funds; its few dangerous tools (workspace promotion and reset, paper reset, export retrieval and deletion) still need approval, and so does creating a live workspace
- Treat agent sessions with live trading scope the same as a logged-in user session
- Set position size limits and pair allowlists at the API key level on Kraken’s settings page