get_server_timeLABSCO SUMMARY
The whole Spot API, gated twice.
Market data needs nothing at all, so an assistant can read tickers and order books before any key exists. Everything else runs under a Kraken key whose permissions the server checks first, behind a bearer token you mint and can revoke — so the key's permission set is where you decide what an agent may do, and a read-only key genuinely stays read-only. The author labels it alpha and asks you to start against one.
What it is
An MCP server over Kraken's Spot REST API, served over HTTP and gated by bearer tokens you mint locally. Market-data calls need no Kraken credentials at all; anything touching an account runs under the key you supply, and the server checks that key's permissions before a call leaves the machine.
What you get
- Public market data with no Kraken credentials —
get_ticker,get_ohlc,get_order_book,get_recent_trades,get_recent_spreads,get_assets,get_asset_pairs,get_system_status - Account reads: balances, trade volume, ledgers and export reports —
get_account_balance,get_extended_balance,get_trade_balance,get_trade_volume,get_ledgers,request_export_report - Trading: open and closed orders, trade history, positions, and placing, amending and cancelling orders —
get_open_orders,get_trade_history,get_open_positions,add_order,amend_order,cancel_order,cancel_all_orders_after - Funding and Earn: deposit and withdrawal methods, addresses and status, wallet transfers and strategy allocation —
get_deposit_addresses,get_withdrawal_info,withdraw,wallet_transfer,list_earn_strategies,allocate_earn - Permission checking ahead of the call: the key is introspected once via
GetAPIKeyInfo, and a call the key cannot perform is rejected withKrakenPermissionErrornaming the flags it would need - A
GET /healthendpoint that answers without a bearer token, for container and load-balancer checks
Requirements
Python >=3.12 and uv. Clone, uv sync --dev, and put KRAKEN_API_KEY and KRAKEN_API_SECRET in .env for anything beyond public market data. Mint a client token with uv run mcp-kraken token create — the plaintext is printed once and only its SHA-256 hash is stored. uv run mcp-kraken serve listens on 0.0.0.0:8765/mcp; clients authenticate with an Authorization: Bearer header, or with ?apikey= when they cannot set headers. uv run mcp-kraken serve --stdio drops the HTTP and bearer layers for local use. Host, port, path, token database and TLS files are all environment-configurable.
Setup effort
Build from source — git clone https://github.com/XavierBeheydt/mcp-kraken.git
USE CASES
Reading a market before touching an account
Pull tickers, order books and recent trades with no Kraken key configured at all.
Checking what a balance actually is
Read balances, trade balance and ledger entries under a key with query permissions only.
Letting an agent place and manage orders
Give the key create-and-cancel permissions, then open, amend and cancel orders through the same server.
Keeping an agent read-only on purpose
Issue a key without trading or withdrawal permissions; calls it cannot perform are refused before they reach Kraken.
54 tools
Listed in project docs. Your client may show a different list.
get_system_statusget_assetsget_asset_pairsget_tickerget_ohlcget_order_bookget_recent_tradesget_recent_spreadsget_account_balanceget_extended_balanceget_trade_balanceget_trade_volumeget_ledgersquery_ledgersget_credit_linesget_api_key_inforequest_export_reportget_export_statusretrieve_exportremove_exportget_open_ordersget_closed_ordersquery_ordersget_trade_historyquery_tradesget_open_positionsadd_orderadd_order_batchamend_orderedit_ordercancel_ordercancel_all_orderscancel_all_orders_aftercancel_order_batchget_deposit_methodsget_deposit_addressesget_deposit_statusget_withdrawal_methodsget_withdrawal_addressesget_withdrawal_infowithdrawget_withdrawal_statuscancel_withdrawalwallet_transferlist_earn_strategieslist_earn_allocationsallocate_earndeallocate_earnget_earn_allocation_statusget_earn_deallocation_statuscreate_subaccountaccount_transferget_websockets_tokenBEFORE YOU INSTALL
What to know first
Tools you get
54 tools named in the project's documentation.
Requires
- uv on PATH
- Python >=3.12
- KRAKEN_API_KEY in your environment
- KRAKEN_API_SECRET in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/XavierBeheydt/mcp-kraken.git
cd mcp-kraken
uv sync --devMCP Clients
Claude Desktop
{
"mcpServers": {
"kraken": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_KRAKEN>",
"run",
"mcp-kraken",
"serve",
"--stdio"
],
"env": {
"KRAKEN_API_KEY": "<YOUR_KRAKEN_API_KEY>",
"KRAKEN_API_SECRET": "<YOUR_KRAKEN_API_SECRET>"
}
}
}
}