mcp-server-cex-bn について
mcp-server-cex-bn は Binance の現物・先物取引を MCP クライアントに接続します。注文、残高、ポジション、レバレッジ、資金調達率を扱うツールを提供します。
主な機能
- 01現物の指値・成行注文の作成
- 02未約定注文の管理と取消
- 03残高と先物口座の確認
- 04高度な先物注文の作成
- 05レバレッジ設定とポジション確認
- 06先物の資金調達率の確認
活用シーン
- 01現物の成行または指値注文を出す
- 02残高と未約定注文を確認する
- 03先物のレバレッジとポジションを管理する
- 04先物取引前に資金調達率を確認する
MCP 対応
注文管理、口座・ポジション照会、レバレッジ設定、資金調達率の確認など、Binance の現物・先物取引ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-cex-bn
この MCP サーバーは、Binance の現物取引および先物取引の操作と包括的に連携します。
機能
現物取引の操作
- 現物取引の操作(LIMIT/MARKET 注文)を実行します
- アカウント残高を監視します
- 未約定注文を追跡、管理します
- 既存の注文をキャンセルします
先物取引の操作
- さまざまな種類の先物注文(LIMIT、MARKET、STOP、TAKE_PROFIT など)を作成します
- レバレッジ設定を管理します(1~125 倍)
- 先物ポジションとアカウント情報を監視します
- 資金調達率を追跡します
- ワンウェイモードとヘッジモードの両方のポジションに対応します
- トレーリングストップやリデュースオンリー注文など、高度な注文タイプに対応します
ツール
API 設定
configure_api_keys
Binance API の認証情報を安全に保存します:
await configureBinanceApiKeys({
apiKey: 'your-api-key',
apiSecret: 'your-api-secret'
});
現物取引ツール
create_spot_order
LIMIT 注文または MARKET 注文を作成します:
// 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
既存の注文をキャンセルします:
await cancelOrder({
symbol: 'BTCUSDT',
orderId: '12345678'
});
get_balances
アカウント残高を確認します:
const balances = await getBalances();
// Returns: { BTC: '0.1', USDT: '1000', ... }
get_open_orders
すべての未約定注文を一覧表示します:
const orders = await getOpenOrders({
symbol: 'BTCUSDT' // Optional: specify symbol
});
先物取引ツール
create_futures_order
さまざまな種類の先物注文を作成します:
// 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
取引ペアのレバレッジを調整します:
await setFuturesLeverage({
symbol: 'BTCUSDT',
leverage: 10 // 1-125x
});
get_futures_positions
すべての未決済の先物ポジションを取得します:
const positions = await getFuturesPositions();
get_futures_account
先物アカウントの詳細情報を取得します:
const account = await getFuturesAccount();
get_funding_rate
先物シンボルの資金調達率を取得します:
const fundingRate = await getFundingRate({
symbol: 'BTCUSDT'
});
cancel_futures_order
既存の先物注文をキャンセルします:
await cancelFuturesOrder({
symbol: 'BTCUSDT',
orderId: '12345678'
});
先物取引の詳細
ポジションモード
- ワンウェイモード:シンボルごとに単一のポジション
- デフォルトのモードで、ポジション管理が簡単です
- ポジションの合計サイズはすべての注文の合計です
- ヘッジモード:ロングポジションとショートポジションを個別に管理します
- ロングポジションとショートポジションを同時に保有できます
- 各ポジションには個別の必要証拠金があります
証拠金タイプ
- 分離マージン:ポジションごとに固定の証拠金を設定します
- リスクは割り当てた証拠金の範囲に限定されます
- 各ポジションで個別にレバレッジを設定できます
- クロスマージン:ポジション間で証拠金を共有します
- 資本効率が向上します
- すべてのポジションでリスクを共有します
資金調達率
無期限先物契約では、先物価格を現物価格に連動させるために資金調達率を使用します:
- プラスのレート:ロングがショートに支払います
- マイナスのレート:ショートがロングに支払います
- 支払いは 8 時間ごとに発生します
セキュリティに関する注意事項
現物取引のセキュリティ
- API キーをバージョン管理にコミットしないでください
- 環境変数または安全なキー保管方法を使用してください
- API キーの権限は必要な操作のみに制限してください
- API キーを定期的にローテーションしてください
先物取引のセキュリティ
- リスク許容度に応じて適切なレバレッジ上限を設定してください
- 損失の可能性を抑えるため、必ずストップロス注文を使用してください
- 清算価格を注意深く監視してください
- ポジションのリスクと証拠金維持率を定期的に確認してください
- リスク管理のためにリデュースオンリー注文の使用を検討してください
- リスクを共有するため、クロスマージンの使用には注意してください
レート制限
- Binance API のレート制限を遵守してください
- デフォルトのレート制限:
- 注文操作は 1 分あたり 1200 リクエスト
- 市場データは 1 秒あたり 100 リクエスト
- レート制限エラーに適切に対処するエラーハンドリングを実装してください
エラーハンドリング
よくあるエラー
- API 認証情報が無効です
- 残高または証拠金が不足しています
- 注文パラメーターが無効です
- レート制限を超過しました
- ネットワーク接続に問題があります
先物取引固有のエラー
- InsufficientMarginError:操作に必要な証拠金が不足しています
- InvalidPositionModeError:ポジションモードの設定が正しくありません
- OrderValidationError:先物注文のパラメーターが無効です
エラーハンドリングの例:
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');
}
}
プロジェクト構成
.
├── 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
開発
- 環境変数を設定します:
ルートディレクトリに .env ファイルを作成し、Binance API の認証情報を設定します:
BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_key_here
- 依存関係をインストールします:
pnpm install
サーバーをビルドします:
pnpm build
自動再ビルドを有効にして開発する場合:
pnpm watch
インストール
Smithery 経由でインストールする
Smithery 経由で Binance Trading Server を Claude Desktop に自動的にインストールするには:
npx -y @smithery/cli install mcp-server-cex-bn --client claude
手動でインストールする
- リポジトリをクローンします
- 依存関係をインストールします:
pnpm install
.envで Binance API の認証情報を設定します- サーバーをビルドして起動します:
pnpm build
pnpm start
デバッグ
MCP サーバーは stdio 経由で通信するため、デバッグは難しい場合があります。パッケージスクリプトとして利用できる MCP Inspector の使用をおすすめします:
pnpm inspector
Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。
mcp-server-bn
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。