MCP Bybit API Interface について
MCP Bybit API Interface は、Bybit V5 の市場、アカウント、取引操作を MCP ツールとして提供します。初期設定は読み取り専用で、取引操作には明示的な設定が必要です。注文検証やサイズ上限などの制御も備えています。
主な機能
- 01市場データとスナップショットの取得
- 02残高・ポジション・注文の照会
- 03注文の発注・変更・キャンセル
- 04テストネットと読み取り専用モードの設定
- 05注文検証とサイズ上限の適用
活用シーン
- 01Bybit の市場状況の確認
- 02アカウント残高とポジションの確認
- 03発注前の注文検証
- 04取引有効化後の注文管理
MCP 対応
Bybit V5 の市場データ、アカウント照会、注文管理機能を MCP ツールとして提供します。変更を伴うツールは初期状態で無効で、READONLY_MODE による一括ブロックも可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Bybit API インターフェース
Bybit MCP(Model Context Protocol)サーバーです。MCP ツールを使用して Bybit V5 API と連携するための便利なインターフェースを提供します。API 呼び出しをツールとして利用することで、市場データの取得、アカウント情報の管理、注文の発注・キャンセルができます。
⚠️ セキュリティと安全性
このサーバーは実際のお金を使った実際の取引を行えます。設定する前に、以下をお読みください。
- 取引はデフォルトで無効です。 変更を伴うツール(
place_order、cancel_order、amend_order、cancel_all_orders、set_trading_stop、set_margin_mode、set_leverage)は、TRADING_ENABLED=trueを明示的に設定しない限りエラーを返します。 - まずテストネットを使用してください。 試用中は
TESTNET=trueに設定してください。完全な読み取り専用の構成にするにはTRADING_ENABLED=falseと組み合わせるか、他の設定に関係なくすべての変更を伴うツールを強制的にブロックするにはREADONLY_MODE=trueに設定してください。 - 注文サイズには上限があります。
MAX_ORDER_SIZE_USDT(デフォルトは100)により、注文の推定想定元本額に上限を設け、誤って大きな取引を行うことを防ぎます。 - API キーがログに記録されたり、公開されたりすることはありません。 キーを返すツールはなく、ログにはキーが設定されているかどうかのみが記録されます。
- API キーをコミットしないでください。 API キーは環境変数からのみ指定してください。
インストール
Python 3.12 以降が必要です。このプロジェクトでは uv を使用します。
git clone https://github.com/dlwjdtn535/mcp-bybit-server.git
cd mcp-bybit-server
uv sync
uv run mcp-bybit-server # runs the MCP server over stdio
インストール後、mcp-bybit-server コマンドが、以下の MCP クライアント設定で使用するエントリーポイントになります。
Smithery 経由でのインストール
Smithery 経由で、この Bybit API インターフェースサーバーを Claude Desktop に自動でインストールするには、以下を実行します。
npx -y @smithery/cli install @dlwjdtn535/mcp-bybit-server --client claude
設定(Claude Desktop、Cline、Roo Code など)
以下のいずれかを MCP 設定ファイル(例:claude_desktop_config.json/mcp_settings.json)に追加します。
uv を使用する場合(クローンしたリポジトリから実行):
{
"mcpServers": {
"bybit": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/mcp-bybit-server",
"mcp-bybit-server"
],
"env": {
"ACCESS_KEY": "YOUR_BYBIT_API_KEY",
"SECRET_KEY": "YOUR_BYBIT_SECRET_KEY",
"TESTNET": "true",
"TRADING_ENABLED": "false"
}
}
}
}
Windows では、バックスラッシュを 2 つ使用した絶対パスを指定してください(例:C:\\Users\\YOUR_USERNAME\\mcp-bybit-server)。
Docker を使用する場合:
まずイメージを取得します:docker pull dlwjdtn535/mcp-bybit-server:latest
{
"mcpServers": {
"bybit-server-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e", "ACCESS_KEY=YOUR_BYBIT_API_KEY",
"-e", "SECRET_KEY=YOUR_BYBIT_SECRET_KEY",
"-e", "TESTNET=true",
"-e", "TRADING_ENABLED=false",
"-e", "MAX_ORDER_SIZE_USDT=100",
"dlwjdtn535/mcp-bybit-server:latest"
]
}
}
}
注:意図したバージョンを使用するため、NPX と Docker の両方で、必ず
@latestまたは特定のバージョンタグを指定してください。
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
ACCESS_KEY | はい | – | Bybit API キー。 |
SECRET_KEY | はい | – | Bybit API シークレット。 |
MEMBER_ID | いいえ | – | Bybit メンバー ID(任意)。 |
TESTNET | いいえ | false | true の場合、Bybit テストネットを使用します。 |
TRADING_ENABLED | いいえ | false | 変更を伴うツール/取引ツールを許可するには true にする必要があります。 |
READONLY_MODE | いいえ | false | true の場合、すべての変更を伴うツールをブロックします(TRADING_ENABLED より優先されます)。 |
MAX_ORDER_SIZE_USDT | いいえ | 100 | 1 件の注文の推定想定元本額(USDT)に上限を設定します。 |
RESPONSE_VERBOSITY | いいえ | normal | トークンを節約するため、minimal では get_tickers/get_positions の応答を主要なフィールドに絞ります。normal/full ではペイロード全体を返します。 |
ツール 🛠️
市場データ
get_orderbook— オーダーブック(category、symbol、limit?)。get_kline— ローソク足(category、symbol、interval、start?、end?、limit?)。get_tickers— ティッカー情報(category、symbol)。get_public_trade_history— 最近の公開取引(category、symbol、limit?)。get_instruments_info— 銘柄のメタデータ/制限(category、symbol、status?、baseCoin?)。get_funding_rate_history— 無期限契約の資金調達率履歴(category、symbol、startTime?、endTime?、limit?)。get_open_interest— 時系列の未決済建玉(category、symbol、intervalTime?、...)。get_fee_rate— メイカー/テイカー手数料率(category、symbol?、baseCoin?)。get_server_time— Bybit サーバー時刻。market_snapshot— 1 回の呼び出しで複合的な市場情報を取得します(オーダーブック+ティッカー+ローソク足+銘柄情報+最近の取引、および先物の資金調達率と未決済建玉)。
アカウント
get_wallet_balance— 残高(accountType、coin?)。get_positions— 保有中のポジション(category、symbol?)。get_order_history— 注文履歴。get_open_orders— 現在の未決済注文。get_api_key_information— API キーの詳細。
取引(変更を伴います — TRADING_ENABLED=true が必要です)
validate_order— 発注前の検証。注文は発注しません。取引フラグによる制限は受けません。place_order— 注文を発注します。dry_run=trueを指定すると、発注せずに検証できます。amend_order— 既存の注文をその場で変更します。cancel_order— 単一の注文をキャンセルします。cancel_all_orders— すべての未決済注文をキャンセルします(任意で対象を指定できます)。set_trading_stop— 利益確定/損切り/トレーリングストップを設定します。set_margin_mode— 分離マージン/クロスマージンを設定します。set_leverage— 先物銘柄のレバレッジを設定します。
(パラメーターの詳細な説明と使用例については、コード内の関数の docstring を参照してください。)
API キーの設定
この Bybit API インターフェースを使用するには、Bybit で API キーを作成してください。
- Bybit アカウントにログインします。
- API 管理に移動します。
- 新しい API キーを作成します。
- 重要なセキュリティ設定:
- 可能であれば IP 制限を有効にし、サーバーの実行元となる IP アドレスのみを追加してください。
- API キーを他者と共有したり、公開リポジトリで公開したりしないでください。
- 推奨される権限:
- 読み取り(必須)
- 取引(注文執行を有効にする場合のみ必須)
- ウォレット(残高の確認に必須)
開発
uv sync --group dev # install dev dependencies (pytest, ruff)
uv run ruff check . # lint
uv run pytest -q # run the unit test suite (no live API calls)
CI(GitHub Actions)はプッシュまたは PR ごとに lint とテストを実行します。Docker イメージは main へのプッシュ時に自動でビルドされ、公開されます。
スポンサーと寄付
このプロジェクトが役に立ち、開発を支援したいと思われた場合は、以下をご利用ください。
コーヒーをおごる
紹介プログラム
紹介リンクから Bybit に登録して、このプロジェクトを支援することもできます。
- 私の Bybit 紹介リンク
- 紹介コード:J1O4JK
皆さまのご支援により、このプロジェクトの保守と改善が可能になります。ありがとうございます! 🙏
お問い合わせとサポート
お問い合わせやサポートが必要な場合は、以下までご連絡ください。
ご質問やフィードバックをお待ちしています。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
