Webull OpenAPI について
Webull OpenAPIは、AIアシスタントからWebullの市場データと取引機能にアクセスするMCPサーバーです。複数地域と資産種別に対応し、注文上限、銘柄許可リスト、監査ログを設定できます。
主な機能
- 01株式など複数資産の市場データ
- 02スクリーナー、ウォッチリスト、企業情報
- 03取引注文の発注と管理
- 04地域別の口座・注文処理
- 05注文上限、銘柄許可リスト、監査ログ
活用シーン
- 01気配値、バー、市場スナップショットの取得
- 02スクリーナーの確認とウォッチリスト管理
- 03企業情報や財務諸表の参照
- 04設定した制御のもとで注文を発注・管理
MCP 対応
Webullの市場データ、銘柄、口座、取引機能をツールとしてMCPクライアントに提供します。WEBULL_TOOLSETSで有効にするツールカテゴリを指定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Webull OpenAPI MCP サーバー
Webull OpenAPI 用の MCP サーバーです。AI アシスタント(Cursor、Claude Desktop、Kiro など)が、Webull の取引データや市場データに安全にアクセスできるようにします。
⚠️ 免責事項
このツールが提供する情報は参考目的のみであり、投資助言を構成するものではありません。取引にはリスクが伴います。慎重に判断してください。
免責事項の全文は、DISCLAIMER.md をご覧ください。
機能
- 複数地域への対応 — 米国、香港、日本、シンガポール、マレーシア、英国、メキシコ、ブラジル、南アフリカに対応し、地域固有の注文タイプ、取引時間、検証機能を提供します
- 市場データ — 株式、オプション、先物、暗号資産、イベント契約のリアルタイムスナップショット、ティックデータ、気配値(板情報)、フットプリント、OHLCV バー
- NOII データ — 米国株の寄り付き・引けオークションの純注文不均衡指標バーとスナップショット
- スクリーナー — 値上がり率上位・値下がり率上位、売買高上位、市場セクター、高配当、52 週高値・安値のランキング
- ウォッチリスト — ユーザーのウォッチリストや金融商品を作成、管理、照会できます
- コミュニティ(米国のみ) — 投稿やコメントの作成、人気銘柄の一覧表示、銘柄別の投稿の閲覧、投稿の詳細表示、自分の投稿の一覧表示
- ファンダメンタルデータ — 企業プロフィール、アナリスト評価、目標株価
- 株式・ファンドのファンダメンタルデータ — 資金フロー、SEC 提出書類、決算・配当カレンダー、予想 EPS、業界比較、ファンドの全データ(評価、パフォーマンス、資産配分、保有銘柄、概要、配当、株式分割、純資産価値、ファイル)
- 財務諸表 — 財務アラート、指標、損益計算書、貸借対照表、キャッシュフロー
- 取引 — 株式、オプション、先物、暗号資産、イベント契約の注文の発注、変更、キャンセル
- コンボ注文 — OTO、OCO、OTOCO のコンボ注文(米国のみ)
- オプション戦略 — バーティカル、ストラドル、ストラングル、バタフライ、コンドルなどのマルチレッグ・オプション戦略(米国のみ)
- アルゴリズム注文 — TWAP、VWAP、POV のアルゴリズム注文(米国のみ)
- リスク管理 — 市場別の想定元本上限(USD/HKD/CNH/JPY)、数量上限、銘柄ホワイトリスト
- 口座の自動選択 — 資産タイプ(株式、先物、暗号資産、イベント)に応じて適切な口座を自動選択します
- 監査ログ — コンプライアンス対応のため、すべての注文操作を記録します
- 2FA 対応 — 二要素認証が有効な口座向けの対話型認証フロー
プロンプトの例
AI アシスタントで使えるプロンプトをいくつか紹介します。
市場データ
- AAPL の過去 5 日間の日次バーを表示してください
- AAPL、MSFT、GOOGL のリアルタイムスナップショットを取得してください
- TSLA の現在の買値/売値はいくらですか?
- NVDA の 1 分足のティックデータを表示してください
- 寄り付き前の AAPL の NOII データを表示してください
スクリーナー
- 今日の値上がり率上位銘柄を教えてください
- プレマーケットでの値下がり率上位銘柄を表示してください
- 現在、最も活発に取引されている銘柄を教えてください
- 市場のセクター概要を表示してください
- 高配当株を一覧表示してください
- 52 週高値を更新している銘柄はどれですか?
ウォッチリスト
- すべてのウォッチリストを表示してください
- 「Tech Stocks」という名前の新しいウォッチリストを作成してください
- AAPL と MSFT をウォッチリストに追加してください
- ウォッチリストにはどの銘柄が登録されていますか?
コミュニティ
- 現在、コミュニティで話題の銘柄を教えてください
- NVDA に関する最近のコミュニティ投稿を表示してください
- 「Great earnings report!」という投稿を AAPL のタグ付きで投稿してください
- 自分のコミュニティ投稿を一覧表示してください
ファンダメンタルズとアナリスト
- NVDA の企業プロフィールを教えてください
- アナリストは AAPL をどう評価していますか?
- TSLA のアナリスト目標株価はいくらですか?
- AAPL の資金フローを表示してください
- TSLA の決算カレンダーを取得してください
- NVDA の業界比較を表示してください
- QQQ の上位保有銘柄とファンドのパフォーマンスを教えてください
財務諸表
- AAPL の最新の損益計算書を表示してください
- TSLA の過去 4 四半期分の貸借対照表を取得してください
- NVDA のキャッシュフロー計算書を教えてください
- MSFT の財務指標を表示してください
アカウントとポートフォリオ
- アカウント残高と買付余力はいくらですか?
- 現在の保有ポジションをすべて表示してください
- リンク済みのアカウントをすべて一覧表示してください
株式取引
- AAPL を 100 株、250 ドルで買う指値注文を出してください
- TSLA を 50 株売る成行注文を出してください
- MSFT を 200 株、450 ドルで買う指値注文を出す前に、注文内容をプレビューしてください
オプション取引
- AAPL のコールオプションを 1 枚買ってください。権利行使価格は 250 ドル、満期日は 2026-04-17、指値は 5.00 ドルです
- TSLA のプットオプションを 1 枚買ってください。権利行使価格は 200 ドル、満期日は 2026-05-15 です
オプション市場データ
- AAPL260522C00300000 のスナップショットを取得してください
- TSLA251219C00450000 のティックデータを表示してください
- AAPL260522C00300000 の日次バーを取得してください
- 2026-06-01 より後に満期を迎える AAPL のオプション契約を一覧表示してください
注文管理
- 過去 7 日間の注文履歴を表示してください
- 現在有効な注文を教えてください
- ID が abc123 の注文をキャンセルしてください
香港市場
- Tencent(00700)を 100 株、500 HKD で買う拡張指値注文を出してください
- 00700 を 200 株、510 HKD で買う競売指値注文を出してください
前提条件
- Webull 開発者アカウント — 以下で登録してください:
- 米国: developer.webull.com
- 香港: developer.webull.hk
- 日本: developer.webull.co.jp
- シンガポール: developer.webull.com.sg
- マレーシア: developer.webull.com.my
- 英国: developer.webull-uk.com
- 南アフリカ: developer.webull.co.za
- メキシコ: developer.webull.com.mx
- ブラジル: developer.webull.com.br
- API 認証情報 —
App KeyとApp Secretを取得してください - マーケットデータ購読 — マーケットデータにアクセスするにはクォートを購読してください:
- 米国: webullapp.com/quote | ガイド
- 香港: webullapp.hk/quote | ガイド
- 日本: webull.co.jp/pricing | ガイド
- シンガポール: webull.com.sg/quote | ガイド
- マレーシア: webull.com.my/quote | ガイド
- 英国: webull-uk.com/quote | ガイド
- 南アフリカ: webullapp.co.za/quote | ガイド
- メキシコ: webull.com.mx/quote | ガイド
- ブラジル: webull.com.br/quote | ガイド
- Python 3.10+
- uv(推奨) — インストールガイド
クイックスタート
ステップ 1: 認証情報の設定
サーバーを実行する前に、API 認証情報を設定する必要があります。次のいずれかの方法を選択してください:
オプション A: MCP クライアント設定(本番環境に推奨)
MCP クライアント設定(Kiro、Cursor、Claude Desktop など)の env フィールドで認証情報を追加します:
{
"mcpServers": {
"webull": {
"command": "uvx",
"args": ["webull-openapi-mcp", "serve"],
"env": {
"WEBULL_APP_KEY": "your_app_key",
"WEBULL_APP_SECRET": "your_app_secret",
"WEBULL_REGION_ID": "us",
"WEBULL_ENVIRONMENT": "prod"
}
}
}
}
オプション B: .env ファイル
# Create a .env file interactively:
uvx webull-openapi-mcp init
# Or manually create .env with:
# WEBULL_APP_KEY=your_app_key
# WEBULL_APP_SECRET=your_app_secret
ステップ 2: 認証(2FA)
アカウントで二要素認証が必要な場合は、認証コマンドを実行し、Webull モバイルアプリで承認してください:
uvx webull-openapi-mcp auth
トークンは 15 日間有効で、自動的に更新されます。この操作は一度だけ(またはトークンの有効期限が切れたときに)行う必要があります。
ステップ 3: サーバーの起動
uvx webull-openapi-mcp serve
これで完了です。AI アシスタントが Webull の取引とマーケットデータにアクセスできるようになりました。
インストールオプション
オプション 1: uvx(推奨)
インストールは不要です。uvx が PyPI からパッケージを直接ダウンロードして実行します:
uvx webull-openapi-mcp serve
オプション 2: pip
pip install webull-openapi-mcp
webull-openapi-mcp serve
オプション 3: ローカル開発
git clone https://github.com/webull-inc/webull-openapi-mcp.git
cd webull-openapi-mcp
uv sync
uv run python -m webull_openapi_mcp serve
クライアント設定
Kiro / Cursor / Claude Desktop / Claude Code
MCP 設定に追加します:
環境変数を使用する場合:
{
"mcpServers": {
"webull": {
"command": "uvx",
"args": ["webull-openapi-mcp", "serve"],
"env": {
"WEBULL_APP_KEY": "your_app_key",
"WEBULL_APP_SECRET": "your_app_secret",
"WEBULL_REGION_ID": "us",
"WEBULL_ENVIRONMENT": "prod"
}
}
}
}
.env ファイルを使用する場合(ローカル開発):
{
"mcpServers": {
"webull": {
"command": "uv",
"args": [
"run", "--directory", "/path/to/webull-openapi-mcp",
"python", "-m", "webull_openapi_mcp", "serve",
"--env-file", "/path/to/.env"
]
}
}
}
設定
| 変数 | 説明 | デフォルト |
|---|---|---|
WEBULL_APP_KEY | App Key (必須) | — |
WEBULL_APP_SECRET | App Secret (必須) | — |
WEBULL_ENVIRONMENT | uat (サンドボックス) または prod | uat |
WEBULL_REGION_ID | us、hk、jp、sg、my、uk、mx、br、または za | us |
WEBULL_TOOLSETS | 有効にするツールカテゴリ (カンマ区切り)。有効な値: account、market-data、trading、instrument | (すべて有効) |
WEBULL_MAX_ORDER_NOTIONAL_USD | 米国市場の最大注文金額 (USD) | 10000 |
WEBULL_MAX_ORDER_NOTIONAL_HKD | 香港市場の最大注文金額 (HKD) | 80000 |
WEBULL_MAX_ORDER_NOTIONAL_CNH | 中国市場の最大注文金額 (CNH) | 70000 |
WEBULL_MAX_ORDER_NOTIONAL_JPY | 日本市場の最大注文金額 (JPY) | 1500000 |
WEBULL_MAX_ORDER_QUANTITY | 最大注文数量 | 1000 |
WEBULL_SYMBOL_WHITELIST | 許可するシンボル (カンマ区切り) | (制限なし) |
WEBULL_TOKEN_DIR | トークン保存ディレクトリ | ./conf/ |
WEBULL_AUDIT_LOG_FILE | 監査ログファイルのパス | stderr のみ |
WEBULL_LOG_LEVEL | SDK のログレベル | WARNING |
Note:
WEBULL_REGION_ID=usは Webull US (developer.webull.com) を表し、WEBULL_REGION_ID=hkは Webull Hong Kong (developer.webull.hk)、WEBULL_REGION_ID=jpは Webull Japan (developer.webull.co.jp)、WEBULL_REGION_ID=sgは Webull Singapore (developer.webull.com.sg)、WEBULL_REGION_ID=myは Webull Malaysia (developer.webull.com.my)、WEBULL_REGION_ID=ukは Webull UK (developer.webull-uk.com)、WEBULL_REGION_ID=mxは Webull Mexico (developer.webull.com.mx)、WEBULL_REGION_ID=brは Webull Brazil (developer.webull.com.br)、そしてWEBULL_REGION_ID=zaは Webull South Africa (developer.webull.co.za) を表します。
完全な設定テンプレートについては .env.example を参照してください。
利用可能なツール
Market Data
| Category | Tools | Region |
|---|---|---|
| Stock | get_stock_tick, get_stock_snapshot, get_stock_quotes, get_stock_footprint, get_stock_bars, get_stock_bars_single, get_stock_noii_bars, get_stock_noii_snapshot | All |
| Futures | get_futures_tick, get_futures_snapshot, get_futures_depth, get_futures_bars, get_futures_footprint | US, HK |
| Crypto | get_crypto_snapshot, get_crypto_bars | US |
| Option | get_option_tick, get_option_snapshot, get_option_bars | US, HK, JP |
| Event | get_event_tick, get_event_snapshot, get_event_depth, get_event_bars | US |
| Market Insights | get_market_sentiment, get_stock_unusual_activities, get_institution_identifier, get_institution_holdings, get_institution_holding_changes, get_insider_transactions, get_insider_holdings, get_macroeconomic_calendar | US |
| News | search_news, get_news_detail, get_stock_news | US |
| Screener | get_gainers_losers, get_most_active, get_market_sectors, get_market_sectors_detail, get_high_dividend, get_52_week_high_low | All |
| Watchlist | get_watchlists, create_watchlist, update_watchlist, delete_watchlist, get_watchlist_instruments, add_watchlist_instruments, remove_watchlist_instruments, update_watchlist_instruments | All |
| Community | create_community_post, create_community_comment, get_community_hot_stocks, get_community_posts, get_community_post_detail, get_my_community_posts | US |
Fundamental & Instrument
| Category | Tools | Region |
|---|---|---|
| Instrument | get_instruments, get_option_contracts, get_futures_instruments, get_futures_products, get_crypto_instruments, get_event_series, get_event_instruments, get_event_categories, get_event_events | varies |
| Fundamental | get_company_profile, get_analyst_rating, get_analyst_target_price | All |
| Stock Fundamentals | get_stock_capital_flow, get_stock_filings, get_stock_earnings_calendar, get_stock_dividend_calendar, get_stock_forecast_eps, get_stock_industry_comparison | All |
| Fund Fundamentals | get_fund_rating, get_fund_performance, get_fund_allocation, get_fund_holdings, get_fund_brief, get_fund_dividends, get_fund_splits, get_fund_net_value, get_fund_files | All |
| Financial Statements | get_financial_alert, get_financial_indicators, get_income_statement, get_balance_sheet, get_cash_flow | All |
Trading
| Category | Tools | Region |
|---|---|---|
| Account | get_account_list | All |
| Assets | get_account_balance, get_account_positions, get_account_position_details (JP only) | All |
| Stock Order | place_stock_order, preview_stock_order, replace_stock_order | All |
| Combo Order | place_stock_combo_order (OTO/OCO/OTOCO) | US |
| Option Order | place_option_single_order, preview_option_order, replace_option_order | US, HK |
| Option Strategy | place_option_strategy_order | US |
| Algo Order | place_algo_order (TWAP/VWAP/POV) | US |
| Futures Order | place_futures_order, replace_futures_order | US, HK |
| Crypto Order | place_crypto_order | US |
| Event Order | place_event_order, replace_event_order | US |
| Order | cancel_order, get_order_history, get_open_orders, get_order_detail | All |
地域ごとの違い
| 機能 | US | HK | JP | SG | MY | UK | MX | BR | ZA |
|---|---|---|---|---|---|---|---|---|---|
| 株式取引 | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| オプション取引 | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| 先物取引 | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| 暗号資産取引 | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| イベントコントラクト | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| コンボ注文 | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| オプション戦略 | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| アルゴ注文 | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| スクリーナー | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| ウォッチリスト | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| ファンダメンタルズ(企業/アナリスト) | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| 株式/ファンドのファンダメンタルズ | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| 財務諸表 | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| NOII(オークション・インバランス) | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| マーケット | US | US, HK, CN | US, JP | US | US | US | US | US | US |
| 銘柄カテゴリ | US_STOCK, US_ETF | US_STOCK, US_ETF, HK_STOCK, CN_STOCK | US_STOCK, US_ETF | US_STOCK, US_ETF | US_STOCK, US_ETF | US_STOCK, US_ETF | US_STOCK, US_ETF | US_STOCK, US_ETF | US_STOCK, US_ETF |
| 注文タイプ | LIMIT, MARKET, STOP_LOSS, STOP_LOSS_LIMIT, TRAILING_STOP_LOSS など | LIMIT, MARKET, ENHANCED_LIMIT, AT_AUCTION, AT_AUCTION_LIMIT など | JP マーケット: LIMIT, MARKET — US マーケット: LIMIT, MARKET, STOP_LOSS, STOP_LOSS_LIMIT | MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT | MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT | MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT | MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT | MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT | MARKET, LIMIT, STOP_LOSS, STOP_LOSS_LIMIT |
| 有効期限(Time-in-Force) | DAY, GTC | US マーケット: DAY, GTC, GTD — HK マーケット: DAY, GTC — CN マーケット: DAY | JP マーケット: DAY — US マーケット: DAY, GTC, GTD | DAY, GTC | DAY, GTC | DAY, GTC | DAY, GTC | DAY, GTC | DAY, GTC |
| 取引セッション | ALL, CORE, NIGHT | CORE, ALL_DAY, NIGHT, ALL | CORE, ALL, NIGHT, ALL_DAY | NIGHT, ALL, CORE, ALL_DAY | NIGHT, ALL, CORE, ALL_DAY | NIGHT, ALL, CORE, ALL_DAY | NIGHT, ALL, CORE, ALL_DAY | NIGHT, ALL, CORE, ALL_DAY | NIGHT, ALL, CORE, ALL_DAY |
| JP 注文フィールド | — | — | account_tax_type は必須(GENERAL または SPECIFIC)。margin_type(ONE_DAY または INDEFINITE)と position_intent は任意の信用口座専用フィールド。close_contracts は任意 | — | — | — | — | — | — |
Note: スクリーナー(上昇率/下落率/出来高上位)、ファンダメンタルズ(企業/アナリスト)、NOII は現在、米国株データ(
US_STOCKカテゴリ)のクエリのみに対応しています。株式/ファンドのファンダメンタルズ、財務諸表、拡張スクリーナー(セクター/配当/52週)はすべての地域で利用可能です。対応するcategoryの値はエンドポイントによって異なります(一般的にはUS_STOCK、HK_STOCK、CN_STOCK、JP_STOCK)。ウォッチリストは米国株と香港株に対応しています。
CLI コマンド
pip でインストールした場合:
webull-openapi-mcp --version # Show version
webull-openapi-mcp init [--env-file PATH] # Initialize .env configuration
webull-openapi-mcp init --app-key KEY --app-secret SECRET --environment prod
webull-openapi-mcp auth [--env-file PATH] # Authenticate (2FA accounts)
webull-openapi-mcp serve [--env-file PATH] # Start MCP server
webull-openapi-mcp status [--env-file PATH] # Show configuration status
webull-openapi-mcp tools [--env-file PATH] # List available tools
uvx を使用する場合(uvx を先頭に付けます):
uvx webull-openapi-mcp auth
uvx webull-openapi-mcp serve
uvx webull-openapi-mcp status
ローカル開発の場合(uv run python -m webull_openapi_mcp を先頭に付けます):
uv run python -m webull_openapi_mcp auth
uv run python -m webull_openapi_mcp serve
すべてのコマンドは --env-file PATH を受け付け、カスタムの .env ファイルの場所を指定できます(デフォルト: カレントディレクトリの .env)。
セキュリティ
- AK/SK を AI モデルと共有しないでください — App Key または App Secret をチャットのプロンプト、AI アシスタント、または LLM との会話に貼り付けないでください。これらの認証情報は、環境変数または
.envファイルを通じてのみ設定し、モデルにプレーンテキストで公開しないでください。 .envファイルよりenvを優先してください — ワークスペース内の.envファイルではなく、MCP クライアントのenvフィールド(mcp.json内)を使って認証情報を渡してください。envフィールドは認証情報をプロセスの環境変数として設定するため、AI モデルはアクセスできません。ワークスペース内の.envファイルは、IDE のファイルアクセスを通じて AI アシスタントに読み取られる可能性があります。- 認証情報の分離 — AK/SK は、SDK の初期化とリクエストへの署名のために MCP サーバープロセス内でのみ使用されます。ツールの出力、ログ、エラーメッセージに含まれることはありません。
- 取引前に確認してください — AI が提案した注文の詳細は、確定する前に必ず確認してください。注文を発注する前に
preview_stock_order/preview_option_orderを使用してください。 - ツールセットのフィルタリングを使用してください — 読み取り専用のアクセスのみが必要な場合は、
WEBULL_TOOLSETS=account,market-dataを設定して取引ツールをすべて無効にしてください。有効なツールセット:account、market-data、trading、instrument。 - デフォルトのサンドボックス — サーバーはデフォルトで UAT(サンドボックス)環境を使用します。実際の取引には
WEBULL_ENVIRONMENT=prodを明示的に設定する必要があります。 - 依存関係のセキュリティ —
fastmcpはバージョン3.0.2に、webull-openapi-python-sdkはバージョン3.0.4に固定されています。サードパーティ製依存関係のセキュリティパッチを監視し、更新する責任はユーザーにあります。アップグレードする前にリリースノートを確認してください。
トラブルシューティング
2FA 認証が必要です
# If installed via pip:
webull-openapi-mcp auth
# If using uvx:
uvx webull-openapi-mcp auth
# If local development:
uv run python -m webull_openapi_mcp auth
Webull アプリでリクエストを承認してから、サーバーを起動してください。
デバイスが登録されていません
- Webull モバイルアプリを開き、API アカウントでログインして、デバイス登録を完了します
- 次に、認証します:
# If installed via pip:
webull-openapi-mcp auth
# If using uvx:
uvx webull-openapi-mcp auth
マーケットデータの 401/403 エラー
相場情報を購読してください:
- US:webullapp.com/quote | ガイド
- HK:webullapp.hk/quote | ガイド
- JP:webull.co.jp/pricing | ガイド
- SG:webull.com.sg/quote | ガイド
- MY:webull.com.my/quote | ガイド
- UK:webull-uk.com/quote | ガイド
- ZA:webullapp.co.za/quote | ガイド
- MX:webull.com.mx/quote | ガイド
- BR:webull.com.br/quote | ガイド
トークンの有効期限切れ
rm -rf ./conf/token.txt
# Then re-authenticate:
webull-openapi-mcp auth # pip
uvx webull-openapi-mcp auth # uvx
Windows:エラーメッセージが文字化けする
Windows では、コンソールのエンコーディングが UTF-8 でない場合、認証エラーメッセージが文字化けすることがあります。サーバーはコンソールのエンコーディングを自動検出し、UTF-8 以外のターミナルでは ASCII のみの出力に切り替えます。それでも文字化けする場合は、次を実行してください:
chcp 65001
これにより、サーバーの起動前に Windows コンソールが UTF-8 に切り替わります。
プロジェクト構成
webull-openapi-mcp/
├── webull_openapi_mcp/
│ ├── __init__.py # Package version
│ ├── __main__.py # python -m entry point
│ ├── cli.py # CLI commands (init, auth, serve, status, tools)
│ ├── server.py # MCP server setup and tool registration
│ ├── sdk_client.py # Webull SDK adapter (ApiClient, TradeClient, DataClient)
│ ├── config.py # Configuration loading and validation
│ ├── region_config.py # Region-specific settings (US, HK, JP, SG, MY, UK, MX, BR, ZA)
│ ├── guards.py # Order validation (price, quantity, notional, region rules)
│ ├── audit.py # Audit logging for order operations
│ ├── errors.py # Exception definitions and SDK error handling
│ ├── formatters.py # Response formatting with disclaimer
│ ├── constants.py # Enum constants (sides, order types, strategies)
│ └── tools/
│ ├── __init__.py # Tool registration exports
│ ├── market_data/
│ │ ├── stock.py # Stock market data (snapshot, quotes, bars, tick, footprint, NOII)
│ │ ├── option.py # Option market data (tick, snapshot, bars)
│ │ ├── futures.py # Futures market data
│ │ ├── crypto.py # Crypto market data
│ │ ├── event.py # Event contract market data
│ │ ├── screener.py # Gainers/losers, most active, market sectors, high dividend, 52-week high/low
│ │ ├── watchlist.py# Watchlist CRUD and instrument management
│ │ ├── community.py # Community posts, comments, hot stocks
│ │ ├── fundamental.py # Company profile, analyst data; stock & fund fundamentals (US/HK/JP)
│ │ └── financial.py # Financial statements: alert, indicators, income, balance sheet, cash flow (US/HK/JP)
│ └── trading/
│ ├── account.py # Account list
│ ├── assets.py # Balance, positions
│ ├── instrument.py # Instrument lookup
│ ├── order.py # Order query, cancel (shared across asset types)
│ ├── stock_order.py # Stock order place, preview, replace
│ ├── option_order.py # Option single-leg and strategy orders
│ ├── futures_order.py # Futures order place, replace
│ ├── crypto_order.py # Crypto order place
│ └── event_order.py # Event contract order place, replace
├── tests/ # Unit and property-based tests
├── conf/ # Token storage (auto-generated)
├── .env.example # Configuration template
├── DISCLAIMER.md # Full disclaimer
├── pyproject.toml # Package configuration
└── LICENSE # Apache 2.0
ライセンス
Apache License 2.0 — 詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。