Skip to main content

An MCPserver that integrates with the Freqtrade cryptocurrency trading bot via its REST API

Project description

Freqtrade-MCP

An MCP server that integrates with the Freqtrade cryptocurrency trading bot via its REST API, enabling seamless AI agent interaction for automated trading operation.

Discord GitHub License Python Version Status

Installation

Prerequisites

  • Python 3.13+: 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:

    git clone https://github.com/kukapay/freqtrade-mcp.git
    cd freqtrade-mcp
    
  2. Install Dependencies: Using pip:

    pip install freqtrade-client mcp[cli]
    

    Or with uv (optional):

    uv add freqtrade-client "mcp[cli]"
    
  3. Client Configuration:

    "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:

        "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:

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

    • "What’s the current status of my open trades?"
    • "Are there any active trades right now?"
    • "Tell me about the bot’s trading activity at the moment."
  3. Fetch Profit:

    • "How much profit have I made so far?"
    • "What’s the total profit summary for the bot?"
    • "Can you show me my trading gains?"
  4. Fetch Balance:

    • "What’s my account balance?"
    • "How much money do I have in the trading account?"
    • "Tell me the current balance of my Freqtrade wallet."
  5. Fetch Performance:

    • "How well has the bot been performing?"
    • "What are the performance metrics for my trades?"
    • "Show me the trading stats."
  6. Fetch Whitelist:

    • "Which pairs are on the whitelist?"
    • "What trading pairs is the bot allowed to use?"
    • "List the whitelisted pairs for me."
  7. Fetch Blacklist:

    • "Which pairs are blacklisted?"
    • "What trading pairs are blocked right now?"
    • "Tell me about the blacklist."
  8. Fetch Trades:

    • "What’s the history of my closed trades?"
    • "Show me all the trades the bot has completed."
    • "Can you list my past trades?"
  9. Fetch Config:

    • "What’s the current bot configuration?"
    • "Show me the settings the bot is using."
    • "Tell me about the Freqtrade config."
  10. Fetch Locks:

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

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

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

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

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

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

    • "Remove ETH/USDT from the blacklist."
    • "Unblock BTC/ETH for trading."
    • "Take XRP/USDT off the blacklist."
  17. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_freqtrade_mcp-0.1.2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_freqtrade_mcp-0.1.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_freqtrade_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: iflow_mcp_freqtrade_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_freqtrade_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 434c884f5d64d7daaafae19fd770abff776aa59ff9a1f9005ee7973e0c4a884c
MD5 f5b245c134c14251cd704b1aa5880929
BLAKE2b-256 5672393bb251991774c86865378a3995c659bf8132a17e267e335c1136c9102f

See more details on using hashes here.

File details

Details for the file iflow_mcp_freqtrade_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_freqtrade_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_freqtrade_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a09552dc896e419ded921fb8cc088eefaba395687f47797a114974c14019229a
MD5 4c4a130b4ef106416d84e5cc28707772
BLAKE2b-256 082f7aa7f37a1d04a6e973670b14e2f95ae54e03090a0d8b8013bba8ef807c2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page