gagarinyury/MCP-bitget-trading
If you are the rightful owner of MCP-bitget-trading and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP Bitget Trading Server is a Model Context Protocol server designed for the Bitget cryptocurrency exchange, enabling AI assistants to interact with the Bitget API for spot and futures trading.
š MCP Bitget Trading Server
MCP (Model Context Protocol) server for Bitget cryptocurrency exchange. Enables AI assistants to interact with Bitget API for spot & futures trading. Features real-time market data, order management, account balances, leverage control, and position tracking. Supports demo trading with paper trading mode.
⨠Features
š Market Data
- Real-time Prices - Get current market prices for any trading pair
- Full Tickers - Complete ticker information with 24h statistics
- Order Book - Market depth data with configurable depth levels
- Historical Candles - OHLCV data for technical analysis
š° Account Management
- Balance Information - Real-time account balances for all assets
- Position Tracking - Monitor current futures positions
- Margin Information - Futures margin account details
- Order Management - View and manage open orders
šÆ Trading Operations
- Place Orders - Execute market and limit orders
- Cancel Orders - Cancel existing orders by ID
- Leverage Control - Set leverage for futures positions (1-125x)
- Demo Trading - Full support for paper trading mode
ā” Technical Features
- TypeScript - Fully typed implementation
- v2 API Support - Latest Bitget API integration
- Rate Limiting - Built-in protection against API limits
- Error Handling - Comprehensive error management
- Zod Validation - Input validation for all parameters
š ļø Installation
Prerequisites
- Node.js 18+
- npm or yarn
- Bitget API credentials (for live/demo trading)
Quick Start
- Clone the repository
git clone https://github.com/gagarinyury/MCP-bitget-trading.git
cd MCP-bitget-trading
- Install dependencies
npm install
- Configure environment
cp .env.example .env
# Edit .env with your Bitget API credentials
- Build the project
npm run build
- Start the server
npm start
š§ Configuration
Environment Variables
Create a .env
file in the root directory:
# Bitget API Configuration
BITGET_API_KEY=your_api_key_here
BITGET_SECRET_KEY=your_secret_key_here
BITGET_PASSPHRASE=your_passphrase_here
# Environment settings
BITGET_SANDBOX=true # Set to true for demo trading
BITGET_BASE_URL=https://api.bitget.com
BITGET_WS_URL=wss://wspap.bitget.com/v2/ws/public
# Optional settings
LOG_LEVEL=info
RATE_LIMIT_REQUESTS_PER_SECOND=10
Claude Desktop Integration
Add to your Claude Desktop MCP settings (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"bitget-trading": {
"command": "node",
"args": ["/path/to/MCP-bitget-trading/dist/server.js"],
"env": {
"BITGET_API_KEY": "your_key",
"BITGET_SECRET_KEY": "your_secret",
"BITGET_PASSPHRASE": "your_passphrase",
"BITGET_SANDBOX": "true"
}
}
}
}
š Available Tools
Market Data Tools
Tool | Description | Parameters |
---|---|---|
getPrice | Get current price | symbol: string |
getTicker | Get full ticker info | symbol: string |
getOrderBook | Get order book | symbol: string, depth?: number |
getCandles | Get OHLCV data | symbol: string, interval: string, limit?: number |
Account Tools
Tool | Description | Parameters |
---|---|---|
getBalance | Get account balance | asset?: string |
getPositions | Get futures positions | symbol?: string |
getMarginInfo | Get margin info | symbol?: string |
getOrders | Get open orders | symbol?: string, status?: string |
Trading Tools
Tool | Description | Parameters |
---|---|---|
placeOrder | Place new order | symbol, side, type, quantity, price? |
cancelOrder | Cancel order | orderId: string, symbol: string |
setLeverage | Set leverage | symbol: string, leverage: number |
š® Usage Examples
Basic Price Check
// Get current Bitcoin price
await getPrice({ symbol: "BTCUSDT" })
// Get futures price
await getPrice({ symbol: "BTCUSDT_UMCBL" })
Trading Operations
// Place a limit buy order
await placeOrder({
symbol: "BTCUSDT",
side: "buy",
type: "limit",
quantity: "0.001",
price: "50000"
})
// Set leverage for futures
await setLeverage({
symbol: "BTCUSDT_UMCBL",
leverage: 10
})
Account Information
// Check balance
await getBalance({ asset: "USDT" })
// Get all positions
await getPositions({})
šļø Development
Scripts
npm run dev # Development with hot reload
npm run build # Production build
npm run test # Run tests
npm run lint # Lint code
npm run format # Format code
Project Structure
src/
āāā api/
ā āāā rest-client.ts # Bitget REST API client
āāā types/
ā āāā bitget.ts # Bitget API types
ā āāā mcp.ts # MCP schema definitions
āāā server.ts # Main MCP server
š Symbol Formats
Spot Trading
- Format:
BTCUSDT
,ETHUSDT
,ADAUSDT
- No suffix required
Futures Trading
- Format:
BTCUSDT_UMCBL
,ETHUSDT_UMCBL
_UMCBL
suffix for USDT-margined contracts
š Security
- API Keys: Store in environment variables, never commit to code
- Demo Mode: Use
BITGET_SANDBOX=true
for paper trading - Rate Limiting: Built-in protection (10 requests/second default)
- Validation: All inputs validated with Zod schemas
š Troubleshooting
Common Issues
-
Error 40009 - Sign signature error
- Check API key configuration
- Ensure timestamp is synchronized
-
Error 40099 - Exchange environment incorrect
- Verify demo/live mode settings
- Check
paptrading
header for demo mode
-
Error 400172 - Parameter verification failed
- Check required parameters
- Verify symbol format
š¤ Contributing
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open Pull Request
š License
MIT License - see file for details
ā ļø Disclaimer
This software is for educational and development purposes. Use at your own risk. Always test in demo mode before live trading. The authors are not responsible for any financial losses.
š Resources
š Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ā¤ļø for the crypto trading community