Kraken Pro MCP for Gemini CLI
This project provides a FastMCP server that exposes the Kraken Pro REST API as a set of tools for the Gemini CLI. This allows you to interact with your Kraken account, trade, and access market data directly from your terminal using natural language.
Features
This server exposes a comprehensive set of tools for interacting with the Kraken API, including:
- Trading:
add_order,cancel_order,amend_order,open_orders,cancel_all_orders_after - Market Data:
server_time,system_status,asset_info,tradable_asset_pairs,ticker,ohlc,order_book,recent_trades,recent_spreads
Prerequisites
- Gemini CLI
- FastMCP (
pip install fastmcp-cli) - A Kraken Pro account with API keys.
Installation
The recommended way to install this server for use with the Gemini CLI is using the fastmcp command-line tool.
-
Clone the repository:
git clone https://github.com/oilst/kraken-mcp.git cd kraken-mcp -
Set up your environment variables: Create a
.envfile in the project directory with your Kraken API keys:KRAKEN_API_KEY="your_public_key" KRAKEN_API_SECRET="your_private_base64_secret" -
Install the server: Run the following command to install the server, its dependencies, and make the tools available to the Gemini CLI:
fastmcp install gemini-cli kraken-server.py
Usage
Once installed, you can use the tools directly in the Gemini CLI. Gemini will automatically detect the appropriate tool based on your prompt.
Examples:
- "What is the current price of Bitcoin?" (uses the
tickertool) - "Place an order to buy 0.1 XBT at $50,000" (uses the
add_ordertool) - "Show me my open orders" (uses the
open_orderstool) - "Cancel order XXXXX-XXXXX-XXXXXX" (uses the
cancel_ordertool)
Tools
Here is a list of the available tools and their parameters.
Trading Tools
add_order(pair, side, ordertype, volume, price, ...): Place a new order.cancel_order(txid_or_userref): Cancel an open order.open_orders(userref, trades): Fetch open orders.amend_order(order_id, order_qty, limit_price, ...): Amend an open order.cancel_all_orders_after(timeout_seconds): Set a dead man's switch to cancel all orders.
Market Data Tools
server_time(): Get the Kraken server time.system_status(): Get the current system status.asset_info(assets, aclass): Get information about assets.tradable_asset_pairs(pairs, info): Get information about tradable pairs.ticker(pairs): Get ticker information.ohlc(pair, interval, since): Get OHLC data.order_book(pair, count): Get the order book.recent_trades(pair, since): Get recent trades.recent_spreads(pair, since): Get recent spreads.
For detailed information on the parameters for each tool, please refer to the docstrings in the kraken-server.py file.
Disclaimer
Use this tool at your own risk. The author is not responsible for any financial losses. Always test with validate=True for the add_order tool before placing real orders.