Skip to main content
Glama

MCP Server for Binance Spot Trading

by kydlikebtc

mcp-server-cex-bn

This MCP Server provides comprehensive integration with Binance's spot and futures trading operations.

中文说明

Features

Spot Trading Operations

  • Execute spot trading operations (LIMIT/MARKET orders)

  • Monitor account balances

  • Track and manage open orders

  • Cancel existing orders

Futures Trading Operations

  • Create various types of futures orders (LIMIT, MARKET, STOP, TAKE_PROFIT, etc.)

  • Manage leverage settings (1-125x)

  • Monitor futures positions and account information

  • Track funding rates

  • Support for both one-way and hedge mode positions

  • Advanced order types including trailing stops and reduce-only orders

Tools

API Configuration

configure_api_keys

Securely store your Binance API credentials:

await configureBinanceApiKeys({ apiKey: 'your-api-key', apiSecret: 'your-api-secret' });

Spot Trading Tools

create_spot_order

Create LIMIT or MARKET orders:

// LIMIT order await createSpotOrder({ symbol: 'BTCUSDT', side: 'BUY', type: 'LIMIT', quantity: '0.001', price: '40000' }); // MARKET order await createSpotOrder({ symbol: 'BTCUSDT', side: 'BUY', type: 'MARKET', quantity: '0.001' });
cancel_order

Cancel an existing order:

await cancelOrder({ symbol: 'BTCUSDT', orderId: '12345678' });
get_balances

Check your account balances:

const balances = await getBalances(); // Returns: { BTC: '0.1', USDT: '1000', ... }
get_open_orders

List all open orders:

const orders = await getOpenOrders({ symbol: 'BTCUSDT' // Optional: specify symbol });

Futures Trading Tools

create_futures_order

Create various types of futures orders:

// LIMIT order await createFuturesOrder({ symbol: 'BTCUSDT', side: 'BUY', type: 'LIMIT', quantity: '0.001', price: '40000', timeInForce: 'GTC' }); // STOP MARKET order await createFuturesOrder({ symbol: 'BTCUSDT', side: 'SELL', type: 'STOP_MARKET', quantity: '0.001', stopPrice: '38000' }); // TRAILING STOP order await createFuturesOrder({ symbol: 'BTCUSDT', side: 'SELL', type: 'TRAILING_STOP_MARKET', quantity: '0.001', callbackRate: '1.0' // 1% callback rate });
set_futures_leverage

Adjust leverage for a trading pair:

await setFuturesLeverage({ symbol: 'BTCUSDT', leverage: 10 // 1-125x });
get_futures_positions

Get all open futures positions:

const positions = await getFuturesPositions();
get_futures_account

Get detailed futures account information:

const account = await getFuturesAccount();
get_funding_rate

Get funding rate for a futures symbol:

const fundingRate = await getFundingRate({ symbol: 'BTCUSDT' });
cancel_futures_order

Cancel an existing futures order:

await cancelFuturesOrder({ symbol: 'BTCUSDT', orderId: '12345678' });

Related MCP server: Binance MCP Server

Futures Trading Details

Position Modes

  • One-way Mode: Single position per symbol

    • Default mode, simpler position management

    • Total position size is the sum of all orders

  • Hedge Mode: Separate long and short positions

    • Allows holding both long and short positions simultaneously

    • Each position has independent margin requirements

Margin Types

  • Isolated Margin: Fixed margin per position

    • Risk is limited to the allocated margin

    • Each position has its own leverage setting

  • Cross Margin: Shared margin across positions

    • Higher capital efficiency

    • Shared risk across all positions

Funding Rate

Perpetual futures contracts use funding rates to keep futures prices aligned with spot prices:

  • Positive rate: Longs pay shorts

  • Negative rate: Shorts pay longs

  • Payments occur every 8 hours

Security Considerations

Spot Trading Security

  • Never commit API keys to version control

  • Use environment variables or secure key storage

  • Restrict API key permissions to only required operations

  • Regularly rotate your API keys

Futures Trading Security

  • Set appropriate leverage limits based on risk tolerance

  • Always use stop-loss orders to limit potential losses

  • Monitor liquidation prices carefully

  • Regularly check position risks and margin ratios

  • Consider using reduce-only orders for risk management

  • Be cautious with cross-margin due to shared risk

Rate Limits

  • Respect Binance API rate limits

  • Default rate limits:

    • 1200 requests per minute for order operations

    • 100 requests per second for market data

  • Implement proper error handling for rate limit errors

Error Handling

Common Error Scenarios

  • Invalid API credentials

  • Insufficient balance or margin

  • Invalid order parameters

  • Rate limit exceeded

  • Network connectivity issues

Futures-Specific Errors

  • InsufficientMarginError: Not enough margin for operation

  • InvalidPositionModeError: Wrong position mode setting

  • OrderValidationError: Invalid futures order parameters

Example error handling:

try { await createFuturesOrder({ symbol: 'BTCUSDT', side: 'BUY', type: 'LIMIT', quantity: '0.001', price: '40000', timeInForce: 'GTC' }); } catch (error) { if (error instanceof InsufficientMarginError) { console.error('Insufficient margin available'); } else if (error instanceof InvalidPositionModeError) { console.error('Invalid position mode'); } else if (error instanceof OrderValidationError) { console.error('Invalid order parameters'); } }

Project Structure

. ├── src/ │ ├── index.ts # Server entry point │ ├── services/ │ │ ├── binance.ts # Binance API integration │ │ ├── keystore.ts # API key management │ │ └── tools.ts # Trading tools implementation │ └── types/ │ ├── binance.ts # Binance types │ └── binance-connector.d.ts # API client types ├── README.md ├── README_CN.md ├── package.json ├── pnpm-lock.yaml └── tsconfig.json

Development

  1. Set up environment variables:

create .env file in the root directory, and set your Binance API credentials:

BINANCE_API_KEY=your_api_key_here BINANCE_API_SECRET=your_secret_key_here
  1. Install dependencies:

pnpm install

Build the server:

pnpm build

For development with auto-rebuild:

pnpm watch

Installation

Installing via Smithery

To install Binance Trading Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-server-cex-bn --client claude

Installing manually

  1. Clone the repository

  2. Install dependencies:

pnpm install
  1. Configure your Binance API credentials in .env

  2. Build and start the server:

pnpm build pnpm start

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

pnpm inspector

The Inspector will provide a URL to access debugging tools in your browser.

mcp-server-bn

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kydlikebtc/mcp-server-bn'

If you have feedback or need assistance with the MCP directory API, please join our Discord server