Automated cryptocurrency trading on Binance and Base network integration.
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 .venvActivate the virtual environment:
source .venv/bin/activate # On Windows: .venv\Scripts\activateUpgrade 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.
Tools (9)
get_account_balanceGet balance for a specific asset.get_market_priceGet current market price.fetch_chart_dataFetch historical OHLCV data.calculate_indicatorsCalculate technical indicators (RSI, MACD, Bollinger Bands, etc.).get_symbol_rulesGet trading rules and precision requirements.adjust_leverageAdjust leverage for futures trading.place_orderPlace a market order.get_base_network_statusCheck Base network health (block number, gas price).read_bot_logsRead bot logs for debugging.Environment Variables
BINANCE_API_KEYrequiredYour Binance API keyBINANCE_SECRET_KEYrequiredYour Binance secret keyConfiguration
{"mcpServers": {"binance": {"command": "python", "args": ["/path/to/binance_mcp/mcp_server.py"], "env": {"BINANCE_API_KEY": "your_key", "BINANCE_SECRET_KEY": "your_secret"}}}}