Reference / Derivatives¶
futu_get_rehab¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_rehab - Route: MCP JSON-RPC
tools/callwith name ="futu_get_rehab"
Description:
Rehab (dividend / split / bonus) events and adjustment factors. Required for long-term K-line alignment. Python SDK: OpenQuoteContext.get_rehab.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_rehab",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_expiration_date¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_expiration_date - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_expiration_date"
Description:
Option expiration-date list for an underlying (HSI / HSCEI or HK/US equity). Python SDK: OpenQuoteContext.get_option_expiration_date.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
owner_symbol |
string | ✅ | symbol, owner, code, stock |
Underlying stock symbol (HK/US equities + HSI/HSCEI only); alias: symbol / owner / code / stock |
index_option_type |
i32? | — | — | For index options only: Qot_Common::IndexOptionType (optional) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_expiration_date",
"arguments": {
"owner_symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_chain¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_chain - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_chain"
Description:
Option chain of an underlying stock within an expiry date range, grouped by strike time with call/put symbol lists. Python SDK: OpenQuoteContext.get_option_chain.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
owner_symbol |
string | ✅ | symbol, owner, code, stock |
Underlying stock symbol (e.g. HK.00700, US.AAPL); alias: symbol / owner / code / stock |
begin_time |
string | ✅ | begin, start_time, from |
Expiry range begin date yyyy-MM-dd; alias: begin / start_time / from |
end_time |
string | ✅ | end, to |
Expiry range end date yyyy-MM-dd; alias: end / to |
option_type |
string? | — | — | Option type: all|call|put (default all) |
delta_min |
float? | — | — | Optional Greek filter: only return options with delta in [min, max]; min must be <= max when both are provided. Typical ATM range: 0.3 to 0.7 for calls, -0.7 to -0.3 for puts. |
delta_max |
float? | — | — | See delta_min; must be >= delta_min when both are provided. |
iv_min |
float? | — | — | Implied volatility filter min (decimal, e.g. 0.3 = 30%); must be <= iv_max when both are provided. |
iv_max |
float? | — | — | See iv_min; must be >= iv_min when both are provided. |
oi_min |
float? | — | — | Open interest (contracts) filter min, integer; must be <= oi_max when both are provided. |
oi_max |
float? | — | — | See oi_min; must be >= oi_min when both are provided. |
gamma_min |
float? | — | — | Gamma filter min (decimal); must be <= gamma_max when both are provided. |
gamma_max |
float? | — | — | See gamma_min; must be >= gamma_min when both are provided. |
vega_min |
float? | — | — | Vega filter min (decimal); must be <= vega_max when both are provided. |
vega_max |
float? | — | — | See vega_min; must be >= vega_min when both are provided. |
theta_min |
float? | — | — | Theta filter min (decimal); must be <= theta_max when both are provided. |
theta_max |
float? | — | — | See theta_min; must be >= theta_min when both are provided. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_chain",
"arguments": {
"owner_symbol": "HK.00700",
"begin_time": "2026-01-01",
"end_time": "2026-12-31"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_warrant¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_warrant - Route: MCP JSON-RPC
tools/callwith name ="futu_get_warrant"
Description:
List warrants on an underlying stock (or whole-market when owner_symbol omitted), sorted by volume desc. Python SDK: OpenQuoteContext.get_warrant. For advanced filtering (strike/premium/delta/etc.) use REST /api/warrant directly.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
owner_symbol |
string? | — | symbol, owner, code |
Underlying stock symbol (e.g. HK.00700); None = whole-market warrants. Alias: symbol / owner / code |
begin |
i32 | ✓ default default |
offset, skip |
Pagination begin index (default 0); alias: offset / skip |
num |
i32 | ✓ default default_warrant_num |
count, max_count, req_count |
Max rows (0-200, default 20); alias: count / max_count / req_count |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_warrant",
"arguments": {
"owner_symbol": "HK.00700",
"begin": "2026-01-01",
"num": 20
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_owner_plate¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_owner_plate - Route: MCP JSON-RPC
tools/callwith name ="futu_get_owner_plate"
Description:
List plates (industry/concept/region) that contain given stocks. Python SDK: OpenQuoteContext.get_owner_plate.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbols |
array of string | ✅ | stocks, code_list, symbol_list, security_list |
Array of security symbols in MARKET.CODE format (e.g. ["HK.00700", "US.AAPL"]). Field name is symbols (Rust native snake_case); aliases: stocks / code_list / symbol_list / security_list for SDK compat. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_owner_plate",
"arguments": {
"symbols": [
"HK.00700"
]
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_holding_change¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_holding_change_list - Route: MCP JSON-RPC
tools/callwith name ="futu_get_holding_change"
Description:
Top-holder share change list (institution / fund / executive). Python SDK: OpenQuoteContext.get_holding_change_list.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock |
Underlying stock symbol (e.g. HK.00700, US.AAPL); alias: code / stock |
holder_category |
i32 | ✅ | category |
Holder category: 1=Institution, 2=Fund, 3=Executive; alias: category |
begin_time |
string? | — | begin, start_time, from |
Begin time YYYY-MM-DD HH:MM:SS (optional); alias: begin / start_time / from |
end_time |
string? | — | end, to |
End time YYYY-MM-DD HH:MM:SS (optional); alias: end / to |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_holding_change",
"arguments": {
"symbol": "HK.00700",
"holder_category": 1,
"begin_time": "2026-01-01",
"end_time": "2026-12-31"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_future_info¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_future_info - Route: MCP JSON-RPC
tools/callwith name ="futu_get_future_info"
Description:
Future contract info (contract size, last trade date, trading hours). Python SDK: OpenQuoteContext.get_future_info.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbols |
array of string | ✅ | stocks, code_list, symbol_list, security_list |
Array of future contract symbols in MARKET.CODE format (e.g. ["HK.HSImain", "US.MNQmain"]). Alias: stocks / code_list / symbol_list / security_list |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_future_info",
"arguments": {
"symbols": [
"HK.00700"
]
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_reference¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_referencestock_list - Route: MCP JSON-RPC
tools/callwith name ="futu_get_reference"
Description:
Related securities of an underlying: list all warrants/futures/options derived from a given stock. Python SDK: OpenQuoteContext.get_referencestock_list.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock |
Underlying symbol (e.g. HK.00700, US.AAPL); alias: code / stock |
reference_type |
string | ✓ default default_reference_type |
— | Reference type: warrant|future (default warrant). Note: option is NOT supported — use futu_get_option_chain instead. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_reference",
"arguments": {
"symbol": "HK.00700",
"reference_type": "warrant"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_financials_earnings_price_move¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_financials_earnings_price_move - Route: MCP JSON-RPC
tools/callwith name ="futu_get_financials_earnings_price_move"
Description:
Price move around financial earnings announcement dates. Futu API v10.6: OpenQuoteContext.get_financials_earnings_price_move.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
period_count |
i32? | — | periodCount |
Financial period count, 1-50. Omit to use backend default 10. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_financials_earnings_price_move",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_financials_earnings_price_history¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_financials_earnings_price_history - Route: MCP JSON-RPC
tools/callwith name ="futu_get_financials_earnings_price_history"
Description:
Price history around financial earnings announcement dates. Futu API v10.6: OpenQuoteContext.get_financials_earnings_price_history.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_financials_earnings_price_history",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_financials_statements¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_financials_statements - Route: MCP JSON-RPC
tools/callwith name ="futu_get_financials_statements"
Description:
Financial statements. Futu API v10.6: OpenQuoteContext.get_financials_statements.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
statement_type |
i32? | — | statementType |
FinancialStatementsType: 0=unknown, 1=income, 2=balance_sheet, 3=cash_flow, 4=main_index; omit to use backend default 1. Alias: statementType |
financial_type |
i32? | — | financialType |
F10Type financial period filter, supports 0-7 and 9-11; omit to use backend default 10. Alias: financialType |
currency_code |
string? | — | currencyCode |
Currency code, e.g. CNY / USD / HKD; alias: currencyCode |
next_key |
string? | — | nextKey |
Pagination key from previous response; alias: nextKey |
num |
i32? | — | — | Rows per page, 1-50. Omit to use backend default 10. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_financials_statements",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_financials_revenue_breakdown¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_financials_revenue_breakdown - Route: MCP JSON-RPC
tools/callwith name ="futu_get_financials_revenue_breakdown"
Description:
Financials revenue breakdown. Futu API v10.6: OpenQuoteContext.get_financials_revenue_breakdown.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
date |
u32? | — | screenDate |
Screen date timestamp from screenDateList; alias: screenDate |
financial_type |
i32? | — | financialType |
F10Type financial period filter, supports 0-7 and 9; omit to use backend default 0. Alias: financialType |
currency_code |
string? | — | currencyCode |
Currency code, e.g. CNY / USD / HKD; alias: currencyCode |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_financials_revenue_breakdown",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_research_analyst_consensus¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_research_analyst_consensus - Route: MCP JSON-RPC
tools/callwith name ="futu_get_research_analyst_consensus"
Description:
Research analyst consensus. Futu API v10.6: OpenQuoteContext.get_research_analyst_consensus.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_research_analyst_consensus",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_research_rating_summary¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_research_rating_summary - Route: MCP JSON-RPC
tools/callwith name ="futu_get_research_rating_summary"
Description:
Research rating summary/detail list. Futu API v10.6: OpenQuoteContext.get_research_rating_summary.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. US.AAPL, CA.SHOP (alias: code / stock / security for SDK compat) |
rating_dimension_type |
i32? | — | ratingDimensionType |
ResearchRatingDimensionType: 0/1=institution, 2=analyst |
uid |
string? | — | — | Institution or analyst uid; empty means summary list |
next_key |
string? | — | nextKey |
Pagination key; alias: nextKey |
num |
i32? | — | — | Page size, 1..20; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_research_rating_summary",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_research_morningstar_report¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_research_morningstar_report - Route: MCP JSON-RPC
tools/callwith name ="futu_get_research_morningstar_report"
Description:
Morningstar research report. Futu API v10.6: OpenQuoteContext.get_research_morningstar_report.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_research_morningstar_report",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_valuation_detail¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_valuation_detail - Route: MCP JSON-RPC
tools/callwith name ="futu_get_valuation_detail"
Description:
Valuation detail for a stock or index. Futu API v10.6: OpenQuoteContext.get_valuation_detail.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL, HK.800000 (alias: code / stock / security for SDK compat) |
valuation_type |
i32? | — | valuationType |
ValuationType: 0=recommended, 1=PE, 2=PB, 3=PS; alias: valuationType |
interval_type |
i32? | — | intervalType |
ValuationIntervalType: 0/3=1y default, 1=3m, 2=6m, 4=3y, 5=since2019, 6=5y, 7=10y, 8=2y, 9=20y, 10=30y; omit uses backend default 3. Alias: intervalType |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_valuation_detail",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_valuation_plate_stock_list¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_valuation_plate_stock_list - Route: MCP JSON-RPC
tools/callwith name ="futu_get_valuation_plate_stock_list"
Description:
Valuation stock list for a plate or index. Futu API v10.6: OpenQuoteContext.get_valuation_plate_stock_list.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Plate or index symbol in MARKET.CODE format, e.g. HK.BK0001, HK.800000 (alias: code / stock / security for SDK compat) |
valuation_type |
i32? | — | valuationType |
ValuationType: 0/1=PE, 2=PB, 3=PS; alias: valuationType |
next_key |
string? | — | nextKey |
Pagination key; alias: nextKey |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
sort_type |
i32? | — | sortType |
SortType: 0/2=asc, 1=desc; omit to use backend default asc. Alias: sortType |
sort_id |
i32? | — | sortId |
SortField: 51=market_cap, 52=valuation, 53=forward, 54=percentile; alias: sortId |
filter_security |
string? | — | filterSecurity |
Optional plate filter for index components, MARKET.CODE; alias: filterSecurity |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_valuation_plate_stock_list",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_corporate_actions_dividends¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_corporate_actions_dividends - Route: MCP JSON-RPC
tools/callwith name ="futu_get_corporate_actions_dividends"
Description:
Corporate action dividend records for securities. Futu API v10.6: OpenQuoteContext.get_corporate_actions_dividends.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_corporate_actions_dividends",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_corporate_actions_buybacks¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_corporate_actions_buybacks - Route: MCP JSON-RPC
tools/callwith name ="futu_get_corporate_actions_buybacks"
Description:
Corporate action buyback records for HK/A-share securities. Futu API v10.6: OpenQuoteContext.get_corporate_actions_buybacks.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key; alias: nextKey |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_corporate_actions_buybacks",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_corporate_actions_stock_splits¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_corporate_actions_stock_splits - Route: MCP JSON-RPC
tools/callwith name ="futu_get_corporate_actions_stock_splits"
Description:
Corporate action stock split records for HK/US securities. Futu API v10.6: OpenQuoteContext.get_corporate_actions_stock_splits.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key; alias: nextKey |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_corporate_actions_stock_splits",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_shareholders_overview¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_shareholders_overview - Route: MCP JSON-RPC
tools/callwith name ="futu_get_shareholders_overview"
Description:
Shareholder ownership overview for HK/US securities. Futu API v10.6: OpenQuoteContext.get_shareholders_overview.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
HK/US security symbol in MARKET.CODE format, e.g. HK.00700 or US.AAPL (alias: code / stock / security for SDK compat) |
period_id |
i32? | — | periodId |
Optional reporting period id from holdingPeriodList; alias: periodId |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_shareholders_overview",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_shareholders_holding_changes¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_shareholders_holding_changes - Route: MCP JSON-RPC
tools/callwith name ="futu_get_shareholders_holding_changes"
Description:
Shareholder holding change records for HK/US securities. Futu API v10.6: OpenQuoteContext.get_shareholders_holding_changes.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
HK/US security symbol in MARKET.CODE format, e.g. HK.00700 or US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key from previous response; "-1" returns empty page |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
sort_type |
i32? | — | sortType |
Qot_Common.SortType: 0/1=desc, 2=asc; alias: sortType |
sort_column |
i32? | — | sortColumn |
Qot_Common.SortField: 62/63/64/65/66; alias: sortColumn |
filter_type |
i32? | — | filterType |
Qot_Common.HoldingChangesFilterType: 0=all,1=increase,2=decrease,3=new-in,4=close-out; alias: filterType |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_shareholders_holding_changes",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_shareholders_holder_detail¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_shareholders_holder_detail - Route: MCP JSON-RPC
tools/callwith name ="futu_get_shareholders_holder_detail"
Description:
Shareholder holder detail records for HK/US securities. Futu API v10.6: OpenQuoteContext.get_shareholders_holder_detail.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
HK/US security symbol in MARKET.CODE format, e.g. HK.00700 or US.AAPL (alias: code / stock / security for SDK compat) |
request_type |
i32? | — | requestType |
Qot_Common.HolderDetailType: 0 default, 1..15 institution types, 100/200/300/400/500, 1000 all; alias: requestType |
next_key |
string? | — | nextKey |
Pagination key from previous response; "-1" returns empty page |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
sort_column |
i32? | — | sortColumn |
Qot_Common.SortField: 0/61=holder quantity, 62=share change num; alias: sortColumn |
sort_type |
i32? | — | sortType |
Qot_Common.SortType: 0/1=desc, 2=asc; alias: sortType |
period_id |
i32? | — | periodId |
Reporting period id from GetShareholdersOverview; alias: periodId |
holder_id |
i32? | — | holderId |
Holder id filter; alias: holderId |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_shareholders_holder_detail",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_shareholders_institutional¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_shareholders_institutional - Route: MCP JSON-RPC
tools/callwith name ="futu_get_shareholders_institutional"
Description:
Institutional shareholder ownership statistics for HK/US securities. Futu API v10.6: OpenQuoteContext.get_shareholders_institutional.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
HK/US security symbol in MARKET.CODE format, e.g. HK.00700 or US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key from previous response; "-1" returns empty page |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_shareholders_institutional",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_insider_holder_list¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_insider_holder_list - Route: MCP JSON-RPC
tools/callwith name ="futu_get_insider_holder_list"
Description:
Insider holder list for US securities. Futu API v10.6: OpenQuoteContext.get_insider_holder_list.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
US security symbol in MARKET.CODE format, e.g. US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key from previous response; "-1" returns empty page |
num |
i32? | — | — | Page size, 1..20; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_insider_holder_list",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_insider_trade_list¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_insider_trade_list - Route: MCP JSON-RPC
tools/callwith name ="futu_get_insider_trade_list"
Description:
Insider trade list for US securities. Futu API v10.6: OpenQuoteContext.get_insider_trade_list.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
US security symbol in MARKET.CODE format, e.g. US.AAPL (alias: code / stock / security for SDK compat) |
holder_id |
i64? | — | holderId |
Optional insider holder id filter |
next_key |
string? | — | nextKey |
Pagination key from previous response; "-1" returns empty page |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_insider_trade_list",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_company_profile¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_company_profile - Route: MCP JSON-RPC
tools/callwith name ="futu_get_company_profile"
Description:
Company profile labels/details for a security. Futu API v10.6: OpenQuoteContext.get_company_profile.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_company_profile",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_company_executives¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_company_executives - Route: MCP JSON-RPC
tools/callwith name ="futu_get_company_executives"
Description:
Company executives / directors for a security. Futu API v10.6: OpenQuoteContext.get_company_executives.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_company_executives",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_company_executive_background¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_company_executive_background - Route: MCP JSON-RPC
tools/callwith name ="futu_get_company_executive_background"
Description:
Company executive/director background for a security. Futu API v10.6: OpenQuoteContext.get_company_executive_background.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
leader_name |
string | ✅ | leaderName |
Executive/director leader name from get_company_executives |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_company_executive_background",
"arguments": {
"symbol": "HK.00700",
"leader_name": "…"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_company_operational_efficiency¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_company_operational_efficiency - Route: MCP JSON-RPC
tools/callwith name ="futu_get_company_operational_efficiency"
Description:
Company operational efficiency metrics such as employees and per-capita income/profit. Futu API v10.6: OpenQuoteContext.get_company_operational_efficiency.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key from previous response; alias: nextKey |
num |
i32? | — | — | Rows per page, 1-50. Omit to use backend default 10. |
currency_code |
string? | — | currencyCode |
Currency code, e.g. CNY / USD / HKD; alias: currencyCode |
financial_type |
i32? | — | financialType |
Compatibility-only field; the backend ignores financialType for company operational efficiency and always queries the fixed annual view. Alias: financialType |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_company_operational_efficiency",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_top_ten_buy_sell_brokers¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_top_ten_buy_sell_brokers - Route: MCP JSON-RPC
tools/callwith name ="futu_get_top_ten_buy_sell_brokers"
Description:
Top ten net buy/sell brokers for HK securities. Futu API v10.6: OpenQuoteContext.get_top_ten_buy_sell_brokers.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
HK security symbol in MARKET.CODE format, e.g. HK.00700 (alias: code / stock / security for SDK compat) |
days_before |
i32? | — | daysBefore |
0 or omitted = realtime; N = previous N trading days; must be non-negative; alias: daysBefore |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_top_ten_buy_sell_brokers",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_daily_short_volume¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_daily_short_volume - Route: MCP JSON-RPC
tools/callwith name ="futu_get_daily_short_volume"
Description:
Daily short volume for HK/US securities. Futu API v10.6: OpenQuoteContext.get_daily_short_volume.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key; alias: nextKey |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_daily_short_volume",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_short_interest¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_short_interest - Route: MCP JSON-RPC
tools/callwith name ="futu_get_short_interest"
Description:
Short interest for HK/US securities. Futu API v10.6: OpenQuoteContext.get_short_interest.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, stock, security |
Security symbol in MARKET.CODE format, e.g. HK.00700, US.AAPL (alias: code / stock / security for SDK compat) |
next_key |
string? | — | nextKey |
Pagination key; alias: nextKey |
num |
i32? | — | — | Page size, 1..50; omitted uses backend default 10 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_short_interest",
"arguments": {
"symbol": "HK.00700",
"num": 100
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_volatility¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_volatility - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_volatility"
Description:
Option implied-volatility analysis. Futu API v10.6: OpenQuoteContext.get_option_volatility.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, option, security |
Option symbol in MARKET.CODE format, e.g. US.AAPL260116C200000 (alias: code / option / security for SDK compat) |
query_time_period |
i32? | — | queryTimePeriod |
Query period: 0/omitted=month, 1=week, 2=month, 3=quarter, 4=half-year, 5=year |
hv_time_period |
i32? | — | hvTimePeriod |
Underlying historical-volatility period in days, 5..250; omitted uses backend default 30 |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).Runtime validation: this request type has a
validate()method that adds runtime required-field / enum-value validation on top of the JSON schema.
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_volatility",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_exercise_probability¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_exercise_probability - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_exercise_probability"
Description:
Option exercise probability history. Futu API v10.6: OpenQuoteContext.get_option_exercise_probability.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
symbol |
string | ✅ | code, option, security |
Option symbol in MARKET.CODE format, e.g. US.AAPL260116C200000 (alias: code / option / security for SDK compat) |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_exercise_probability",
"arguments": {
"symbol": "HK.00700"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_stock_screen¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.stock_screen - Route: MCP JSON-RPC
tools/callwith name ="futu_stock_screen"
Description:
Stock screener. Futu API v10.6: OpenQuoteContext.stock_screen. The c2s argument is the full Qot_StockScreen C2S JSON object.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s |
Value | ✅ | — | Full Qot_StockScreen C2S JSON object. Use snake_case generated proto fields, e.g. filter_list/retrieve_list/page_from/page_count. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_stock_screen",
"arguments": {
"c2s": "…"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_option_screen¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.option_screen - Route: MCP JSON-RPC
tools/callwith name ="futu_option_screen"
Description:
Option screener. Futu API v10.6: OpenQuoteContext.option_screen. The c2s argument is the full Qot_OptionScreen C2S JSON object.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s |
Value | ✅ | — | Full Qot_OptionScreen C2S JSON object. Use snake_case generated proto fields, e.g. market_category_list/filter_list/sort_list/page_from/page_count. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_option_screen",
"arguments": {
"c2s": "…"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_warrant_screen¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.warrant_screen - Route: MCP JSON-RPC
tools/callwith name ="futu_warrant_screen"
Description:
Warrant screener. Futu API v10.6: OpenQuoteContext.warrant_screen. The c2s argument is the full Qot_WarrantScreen C2S JSON object.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s |
Value | ✅ | — | Full Qot_WarrantScreen C2S JSON object. Use snake_case generated proto fields, e.g. market_type/filter_list/sort_list/page_from/page_count. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_warrant_screen",
"arguments": {
"c2s": "…"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_technical_unusual¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_technical_unusual - Route: MCP JSON-RPC
tools/callwith name ="futu_get_technical_unusual"
Description:
Technical indicator unusual-move summary. Futu API v10.6: OpenQuoteContext.get_technical_unusual.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
stock_symbol |
string | ✅ | symbol, code, stock, security |
Stock symbol accepted by Futu SkillWrap, e.g. HK.00700 / US.AAPL (alias: symbol / code / stock / security) |
time_range |
i32? | — | timeRange |
Time range in calendar days; omit or <=0 uses backend default 7 |
indicator_filters |
array of string | ✓ default default |
indicatorFilters |
Optional technical indicator filters; omitted means all |
language_id |
i32? | — | languageId |
Language id: 0=simplified Chinese, 1=traditional, 2=English |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_technical_unusual",
"arguments": {
"stock_symbol": "…",
"indicator_filters": []
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_financial_unusual¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_financial_unusual - Route: MCP JSON-RPC
tools/callwith name ="futu_get_financial_unusual"
Description:
Financial unusual-change summary. Futu API v10.6: OpenQuoteContext.get_financial_unusual.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
stock_symbol |
string | ✅ | symbol, code, stock, security |
Stock symbol accepted by Futu SkillWrap, e.g. HK.00700 / US.AAPL (alias: symbol / code / stock / security) |
time_range |
i32? | — | timeRange |
Time range in calendar days; omit or <=0 uses backend default 7 |
analysis_dimensions |
array of string | ✓ default default |
analysisDimensions |
Optional financial analysis dimensions; omitted means all |
language_id |
i32? | — | languageId |
Language id: 0=simplified Chinese, 1=traditional, 2=English |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_financial_unusual",
"arguments": {
"stock_symbol": "…",
"analysis_dimensions": []
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_derivative_unusual¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_derivative_unusual - Route: MCP JSON-RPC
tools/callwith name ="futu_get_derivative_unusual"
Description:
Derivative unusual-change summary. Futu API v10.6: OpenQuoteContext.get_derivative_unusual.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
stock_symbol |
string | ✅ | symbol, code, stock, security |
Stock symbol accepted by Futu SkillWrap, e.g. HK.00700 / US.AAPL (alias: symbol / code / stock / security) |
time_range |
i32? | — | timeRange |
Time range in calendar days; omit or <=0 uses backend default 7 |
analysis_dimensions |
array of string | ✓ default default |
analysisDimensions |
Optional derivative analysis dimensions; omitted means all |
language_id |
i32? | — | languageId |
Language id: 0=simplified Chinese, 1=traditional, 2=English |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_derivative_unusual",
"arguments": {
"stock_symbol": "…",
"analysis_dimensions": []
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_quote¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_quote - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_quote"
Description:
Get option quote data for one option leg or a combo-option leg set. Futu API v10.7: OpenQuoteContext.get_option_quote. c2s_json must be generated-proto JSON.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_quote",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_strategy¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_strategy - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_strategy"
Description:
Get option strategy candidates for an underlying security. Futu API v10.7: OpenQuoteContext.get_option_strategy. c2s_json must be generated-proto JSON.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_strategy",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_strategy_analysis¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_strategy_analysis - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_strategy_analysis"
Description:
Analyze payoff/risk metrics for a combo-option leg set. Futu API v10.7: OpenQuoteContext.get_option_strategy_analysis. c2s_json must be generated-proto JSON.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_strategy_analysis",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_strategy_spread¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_option_strategy_spread - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_strategy_spread"
Description:
Get available strike/expiry spread metadata for an option strategy. Futu API v10.7: OpenQuoteContext.get_option_strategy_spread. c2s_json must be generated-proto JSON.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_strategy_spread",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_rating_change¶
- Scope:
qot:read - Python SDK equivalent:
OpenQuoteContext.get_rating_change - Route: MCP JSON-RPC
tools/callwith name ="futu_get_rating_change"
Description:
Get analyst rating-change data. Public QOT 3426. c2s_json must be generated-proto JSON.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_rating_change",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_market_statistic¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_market_statistic"
Description:
Get option market volume/open-interest statistics. Public QOT 3301.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_market_statistic",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_underlying_his_statistic¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_underlying_his_statistic"
Description:
Get historical option-underlying volume/open-interest statistics. Public QOT 3302.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_underlying_his_statistic",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_underlying_overview¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_underlying_overview"
Description:
Get latest batched option-underlying analytics. Public QOT 3303.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_underlying_overview",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_underlying_his_volatility¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_underlying_his_volatility"
Description:
Get historical IV/HV for an option underlying. Public QOT 3304.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_underlying_his_volatility",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_underlying_rank¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_underlying_rank"
Description:
Get ranked option underlyings. Public QOT 3305.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_underlying_rank",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_rank¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_rank"
Description:
Get ranked option contracts. Public QOT 3306.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_rank",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_event¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_event"
Description:
Get option unusual-activity events. Public QOT 3307.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_event",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_zero_dte_screener¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_zero_dte_screener"
Description:
Screen zero-DTE option underlyings. Public QOT 3311.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_zero_dte_screener",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_zero_dte_contract¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_zero_dte_contract"
Description:
Get zero-DTE option contracts for a returned chain. Public QOT 3312.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_zero_dte_contract",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_earnings_screener¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_earnings_screener"
Description:
Screen option underlyings around earnings. Public QOT 3313.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_earnings_screener",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.
futu_get_option_seller_screener¶
- Scope:
qot:read - Python SDK equivalent:
— - Route: MCP JSON-RPC
tools/callwith name ="futu_get_option_seller_screener"
Description:
Screen covered-call or cash-secured-put contracts. Public QOT 3314.
Request arguments:
| Field | Type | Required | Alias | Description |
|---|---|---|---|---|
c2s_json |
string | ✅ | — | Official generated C2S JSON. Field names use generated proto serde snake_case, e.g. multi_legs / combo_legs / order_type. |
api_key |
string? | — | — | Optional per-call API key plaintext. HTTP scope mode still requires a valid Bearer on every /mcp request; this field overrides that identity for the tool handler. In stdio mode: tool argument > startup key. |
⚠️ Unknown fields:
deny_unknown_fieldsis enabled — any field not listed above returns anunknown fielderror (previously silently dropped).
JSON-RPC call example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "futu_get_option_seller_screener",
"arguments": {
"c2s_json": "…",
"api_key": "optional-per-call-api-key"
}
}
}
Response: JSON text matching the corresponding REST endpoint / Python SDK. On failure MCP CallToolResult.is_error=true + content carries {"error": "...", "status": "error"}.