Freqtrade
About
Provides a bridge to Freqtrade's REST API for monitoring market data, managing trades, configuring bot behavior, and analyzing performance metrics in cryptocurrency trading
Details
- Author
- kukapay
- Repository
- kukapay/freqtrade-mcp
- GitHub stars
- 82
- Downloads
- 300
- License
- MIT License
- Categories
- Design, Developer Tools, AI, Infrastructure, Frontend, API, Other
- Tags
- #integration
Jump to
- 17 MCP tools provide access to most Freqtrade API endpoints.
- Fetch market data, profit, balance, performance, trades, and configuration.
- Place buy/sell trades and manage trade locks.
- Start, stop, and reload the bot remotely.
- Manage whitelist and blacklist of trading pairs.
- Simple setup with environment‑variable authentication.
- Works with Python 3.13+ and MCP clients (e.g., Claude Desktop).
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
FreqtradeCommand (node, npx, python, etc.)uvArguments-
Argument 1
--directory -
Argument 2
/your/path/to/freqtrade-mcp -
Argument 3
run -
Argument 4
__main__.py
Environment-
FREQTRADE_API_URL
http://127.0.0.1:8080 -
FREQTRADE_PASSWORD
your_password -
FREQTRADE_USERNAME
your_username
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, install dependencies (freqtrade-client and mcp[cli]), then configure your MCP client with the server’s path and environment variables (FREQTRADE_API_URL, FREQTRADE_USERNAME, FREQTRADE_PASSWORD). The Freqtrade instance must have its REST API enabled (set api_server.enabled = true in its configuration).
fetch_market_data
Fetch OHLCV data for a pair. Parameters: pair (string), timeframe (string)
fetch_bot_status
Get open trade status. Parameters: None
fetch_profit
Get profit summary. Parameters: None
fetch_balance
Get account balance. Parameters: None
fetch_performance
Get performance metrics. Parameters: None
fetch_whitelist
Get whitelist of pairs. Parameters: None
fetch_blacklist
Get blacklist of pairs. Parameters: None
fetch_trades
Get trade history. Parameters: None
fetch_config
Get bot configuration. Parameters: None
fetch_locks
Get trade locks. Parameters: None
place_trade
Place a buy/sell trade. Parameters: pair (string), side (string), stake_amount (float)
start_bot
Start the bot. Parameters: None
stop_bot
Stop the bot. Parameters: None
reload_config
Reload bot configuration. Parameters: None
add_blacklist
Add pair to blacklist. Parameters: pair (string)
delete_blacklist
Remove pair from blacklist. Parameters: pair (string)
delete_lock
Delete a trade lock. Parameters: lock_id (integer)
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 |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"freqtrade": {
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_PASSWORD": "your_password",
"FREQTRADE_USERNAME": "your_username"
},
"args": [
"--directory",
"/your/path/to/freqtrade-mcp",
"run",
"__main__.py"
],
"command": "uv"
}
}
}
Linux
{
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_PASSWORD": "your_password",
"FREQTRADE_USERNAME": "your_username"
},
"args": [
"--directory",
"/your/path/to/freqtrade-mcp",
"run",
"__main__.py"
],
"command": "uv"
}
Macos
{
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_PASSWORD": "your_password",
"FREQTRADE_USERNAME": "your_username"
},
"args": [
"--directory",
"/your/path/to/freqtrade-mcp",
"run",
"__main__.py"
],
"command": "uv"
}
Windows
{
"env": {
"FREQTRADE_API_URL": "http://127.0.0.1:8080",
"FREQTRADE_PASSWORD": "your_password",
"FREQTRADE_USERNAME": "your_username"
},
"args": [
"--directory",
"/your/path/to/freqtrade-mcp",
"run",
"__main__.py"
],
"command": "uv"
}
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.
For more crypto-related MCP servers, see the Kukapay MCP servers.
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




