
Webull OpenAPI
io.github.webull-incPublished by GitHub account webull-incv1.2.6Updated Oct 26, 2026
MCP server for Webull OpenAPI: trading and market data access for AI assistants
Overview
Webull OpenAPI MCP server that lets an AI assistant query market data, fundamentals and account holdings, and place or manage trades across Webull regions.
- What you can do
- Retrieve market data: snapshots, quotes, tick data, bars, NOII auction data, screener rankings and news for stocks, options, futures, crypto and event contracts
- Look up instruments, company profiles, analyst ratings, stock and fund fundamentals, and financial statements
- Manage watchlists and, in the US, community posts and comments
- Read account list, balances, positions, order history and open orders
- Place, preview, replace and cancel stock, option, futures, crypto, event, combo, strategy and algo orders
- When to use it
- Useful when you want an assistant to research Webull-listed markets and instruments, or to draft, preview and submit orders and manage watchlists through your own Webull API account. Best suited to users who already trade on Webull and want conversational access to its data and trading endpoints.
- Requirements
- Runs locally as a Python package via uvx or pip; needs Python 3.10+ and uv. Requires a Webull developer account with an App Key and App Secret, set through WEBULL_APP_KEY and WEBULL_APP_SECRET, plus WEBULL_REGION_ID and WEBULL_ENVIRONMENT. A paid market data subscription is needed for quotes, and 2FA accounts must run the auth command and approve in the Webull mobile app. Network access to Webull APIs is required.
Installation
In SourceWeft
- Open Webull OpenAPI in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Webull OpenAPI MCP Server
[Python 3.10+] [License: Apache 2.0]
MCP Server for Webull OpenAPI — enables AI assistants (Cursor, Claude Desktop, Kiro, etc.) to securely access Webull trading and market data.
⚠️ Disclaimer
The information provided by this tool is for reference only and does not constitute investment advice. Trading involves risk; please make decisions carefully.
See DISCLAIMER.md for the full disclaimer.
Features
- Multi-Region Support — US, HK, JP, SG, MY, UK, MX, BR, and ZA regions with region-specific order types, trading sessions, and validation
- Market Data — Real-time snapshots, tick data, quotes (depth), footprint, and OHLCV bars for stocks, options, futures, crypto, and event contracts
- NOII Data — Net Order Imbalance Indicator bars and snapshots for US stock opening/closing auctions
- Screener — Top gainers/losers, most active, market sectors, high dividend, and 52-week high/low rankings
- Watchlist — Create, manage, and query user watchlists and instruments
- Community (US only) — Create posts and comments, list hot stocks, browse posts by symbol, view post details, and list your own posts
- Fundamental Data — Company profiles, analyst ratings, and target prices
- Stock & Fund Fundamentals — Capital flow, SEC filings, earnings/dividend calendar, forecast EPS, industry comparison, and full fund data (rating, performance, allocation, holdings, brief, dividends, splits, net value, files)
- Financial Statements — Financial alert, indicators, income statement, balance sheet, and cash flow
- Trading — Place, modify, cancel orders for stocks, options, futures, crypto, and event contracts
- Combo Orders — OTO, OCO, OTOCO combo orders (US only)
- Option Strategies — Multi-leg option strategies: vertical, straddle, strangle, butterfly, condor, etc. (US only)
- Algo Orders — TWAP, VWAP, POV algorithmic orders (US only)
- Risk Controls — Market-specific notional limits (USD/HKD/CNH/JPY), quantity limits, symbol whitelist
- Auto Account Resolution — Automatically selects the correct account based on asset type (stock, futures, crypto, event)
- Audit Logging — All order operations are logged for compliance
- 2FA Support — Interactive authentication flow for accounts with Two-Factor Authentication
Example Prompts
Here are some prompts you can use with your AI assistant:
Market Data
- Show me AAPL's daily bars for the last 5 days
- Get a real-time snapshot for AAPL, MSFT, and GOOGL
- What's the current bid/ask for TSLA?
- Show me 1-minute tick data for NVDA
- Show me the NOII data for AAPL before market open
Screener
- What are today's top gainers?
- Show me the biggest losers in pre-market
- What are the most actively traded stocks right now?
- Show me the market sectors overview
- List high dividend stocks
- Which stocks are making new 52-week highs?
Watchlist
- Show me all my watchlists
- Create a new watchlist called "Tech Stocks"
- Add AAPL and MSFT to my watchlist
- What stocks are in my watchlist?
Community
- What are the community hot stocks right now?
- Show me recent community posts about NVDA
- Post "Great earnings report!" tagged with AAPL
- List my community posts
Fundamental & Analyst
- Tell me about NVDA's company profile
- What do analysts rate AAPL?
- What's the analyst target price for TSLA?
- Show me the capital flow for AAPL
- Get TSLA's earnings calendar
- Show NVDA's industry comparison
- What are QQQ's top holdings and fund performance?
Financial Statements
- Show me AAPL's latest income statement
- Get TSLA's balance sheet for the last 4 quarters
- What's NVDA's cash flow statement?
- Show me the financial indicators for MSFT
Account & Portfolio
- What's my account balance and buying power?
- Show me all my current positions
- List all my linked accounts
Stock Trading
- Place a limit order to buy 100 shares of AAPL at $250
- Place a market order to sell 50 shares of TSLA
- Preview a limit buy order for 200 shares of MSFT at $450 before placing it
Options Trading
- Buy 1 AAPL call option, strike $250, expiring 2026-04-17, limit price $5.00
- Buy 1 TSLA put option, strike $200, expiring 2026-05-15
Option Market Data
- Get a snapshot for AAPL260522C00300000
- Show me tick data for TSLA251219C00450000
- Get daily bars for AAPL260522C00300000
- List available option contracts for AAPL expiring after 2026-06-01
Order Management
- Show me my order history for the last 7 days
- What are my current open orders?
- Cancel order with ID abc123
HK Market
- Place an enhanced limit order to buy 100 shares of Tencent (00700) at HKD 500
- Place an at-auction limit order for 200 shares of 00700 at HKD 510
Prerequisites
- Webull Developer Account — Register at:
- API Credentials — Obtain your
App KeyandApp Secret - Market Data Subscription — Subscribe to quotes for market data access:
- US: webullapp.com/quote | Guide
- HK: webullapp.hk/quote | Guide
- JP: webull.co.jp/pricing | Guide
- SG: webull.com.sg/quote | Guide
- MY: webull.com.my/quote | Guide
- UK: webull-uk.com/quote | Guide
- ZA: webullapp.co.za/quote | Guide
- MX: webull.com.mx/quote | Guide
- BR: webull.com.br/quote | Guide
- Python 3.10+
- uv (recommended) — Install guide
Quick Start
Step 1: Configure Credentials
Before running the server, you must configure your API credentials. Choose one of the following approaches:
Option A: MCP client configuration (recommended for production)
Add credentials via the env field in your MCP client config (Kiro, Cursor, Claude Desktop, etc.):
Option B: .env file
Step 2: Authenticate (2FA)
If your account requires Two-Factor Authentication, run the auth command and approve in your Webull mobile app:
Token is valid for 15 days and auto-refreshes. You only need to do this once (or when the token expires).
Step 3: Start the Server
That's it. Your AI assistant can now access Webull trading and market data.
Installation Options
Option 1: uvx (Recommended)
No installation needed. uvx downloads and runs the package directly from PyPI:
Option 2: pip
Option 3: Local Development
Client Configuration
Kiro / Cursor / Claude Desktop / Claude Code
Add to your MCP configuration:
Using environment variables:
Using .env file (local development):
Configuration
Note:
WEBULL_REGION_ID=usrepresents Webull US (developer.webull.com),WEBULL_REGION_ID=hkrepresents Webull Hong Kong (developer.webull.hk),WEBULL_REGION_ID=jprepresents Webull Japan (developer.webull.co.jp),WEBULL_REGION_ID=sgrepresents Webull Singapore (developer.webull.com.sg),WEBULL_REGION_ID=myrepresents Webull Malaysia (developer.webull.com.my),WEBULL_REGION_ID=ukrepresents Webull UK (developer.webull-uk.com),WEBULL_REGION_ID=mxrepresents Webull Mexico (developer.webull.com.mx),WEBULL_REGION_ID=brrepresents Webull Brazil (developer.webull.com.br), andWEBULL_REGION_ID=zarepresents Webull South Africa (developer.webull.co.za).
See .env.example for full configuration template.
Available Tools
Market Data
Fundamental & Instrument
Trading
Region Differences
Note: Screener (Gainers/Losers/Active), Fundamental (Company/Analyst), and NOII currently only support querying US stock data (
US_STOCKcategory). Stock/Fund Fundamentals, Financial Statements, and the extended Screener (Sectors/Dividend/52W) are available in all regions; supportedcategoryvalues vary by endpoint (commonlyUS_STOCK,HK_STOCK,CN_STOCK,JP_STOCK). Watchlist supports US stocks and HK stocks.
CLI Commands
If installed via pip:
If using uvx (prefix with uvx):
If local development (prefix with uv run python -m webull_openapi_mcp):
All commands accept --env-file PATH to specify a custom .env file location (default: .env in the current directory).
Security
- Never share your AK/SK with AI models — Do not paste your App Key or App Secret into chat prompts, AI assistants, or any LLM conversation. These credentials should only be configured via environment variables or
.envfiles, never exposed in plain text to the model. - Prefer
envover.envfiles — Pass credentials via the MCP client'senvfield (inmcp.json) rather than a.envfile in your workspace. Theenvfield injects credentials as process environment variables, which the AI model cannot access. A.envfile in your workspace could be read by the AI assistant through IDE file access. - Credential isolation — AK/SK are used only inside the MCP server process for SDK initialization and request signing. They never appear in tool outputs, logs, or error messages.
- Review before trading — Always review order details proposed by the AI before confirming. Use
preview_stock_order/preview_option_orderbefore placing orders. - Use toolset filtering — Set
WEBULL_TOOLSETS=account,market-datato disable trading tools entirely if you only need read-only access. Valid toolsets:account,market-data,trading,instrument. - Default sandbox — The server defaults to UAT (sandbox) environment. You must explicitly set
WEBULL_ENVIRONMENT=prodfor live trading. - Dependency security —
fastmcpis pinned to version3.0.2andwebull-openapi-python-sdkis pinned to3.0.4. Users are responsible for monitoring and updating third-party dependencies for security patches. Review release notes before upgrading.
Troubleshooting
2FA Authentication Required
Approve the request in your Webull app, then start the server.
Device Not Registered
- Open Webull mobile app, log in with your API account, complete device registration
- Then authenticate:
Market Data 401/403
Subscribe to quotes:
- US: webullapp.com/quote | Guide
- HK: webullapp.hk/quote | Guide
- JP: webull.co.jp/pricing | Guide
- SG: webull.com.sg/quote | Guide
- MY: webull.com.my/quote | Guide
- UK: webull-uk.com/quote | Guide
- ZA: webullapp.co.za/quote | Guide
- MX: webull.com.mx/quote | Guide
- BR: webull.com.br/quote | Guide
Token Expired
Windows: Garbled Characters in Error Messages
On Windows, authentication error messages may display garbled characters if the console encoding is not UTF-8. The server automatically detects the console encoding and falls back to ASCII-only output on non-UTF-8 terminals. If you still see garbled text, run:
This switches the Windows console to UTF-8 before starting the server.
Project Structure
License
Apache License 2.0 — see LICENSE for details.
Source: README.md at commit 22a9005
Tools
0Version history
3- v1.2.6LatestOct 26, 2026
- v1.2.5Oct 17, 2026
- v1.2.4Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts