Binance MCP Server
A Model Context Protocol (MCP) server for cryptocurrency trading on Binance and Base network interactions. This server provides tools for automated trading, market analysis, and blockchain operations.
Features
- Binance Trading Tools: Place orders, check balances, fetch market data, and calculate technical indicators.
- Base Network Integration: Monitor blockchain status and prepare for DeFi operations.
- Technical Analysis: Built-in RSI, MACD, Bollinger Bands, and moving averages.
- Secure API Handling: Environment variables for API keys.
Installation
-
Clone or navigate to the project directory.
-
Create a virtual environment:
python3 -m venv .venv -
Activate the virtual environment:
source .venv/bin/activate # On Windows: .venv\Scripts\activate -
Upgrade pip and install dependencies:
pip install --upgrade pip pip install -r requirements.txt
Environment Variables
Create a .env file in the root directory with your API credentials:
# Binance API Configuration
BINANCE_API_KEY=your_binance_api_key_here
BINANCE_SECRET_KEY=your_binance_secret_key_here
Security Note: Never commit the .env file to version control. It is already included in .gitignore.
Running the MCP Server
Start the server with Server-Sent Events (SSE) transport:
python mcp_server.py
The server will run on http://127.0.0.1:8080/sse by default.
Available Tools
The MCP server exposes the following tools for integration with AI agents:
Trading Tools
get_account_balance(asset="USDT"): Get balance for a specific asset.get_market_price(symbol="BTCUSDT"): Get current market price.fetch_chart_data(symbol="BTCUSDT", interval="1h", limit=100): Fetch historical OHLCV data.calculate_indicators(symbol="BTCUSDT", interval="1h", limit=100): Calculate technical indicators (RSI, MACD, Bollinger Bands, etc.).get_symbol_rules(symbol="BTCUSDT"): Get trading rules and precision requirements.adjust_leverage(symbol="BTCUSDT", leverage=5): Adjust leverage for futures trading.place_order(symbol="BTCUSDT", side="BUY", quantity=0.001): Place a market order.
Blockchain Tools
get_base_network_status(): Check Base network health (block number, gas price).
Utility Tools
read_bot_logs(lines=20, log_type="general"): Read bot logs for debugging.
Testing
Run the tests to verify functionality:
python -m pytest tests/
Or run a specific test:
python tests/test_mcp_registration.py
Configuration
Trading parameters can be adjusted in config.py:
TRADING_PAIRS: List of symbols to trade.MIN_ORDER_VALUE: Minimum order value in USDT.STOP_LOSS_PERCENTAGE: Stop loss percentage.TAKE_PROFIT_PERCENTAGE: Take profit percentage.POLLING_INTERVAL: Time between checks (in seconds).
Security Considerations
- Use testnet for initial testing.
- Implement proper risk management.
- Monitor API rate limits.
- Keep API keys secure and rotate regularly.
Contributing
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Add tests for new functionality.
- Submit a pull request.
License
This project is licensed under the MIT License.