bybit_mcp_server
The Bybit MCP Server connects Bybit's trading API with the Machine Cognition Protocol (MCP) to facilitate AI-assisted cryptocurrency trading. It offers tools for real-time market data, technical analysis, automated trading, and risk management.
Bybit MCP Server
A powerful server that connects Bybit's trading API with Machine Cognition Protocol (MCP) to enable AI-assisted cryptocurrency trading.
Overview
Bybit MCP Server is a bridge between Bybit's trading platform and AI systems using the Machine Cognition Protocol (MCP). It provides a set of powerful tools for market analysis, technical indicators calculation, and automated trading operations.
Features
- Real-time Market Data: Access current prices, market depth, and historical data
- Advanced Technical Analysis: Calculate indicators like RSI, MACD, ATR, and more
- Multi-timeframe Analysis: Analyze market trends across multiple timeframes
- Automated Trading: Place, modify, and cancel orders programmatically
- Risk Management: Position sizing recommendations based on volatility
- Support/Resistance Detection: Identify key price levels for better entry/exit points
- Docker Support: Easy deployment with Docker and docker-compose
Requirements
- Python 3.12+
- Bybit API credentials
- Valid internet connection
Installation
Local Installation with Virtualenv
-
Clone the repository:
git clone https://github.com/andrefigueira93/bybit-mcp-server.git cd bybit-mcp-server
-
Create and activate a virtual environment:
uv venv source .venv/bin/activate
-
Install dependencies:
uv pip install -e .
-
Create a
.env
file with your API credentials:BYBIT_API_KEY=your_api_key BYBIT_API_SECRET=your_api_secret BYBIT_TESTNET=True # Set to False for production
Using Docker
-
Clone the repository:
git clone https://github.com/andrefigueira93/bybit-mcp-server.git cd bybit-mcp-server
-
Create a
.env
file with your API credentials (as above) -
Build and run with Docker Compose:
docker-compose build docker-compose up -d
Usage
Starting the Server
To run the server locally:
mcp run main.py -t sse
The server will start on port 8000 by default. When using Docker, the service is exposed on port 80.
Available Tools
The server provides the following tools:
Tool Name | Description |
---|---|
get_balance | Gets the current wallet balance |
get_ticker | Retrieves current price, volume and other data for a symbol |
get_klines | Gets historical candlestick data for analysis |
analyze_market | Performs comprehensive technical analysis on a symbol |
analyze_multi_timeframe | Performs analysis across multiple timeframes |
place_order | Places buy/sell orders with optional take profit/stop loss |
cancel_order | Cancels an active order |
get_active_orders | Lists all active orders |
get_active_positions | Lists all open positions |
Example Usage with MCP
When connected to an MCP-compatible client:
# Example of using the MCP client to get a market analysis
analysis = mcp_client.call("analyze_market", symbol="BTCUSDT", intervalo="60")
print(analysis)
# Example of placing a market order
order = mcp_client.call("place_order",
symbol="BTCUSDT",
side="Buy",
order_type="Market",
qty=0.001,
stop_loss=25000)
print(order)
Project Structure
bybit-mcp-server/
├── main.py # Main server file with MCP tools
├── pyproject.toml # Project dependencies and metadata
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── .env # Environment variables (create this yourself)
└── README.md # This file
Environmental Variables
Variable | Description | Default |
---|---|---|
BYBIT_API_KEY | API key for Bybit | None (Required) |
BYBIT_API_SECRET | API secret for Bybit | None (Required) |
BYBIT_TESTNET | Whether to use testnet (True) or mainnet (False) | True |
Contributing
Contributions are welcome! If you'd like to improve the Bybit MCP Server, please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This software is for educational purposes only. Use at your own risk. Trading cryptocurrencies involves significant risk and you can lose money. Past performance is not indicative of future results.