binance-futures-mcp
Comprehensive Binance Futures trading MCP server with 41 professional trading tools across account management, order execution, market data, and risk management. Features smart ticker caching, secure authentication, and Docker support for seamless integration with MCP clients.
README
Binance MCP Server
A Model Context Protocol (MCP) server that provides comprehensive access to Binance Futures API endpoints. This server implements all major trading, account management, and market data functionality as documented in the Binance Futures API.
📋 Table of Contents
- 🚀 Quick Start
- ✨ Features
- 📦 Installation
- ⚙️ Configuration
- 🛠️ Available Tools
- 💡 Example Usage
- 🔒 Security
- 📚 API Reference
- 🔧 Development
- ❗ Error Codes
- 🤝 Contributing
- 📄 License
- ⚠️ Disclaimer
- 💬 Support
🚀 Quick Start
-
Install the package:
pip install binance_futures_mcp -
Run the server:
uvx binance_futures_mcp --binance-api-key "your_key" --binance-secret-key "your_secret" -
Configure in your MCP client (see Configuration section for detailed setup)
✨ Features
- 41 comprehensive trading tools across 8 categories
- Smart ticker data caching with 5-minute refresh cycle
- Proper authentication handling (rejects unauthenticated requests)
- Active symbol filtering (excludes delisted tokens)
- Error handling and graceful degradation
- Real-time market data access
- Complete order management suite
- Risk management tools
📦 Installation
Option 1: PyPI Installation (Recommended)
Install the package from PyPI:
pip install binance_futures_mcp
Option 2: Docker Deployment
For containerized deployment:
# Clone the repository
git clone https://github.com/alexcandrabersiva/bin-mcp.git
cd binance-mcp-server
# Build the Docker image
docker build -t binance-mcp-server .
# Run with environment variables
docker run -e BINANCE_API_KEY="your_api_key" -e BINANCE_SECRET_KEY="your_secret_key" \
binance-mcp-server --binance-api-key "$BINANCE_API_KEY" --binance-secret-key "$BINANCE_SECRET_KEY"
Docker Compose (Optional)
Create a docker-compose.yml:
version: '3.8'
services:
binance-mcp:
build: .
environment:
- BINANCE_API_KEY=${BINANCE_API_KEY}
- BINANCE_SECRET_KEY=${BINANCE_SECRET_KEY}
command: [
"--binance-api-key", "${BINANCE_API_KEY}",
"--binance-secret-key", "${BINANCE_SECRET_KEY}"
]
Then run:
docker-compose up
Development Installation
For development, you can install from source:
git clone https://github.com/bin-mcp/binance-mcp-server.git
cd binance-mcp-server
pip install -e ".[dev]"
⚙️ Configuration
API Requirements
Your Binance API key needs the following permissions:
- Futures Trading: For order placement and management
- Futures Reading: For account and market data access
MCP Client Setup
This server can be integrated with various MCP clients. Here are configuration examples:
VS Code
Add to your VS Code settings.json:
{
"mcp": {
"servers": {
"binance": {
"command": "uvx",
"args": ["--from", "binance_futures_mcp", "binance-mcp-server.exe", "--binance-api-key", "your_api_key", "--binance-secret-key", "your_secret_key"]
}
}
}
}
Cursor
Add to your Cursor configuration file (.cursor/mcp.json):
{
"servers": {
"binance": {
"command": "uvx",
"args": ["--from", "binance_futures_mcp", "binance-mcp-server.exe", "--binance-api-key", "your_api_key", "--binance-secret-key", "your_secret_key"]
}
}
}
Windsurf
Add to your Windsurf configuration (.windsurf/mcp.json):
{
"mcpServers": {
"binance": {
"command": "uvx",
"args": ["--from", "binance_futures_mcp", "binance-mcp-server.exe", "--binance-api-key", "your_api_key", "--binance-secret-key", "your_secret_key"]
}
}
}
Claude Desktop
Add to your Claude Desktop configuration file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"binance": {
"command": "uvx",
"args": ["--from", "binance_futures_mcp", "binance-mcp-server.exe", "--binance-api-key", "your_api_key", "--binance-secret-key", "your_secret_key"]
}
}
}
Configuration Notes
- No path needed: With PyPI installation, you don't need to specify paths or working directories
- Set API credentials: Replace
your_api_keyandyour_secret_keywith your actual Binance API credentials - Alternative commands: You can also use
uvx binance_futures_mcporpython -m binance_mcp - Security: For production use, consider storing credentials in environment variables
🛠️ Available Tools
The server provides 41 comprehensive tools organized into the following categories:
Account Information
(5 tools)
get_account_info- Get account informationget_balance- Get account balanceget_position_info- Get position informationget_position_mode- Get position mode (hedge/one-way)get_commission_rate- Get commission rates
Risk Management
(4 tools)
get_adl_quantile- Get ADL quantile estimationget_leverage_brackets- Get leverage bracketsget_force_orders- Get liquidation ordersget_position_margin_history- Get margin change history
Order Management
(6 tools)
place_order- Place a futures orderplace_multiple_orders- Place multiple orders in batchcancel_order- Cancel an active ordercancel_multiple_orders- Cancel multiple orderscancel_all_orders- Cancel all open orders for a symbolauto_cancel_all_orders- Set a timer to cancel all orders
Order Query
(4 tools)
get_open_order- Query current open order by order idget_open_orders- Get all open orders for a symbolget_all_orders- Get all orders (open, filled, cancelled)query_order- Query a specific order's status
Position Management
(4 tools)
close_position- Close a position (market order)modify_order- Modify an existing orderadd_tp_sl_to_position- Add TP/SL to positionplace_bracket_order- Place an order with TP/SL
Trading Configuration
(4 tools)
change_leverage- Change leverage for a symbolchange_margin_type- Change margin type (isolated/cross)change_position_mode- Switch between hedge and one-way modesmodify_position_margin- Modify position margin
Market Data
(12 tools)
get_exchange_info- Get exchange trading rulesget_book_ticker- Get best price/qty on the order bookget_price_ticker- Get latest price for a symbolget_24hr_ticker- Get 24hr price change statisticsget_top_gainers_losers- Get top gainers and losersget_market_overview- Get overall market statisticsget_order_book- Get order book depthget_klines- Get candlestick dataget_mark_price- Get mark price and funding rateget_aggregate_trades- Get compressed/aggregate trades listget_funding_rate_history- Get funding rate historyget_taker_buy_sell_volume- Get taker buy/sell volume ratio
Trading History
(2 tools)
get_account_trades- Get account trade historyget_income_history- Get income history
💡 Example Usage
Place a Market Order
{
"tool": "place_order",
"arguments": {
"symbol": "BTCUSDT",
"side": "BUY",
"order_type": "MARKET",
"quantity": 0.001
}
}
Place a Limit Order
{
"tool": "place_order",
"arguments": {
"symbol": "BTCUSDT",
"side": "BUY",
"order_type": "LIMIT",
"quantity": 0.001,
"price": 50000.0,
"time_in_force": "GTC"
}
}
Get Account Information
{
"tool": "get_account_info",
"arguments": {}
}
Get Market Data
{
"tool": "get_klines",
"arguments": {
"symbol": "BTCUSDT",
"interval": "1h",
"limit": 100
}
}
Get 24hr Price Statistics
{
"tool": "get_24hr_ticker",
"arguments": {
"symbol": "BTCUSDT"
}
}
Get Taker Buy/Sell Volume Ratio
{
"tool": "get_taker_buy_sell_volume",
"arguments": {
"symbol": "BTCUSDT"
}
}
🔒 Security
API Key Security
🔐 Your Binance API key and secret remain completely local to your computer. The MCP server runs entirely on your machine; neither the package author nor any third-party remote service can access your credentials.
Key Security Points:
- ✅ Store credentials in environment variables (recommended) or local config files
- ✅ Keys are never transmitted unless you publish them
- ❌ Never commit credentials to version control
- ❌ Never share screenshots/logs containing credentials
- ✅ Use API keys with minimal required permissions
- ✅ IP-whitelist your keys when possible
- ✅ Consider using Binance Testnet for development
How It Works:
-
Local Launch: Your editor/terminal launches the MCP server locally:
uvx binance_futures_mcp --binance-api-key $BINANCE_API_KEY --binance-secret-key $BINANCE_SECRET_KEY -
Keys Stay Local: Your credentials exist only:
- In your environment variables or local config file
- On your computer's command line/process table
- In MCP process memory during HTTPS calls to Binance
-
No Telemetry: The package contains zero telemetry or analytics code
Rate Limiting & Error Handling
- ⚡ Respects Binance's weight-based rate limits
- 🔄 Automatic order placement rate limiting
- 🔐 Automatic HMAC SHA256 signature generation
- 🛡️ Comprehensive error handling with clear messages
- ✅ Parameter validation before API calls
📚 API Reference
This server implements all endpoints documented in the Binance Futures API:
- Base URL:
https://fapi.binance.com - API Type: Binance USD-S Margined Futures
- Authentication: API Key + HMAC SHA256 Signature
- Rate Limits: Respected automatically
For detailed parameter specifications, see the Binance Futures API Documentation.
🔧 Development
Project Structure
binance-mcp-server/
├── src/
│ └── binance_mcp/
│ ├── __init__.py # Package initialization
│ ├── __main__.py # CLI entry point
│ ├── server.py # Main MCP server implementation
│ ├── client.py # Binance API client
│ ├── handlers.py # Tool execution handlers
│ ├── tools.py # Tool definitions (41 trading tools)
│ ├── cache.py # Smart ticker data caching
│ └── config.py # Configuration management
├── Dockerfile # Docker containerization
├── .dockerignore # Docker build optimization
├── pyproject.toml # Project configuration
├── mcp-config.json # MCP client configuration example
└── README.md # Documentation
Architecture Overview
- Modular Design: Separated concerns across multiple components
- Smart Caching: 5-minute ticker cache with background refresh
- Authentication: Secure API key handling with environment variables
- Error Handling: Graceful degradation and comprehensive error management
- Active Symbol Filtering: Excludes delisted tokens automatically
Running Tests
pytest
Code Formatting
black src/
ruff check src/
❗ Error Codes
Common Binance API error codes you might encounter:
| Code | Description |
|---|---|
-1121 |
Invalid symbol |
-2019 |
Margin is insufficient |
-1116 |
Invalid orderType |
-1013 |
Filter failure (PRICE_FILTER, LOT_SIZE, etc.) |
-1102 |
Mandatory parameter was not sent |
-1003 |
Too many requests (rate limit exceeded) |
For a complete list, see the Binance API Error Codes.
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
⚠️ Disclaimer
⚠️ IMPORTANT: This software is for educational and development purposes. Trading cryptocurrencies involves substantial risk. Use at your own risk and never trade with money you cannot afford to lose.
💬 Support
For issues and questions:
- Check the Binance API Documentation
- Review the error codes in the API documentation
- Ensure your API credentials have the correct permissions
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.