kukapay_freqtrade_mcp

kukapay_freqtrade_mcp

by kukapay
An MCP server that integrates with the Freqtrade cryptocurrency trading bot for automated trading operations.

Freqtrade MCP Server Integration

Overview

The Freqtrade MCP Server Integration is a specialized server that seamlessly connects with the Freqtrade cryptocurrency trading bot via its REST API. This integration enables AI agents to interact with Freqtrade, facilitating automated trading operations with ease.

GitHub License
Python Version
Status

Installation

Prerequisites

  • Python 3.10+: Ensure Python is installed on your system.
  • Freqtrade: A running Freqtrade instance with the REST API enabled (see Freqtrade Docs).
  • Git: For cloning the repository.

Steps

  1. Clone the Repository:
    shell git clone https://github.com/kukapay/freqtrade-mcp.git cd freqtrade-mcp

  2. Install Dependencies: Using pip:
    shell pip install freqtrade-client mcp[cli]
    Or with uv (optional):
    shell uv add freqtrade-client "mcp[cli]"

  3. Client Configuration:
    json "mcpServers": { "freqtrade-mcp": { "command": "uv", "args": [ \ "--directory", "/your/path/to/freqtrade-mcp", \ "run", \ "__main__.py" \ ], "env": { "FREQTRADE_API_URL": "http://127.0.0.1:8080", "FREQTRADE_USERNAME": "your_username", "FREQTRADE_PASSWORD": "your_password" } } }

  4. Freqtrade Configuration:
    Enable the REST API by adding the api_server section to your configuration and setting api_server.enabled to true.

Sample configuration:
json "api_server": { "enabled": true, "listen_ip_address": "127.0.0.1", "listen_port": 8080, "verbosity": "error", "enable_openapi": false, "jwt_secret_key": "somethingrandom", "CORS_origins": [], "username": "Freqtrader", "password": "SuperSecret1!", "ws_token": "sercet_Ws_t0ken" }
Check the document here.

Usage

Available Tools

The server exposes the following Freqtrade API endpoints as MCP tools:

Tool Description Parameters
fetch_market_data Fetch OHLCV data for a pair pair: str, timeframe: str
fetch_bot_status Get open trade status None
fetch_profit Get profit summary None
fetch_balance Get account balance None
fetch_performance Get performance metrics None
fetch_whitelist Get whitelist of pairs None
fetch_blacklist Get blacklist of pairs None
fetch_trades Get trade history None
fetch_config Get bot configuration None
fetch_locks Get trade locks None
place_trade Place a buy/sell trade pair: str, side: str, stake_amount: float
start_bot Start the bot None
stop_bot Stop the bot None
reload_config Reload bot configuration None
add_blacklist Add pair to blacklist pair: str
delete_blacklist Remove pair from blacklist pair: str
delete_lock Delete a trade lock lock_id: int

Example Prompts

  1. Fetch Market Data:
  2. "Show me the hourly price data for BTC/USDT."
  3. "What’s the 5-minute chart for ETH/BTC like?"
  4. "Give me the latest candlestick data for XRP/USDT over the past hour."

  5. Fetch Bot Status:

  6. "What’s the current status of my open trades?"
  7. "Are there any active trades right now?"
  8. "Tell me about the bot’s trading activity at the moment."

  9. Fetch Profit:

  10. "How much profit have I made so far?"
  11. "What’s the total profit summary for the bot?"
  12. "Can you show me my trading gains?"

  13. Fetch Balance:

  14. "What’s my account balance?"
  15. "How much money do I have in the trading account?"
  16. "Tell me the current balance of my Freqtrade wallet."

  17. Fetch Performance:

  18. "How well has the bot been performing?"
  19. "What are the performance metrics for my trades?"
  20. "Show me the trading stats."

  21. Fetch Whitelist:

  22. "Which pairs are on the whitelist?"
  23. "What trading pairs is the bot allowed to use?"
  24. "List the whitelisted pairs for me."

  25. Fetch Blacklist:

  26. "Which pairs are blacklisted?"
  27. "What trading pairs are blocked right now?"
  28. "Tell me about the blacklist."

  29. Fetch Trades:

  30. "What’s the history of my closed trades?"
  31. "Show me all the trades the bot has completed."
  32. "Can you list my past trades?"

  33. Fetch Config:

  34. "What’s the current bot configuration?"
  35. "Show me the settings the bot is using."
  36. "Tell me about the Freqtrade config."

  37. Fetch Locks:

    • "Are there any trade locks active?"
    • "What locks are currently in place?"
    • "Show me the list of trading locks."
  38. Place Trade:

    • "Buy 0.01 BTC/USDT right now."
    • "Sell 0.05 ETH/USDT immediately."
    • "Place a buy order for 0.1 XRP/USDT."
  39. Start Bot:

    • "Start the trading bot."
    • "Turn on the Freqtrade bot."
    • "Get the bot running now."
  40. Stop Bot:

    • "Stop the trading bot."
    • "Shut down the Freqtrade bot."
    • "Pause the bot’s trading."
  41. Reload Config:

    • "Reload the bot’s configuration."
    • "Update the bot settings."
    • "Refresh the Freqtrade config."
  42. Add Blacklist:

    • "Blacklist ETH/USDT."
    • "Add BTC/ETH to the blacklist."
    • "Block trading for XRP/USDT."
  43. Delete Blacklist:

    • "Remove ETH/USDT from the blacklist."
    • "Unblock BTC/ETH for trading."
    • "Take XRP/USDT off the blacklist."
  44. Delete Lock:

    • "Delete the trade lock with ID 123."
    • "Remove lock number 45."
    • "Unlock the trade with ID 7."

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

An MCP server that integrates with the Freqtrade cryptocurrency trading bot.

Resources

Activity

Report repository

Languages

Features & Capabilities

Categories
mcp_server model_context_protocol python cryptocurrency automated_trading api_integration freqtrade

Implementation Details

Stats

0 Views
1 GitHub Stars

Repository Info

kukapay Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300