MCP Bitget Trading Server

MCP Bitget Trading Server

Enables AI assistants to interact with Bitget cryptocurrency exchange for spot and futures trading. Supports real-time market data, order management, account balances, leverage control, and position tracking with demo trading capabilities.

Category
Visit Server

README

🚀 MCP Bitget Trading Server

MCP TypeScript Bitget API License

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

  1. Clone the repository
git clone https://github.com/gagarinyury/MCP-bitget-trading.git
cd MCP-bitget-trading
  1. Install dependencies
npm install
  1. Configure environment
cp .env.example .env
# Edit .env with your Bitget API credentials
  1. Build the project
npm run build
  1. 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

  1. Error 40009 - Sign signature error

    • Check API key configuration
    • Ensure timestamp is synchronized
  2. Error 40099 - Exchange environment incorrect

    • Verify demo/live mode settings
    • Check paptrading header for demo mode
  3. Error 400172 - Parameter verification failed

    • Check required parameters
    • Verify symbol format

🤝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

📄 License

MIT License - see LICENSE 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


Made with ❤️ for the crypto trading community

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured