---
canonical_url: "https://docs.composio.dev/toolkits/longbridge_mcp"
markdown_url: "https://docs.composio.dev/toolkits/longbridge_mcp.md"
product: "platform"
version: null
last_updated: null
---

# Longbridge MCP

Longbridge MCP lets agents access authorized market data, account information, portfolio data, trading operations, and investment workflows through Longbridge OpenAPI.

- **Category:** model context protocol
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 161
- **Triggers:** 0
- **Slug:** `LONGBRIDGE_MCP`
- **Version:** 20260910_00

## Tools

### Account balance

**Slug:** `LONGBRIDGE_MCP_ACCOUNT_BALANCE`

Get account cash balance and asset summary. Returns balances[]{currency, total_cash, max_finance_amount, remaining_finance_amount, risk_level, margin_call}. Filter by currency (e.g. "USD", "HKD").

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `currency` | string | No | Filter by currency code (e.g. "USD", "HKD"). Omit to return all currencies. |

### Ah premium

**Slug:** `LONGBRIDGE_MCP_AH_PREMIUM`

Get A/H share premium historical K-line data. Returns items[]{timestamp, open, high, low, close} representing the premium percentage over the given period.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of K-lines to return (default: 100) |
| `period` | string | No | K-line period: "1m", "5m", "15m", "30m", "60m", "day" (default), "week", "month", "year" |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Ah premium intraday

**Slug:** `LONGBRIDGE_MCP_AH_PREMIUM_INTRADAY`

Get A/H share premium intraday time-share data. Returns items[]{timestamp, premium_rate} showing the intraday A/H premium percentage minute by minute.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Alert add

**Slug:** `LONGBRIDGE_MCP_ALERT_ADD`

Add a price alert. condition: price_rise/price_fall (absolute price) or percent_rise/percent_fall (relative %). frequency: once/daily/every. Returns created alert object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price` | string | Yes | Threshold price or percentage value |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `condition` | string | Yes | Alert condition: "price_rise", "price_fall", "percent_rise", "percent_fall" |
| `frequency` | string | No | Alert frequency: "once" (trigger once then disable), "daily" (once per day), "every" (alert every time condition is met) |

### Alert delete

**Slug:** `LONGBRIDGE_MCP_ALERT_DELETE`

Delete a price alert by alert_id (numeric string from alert_list). Returns upstream API response on success; errors if alert_id is invalid.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_id` | string | Yes | Alert indicator id |

### Alert disable

**Slug:** `LONGBRIDGE_MCP_ALERT_DISABLE`

Disable a price alert by alert_id. Use alert_list to find the numeric alert_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_id` | string | Yes | Alert indicator id |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes |  |
| `alert_id` | string | Yes |  |

### Alert enable

**Slug:** `LONGBRIDGE_MCP_ALERT_ENABLE`

Enable a price alert by alert_id. Use alert_list to find the numeric alert_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alert_id` | string | Yes | Alert indicator id |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes |  |
| `alert_id` | string | Yes |  |

### Alert list

**Slug:** `LONGBRIDGE_MCP_ALERT_LIST`

Get all configured price alerts.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lists` | string | No |  |

### Anomaly

**Slug:** `LONGBRIDGE_MCP_ANOMALY`

Get market anomaly alerts (unusual price/volume changes). market: HK/US/CN/SG. symbol: optional, filter to a specific stock. count: results per page (default 50, max 100).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of results to return (default: 50, max: 100) |
| `market` | string | Yes | Market code: HK, US, CN, SG |
| `symbol` | string | No | Filter to a specific symbol, e.g. "700.HK" or "AAPL.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `all_off` | string | No |  |
| `changes` | string | No |  |

### Bank cards

**Slug:** `LONGBRIDGE_MCP_BANK_CARDS`

List linked withdrawal bank cards for the current account. Returns cards[]{id, bank_name, account_number (masked), currency, status}.

### Broker holding

**Slug:** `LONGBRIDGE_MCP_BROKER_HOLDING`

Get top broker holding data for a symbol (HK stocks only; sourced from HKEX CCASS participant disclosure).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string | No | Period: "rct_1" (1 day, default), "rct_5" (5 days), "rct_20" (20 days), "rct_60" (60 days) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Broker holding daily

**Slug:** `LONGBRIDGE_MCP_BROKER_HOLDING_DAILY`

Get daily holding history for a specific broker (by broker_id) in a symbol (HK stocks only; sourced from HKEX CCASS participant disclosure).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `broker_id` | string | Yes | Broker participant number |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Broker holding detail

**Slug:** `LONGBRIDGE_MCP_BROKER_HOLDING_DETAIL`

Get full broker holding detail list for a symbol (HK stocks only; sourced from HKEX CCASS participant disclosure).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Brokers

**Slug:** `LONGBRIDGE_MCP_BROKERS`

Get broker queue (HK stocks only). Map broker IDs to names via participants.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ask_brokers` | array | Yes |  |
| `bid_brokers` | array | Yes |  |

### Business segments

**Slug:** `LONGBRIDGE_MCP_BUSINESS_SEGMENTS`

Get current-period business segment revenue breakdown for a symbol (name, percent, total, currency)

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |

### Business segments history

**Slug:** `LONGBRIDGE_MCP_BUSINESS_SEGMENTS_HISTORY`

Get historical business segment revenue trends (by period and category).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cate` | string | No | Segment category filter |
| `report` | string | No | Report period: "qf" (quarterly), "saf" (semi-annual), "af" (annual) |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `historical` | string | No |  |

### Calc indexes

**Slug:** `LONGBRIDGE_MCP_CALC_INDEXES`

Calculate financial indexes for symbols. Pass symbols, and optionally indexes (e.g. ["PeTtmRatio","PbRatio","LastDone","TurnoverRate"]). When indexes is omitted or empty, defaults to ["LastDone","ChangeValue","ChangeRate","Volume","PeTtmRatio","PbRatio","DividendRatioTtm","TurnoverRate","TotalMarketValue"]. Returns per-symbol index values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `indexes` | array | No | Calc indexes (optional; defaults to LastDone, ChangeValue, ChangeRate, Volume, PeTtmRatio, PbRatio, DividendRatioTtm, TurnoverRate, TotalMarketValue): LastDone, ChangeValue, ChangeRate, Volume, Turnover, YtdChangeRate, TurnoverRate, TotalMarketValue, CapitalFlow, Amplitude, VolumeRatio, PeTtmRatio, PbRatio, DividendRatioTtm, FiveDayChangeRate, TenDayChangeRate, HalfYearChangeRate, FiveMinutesChangeRate, ExpiryDate, StrikePrice, UpperStrikePrice, LowerStrikePrice, OutstandingQty, OutstandingRatio, Premium, ItmOtm, ImpliedVolatility, WarrantDelta, CallPrice, ToCallPrice, EffectiveLeverage, LeverageRatio, ConversionRatio, BalancePoint, OpenInterest, Delta, Gamma, Theta, Vega, Rho |
| `symbols` | array | Yes | Security symbols, e.g. ["700.HK", "AAPL.US"] |

### Cancel order

**Slug:** `LONGBRIDGE_MCP_CANCEL_ORDER`

Cancel an open order by order_id. Returns plain text "order cancelled" on success; errors if the order is already filled or cancelled. TWO-STEP CONFIRMATION IS MANDATORY: this tool is a DRY RUN unless you pass the confirmation_code its own dry run returned. Call it first without execute, show the returned preview to the user, and only call it again with execute="<confirmation_code>" after the user has explicitly confirmed that exact order. The code is derived from the order itself, so it applies only to that exact order. Never quote it back on your own initiative, and never in the same turn the user first asks. The dry run also echoes the order being targeted so the user can verify it is the right one. Set is_attached=true to cancel a single take-profit/stop-loss leg by its own order_id; cancelling a parent order cancels its legs along with it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `execute` | string | No | The `confirmation_code` from this order's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed that exact order. The code is single use, expires in 10 minutes, and applies only to this exact order — change any field and it stops working. Never quote it back on your own initiative, and never in the same turn the user first asks. |
| `order_id` | string | Yes | Order ID to cancel (from today's orders or order history) |
| `is_attached` | boolean | No | Set to true to cancel an attached take-profit / stop-loss leg by its own order_id, leaving the parent order in place. Omit (or false) to cancel a parent order, which cancels its attached legs with it. |

### Candlesticks

**Slug:** `LONGBRIDGE_MCP_CANDLESTICKS`

Get candlestick data (OHLCV). Only symbol is required; period defaults to day, count to 100 (max 1000), forward_adjust to false, trade_sessions to all. period: 1m/5m/15m/30m/60m/day/week/month/year. trade_sessions: intraday/all. If the account's entitlement caps out below the requested count, this returns as many candles as allowed instead of erroring — check the returned array length against count if an exact number matters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of candlesticks (optional, max 1000; default 100) |
| `period` | string | No | Period: 1m, 5m, 15m, 30m, 60m, day, week, month, year (default: day) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `forward_adjust` | boolean | No | Whether to forward-adjust for splits/dividends (default: false / no adjust) |
| `trade_sessions` | string | No | Trade sessions: "intraday" (regular hours only) or "all" (include pre-market and post-market; default "all") |

### Capital distribution

**Slug:** `LONGBRIDGE_MCP_CAPITAL_DISTRIBUTION`

Get capital distribution for a symbol. data_available is false for symbols with no capital-flow data (e.g. indices) — the other fields are still present but meaningless zeros in that case.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `timestamp` | string | Yes |  |
| `capital_in` | string | Yes |  |
| `capital_out` | string | Yes |  |
| `data_available` | boolean | Yes |  |

### Capital flow

**Slug:** `LONGBRIDGE_MCP_CAPITAL_FLOW`

Get capital inflow/outflow time series. Returns items[]{timestamp, inflow, outflow, net_flow} for the symbol (same-day data).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Cash flow

**Slug:** `LONGBRIDGE_MCP_CASH_FLOW`

Get cash flow records (deposits, withdrawals, dividends). Returns items[]{transaction_type, amount, currency, balance, created_at, remark}. start_at/end_at in RFC3339.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_at` | string | Yes | End time (RFC3339) |
| `start_at` | string | Yes | Start time (RFC3339) |

### Company

**Slug:** `LONGBRIDGE_MCP_COMPANY`

Get company overview. US accounts querying a .US symbol get a US-specific variant (intro, market_cap, top_rank_tags, sharelist, detail_url). The region is detected from the account automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ceo` | string | No |  |
| `name` | string | No |  |
| `intro` | string | No |  |
| `website` | string | No |  |
| `exchange` | string | No |  |
| `industry` | string | No |  |
| `employees` | string | No |  |
| `ccy_symbol` | string | No |  |
| `detail_url` | string | No |  |
| `market_cap` | string | No |  |
| `share_list` | string | No |  |
| `description` | string | No |  |
| `founded_year` | string | No |  |
| `top_rank_tags` | string | No |  |

### Consensus

**Slug:** `LONGBRIDGE_MCP_CONSENSUS`

Get financial consensus estimates for upcoming periods. US accounts querying a .US symbol get a US-specific variant (ai_summary plus a details[] list per period, instead of items[]). The region is detected from the account automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |
| `items` | string | No |  |
| `report` | string | No |  |
| `currency` | string | No |  |
| `ai_summary` | string | No |  |
| `opt_reports` | string | No |  |

### Constituent

**Slug:** `LONGBRIDGE_MCP_CONSTITUENT`

Get the constituents of an index or the asset allocation of an ETF. For an index (e.g. HSI.HK, .DJI.US) returns constituents[]{symbol, name, last_done, change_rate, market_cap, weight}. For an ETF (e.g. QQQ.US, 2800.HK) returns the asset allocation as info[] grouped by asset_type: 1=Holdings (top constituents with code, symbol, holding_detail), 2=Regional (country/region breakdown), 3=AssetClass (stock/bond/cash etc.), 4=Industry (sector breakdown). Each group has report_date and lists[]{name, position_ratio, name_locales}; Holdings groups additionally include code, symbol and holding_detail{industry_name, index_name, holding_type_name}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Index symbol, e.g. "HSI.HK" |

### Corp action

**Slug:** `LONGBRIDGE_MCP_CORP_ACTION`

Get corporate actions (splits, buybacks, name changes).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Create watchlist group

**Slug:** `LONGBRIDGE_MCP_CREATE_WATCHLIST_GROUP`

Create a new watchlist group. Optionally pass securities (e.g. ["AAPL.US", "700.HK"]) to pre-populate.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Group name |
| `securities` | array | No | Securities to add, e.g. ["700.HK", "AAPL.US"] |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes |  |

### Dca check

**Slug:** `LONGBRIDGE_MCP_DCA_CHECK`

Check whether given symbols support DCA recurring investment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbols` | array | Yes | Security symbols to check, e.g. ["AAPL.US", "TSLA.US"] |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Dca create

**Slug:** `LONGBRIDGE_MCP_DCA_CREATE`

Create a DCA recurring investment plan. frequency: Daily/Weekly/Monthly. day_of_week (Weekly): Mon/Tue/Wed/Thu/Fri. day_of_month (Monthly): 1-28.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amount` | string | Yes | Amount to invest per cycle, e.g. "100" |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |
| `frequency` | string | Yes | Investment frequency: Daily, Weekly, Monthly |
| `day_of_week` | string | No | Day of week for Weekly frequency: Mon, Tue, Wed, Thu, Fri |
| `allow_margin` | boolean | No | Allow margin financing (default false) |
| `day_of_month` | integer | No | Day of month for Monthly frequency (1-28) |

### Dca history

**Slug:** `LONGBRIDGE_MCP_DCA_HISTORY`

Get execution history records for a DCA plan by plan_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default 1) |
| `limit` | integer | No | Records per page (default 20) |
| `plan_id` | string | Yes | Plan ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `executions` | string | No |  |

### Dca list

**Slug:** `LONGBRIDGE_MCP_DCA_LIST`

List DCA recurring investment plans. Filter by status (Active/Suspended/Finished) or symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default 1) |
| `limit` | integer | No | Records per page (default 20) |
| `status` | string | No | Filter by status: Active, Suspended, Finished. Omit to return all. |
| `symbol` | string | No | Filter by symbol, e.g. "AAPL.US". Omit to return all plans. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plans` | string | No |  |

### Dca pause

**Slug:** `LONGBRIDGE_MCP_DCA_PAUSE`

Pause (suspend) a DCA plan by plan_id. The plan stops executing until resumed. Returns upstream API response. Use dca_resume to restart.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Plan ID |

### Dca resume

**Slug:** `LONGBRIDGE_MCP_DCA_RESUME`

Resume a suspended DCA plan by plan_id. Resumes automated execution on the configured schedule. Returns upstream API response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Plan ID |

### Dca stats

**Slug:** `LONGBRIDGE_MCP_DCA_STATS`

Get DCA investment statistics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | No | Filter by symbol, e.g. "AAPL.US". Omit to return stats for all plans. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |
| `plan_count` | string | No |  |
| `return_rate` | string | No |  |
| `total_value` | string | No |  |
| `total_return` | string | No |  |
| `total_invested` | string | No |  |

### Dca stop

**Slug:** `LONGBRIDGE_MCP_DCA_STOP`

Permanently stop a DCA plan by plan_id. This cannot be undone. To temporarily pause, use dca_pause instead. Returns upstream API response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `plan_id` | string | Yes | Plan ID |

### Dca update

**Slug:** `LONGBRIDGE_MCP_DCA_UPDATE`

Update an existing DCA plan by plan_id. Can change amount, frequency (Daily/Weekly/Monthly), day_of_week (Mon-Fri), or day_of_month (1-28). Returns updated plan.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amount` | string | No | New investment amount per cycle |
| `plan_id` | string | Yes | Plan ID to update |
| `frequency` | string | No | New investment frequency: Daily, Weekly, Monthly |
| `day_of_week` | string | No | Day of week for Weekly frequency: Mon, Tue, Wed, Thu, Fri |
| `allow_margin` | boolean | No | Allow margin financing |
| `day_of_month` | integer | No | Day of month for Monthly frequency (1-28) |

### Delete watchlist group

**Slug:** `LONGBRIDGE_MCP_DELETE_WATCHLIST_GROUP`

Delete a watchlist group by id (numeric). Set purge=true to also remove its securities from all other groups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Watchlist group id |
| `purge` | boolean | Yes | Whether to also remove the securities from other groups |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes |  |
| `deleted` | boolean | Yes |  |

### Deposits

**Slug:** `LONGBRIDGE_MCP_DEPOSITS`

List deposit history for the current account. Returns items[]{id, amount, currency, status, created_at, updated_at}. states: comma-separated (Pending/Finished/Failed). currencies: comma-separated codes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default: 1) |
| `size` | integer | No | Page size (default: 20) |
| `states` | string | No | Filter by deposit states (comma-separated) |
| `currencies` | string | No | Filter by currencies (comma-separated, e.g. "USD,HKD") |

### Depth

**Slug:** `LONGBRIDGE_MCP_DEPTH`

Get order book depth for a symbol. Up to 10 price levels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `asks` | array | Yes |  |
| `bids` | array | Yes |  |

### Dividend

**Slug:** `LONGBRIDGE_MCP_DIVIDEND`

Get dividend history for the symbol. US accounts querying a .US symbol get a US-specific variant (e.g. dividend_yield_ttm is a percent value: 0.34 means 0.34%). The region is detected from the account automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |
| `payout_ratios` | string | No |  |
| `dividend_history` | string | No |  |
| `recent_dividends` | string | No |  |
| `dividend_payout_history` | string | No |  |

### Dividend detail

**Slug:** `LONGBRIDGE_MCP_DIVIDEND_DETAIL`

Get detailed dividend distribution scheme.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `details` | string | No |  |

### Estimate max purchase quantity

**Slug:** `LONGBRIDGE_MCP_ESTIMATE_MAX_PURCHASE_QUANTITY`

Estimate maximum buy/sell quantity for a symbol. Only symbol is required; side (case-insensitive Buy/Sell) defaults to Buy, order_type (case-insensitive) defaults to LO, and price is optional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `side` | string | No | Buy or Sell (case-insensitive; default: Buy) |
| `price` | string | No | Limit price for limit-style orders. Omit for market orders. |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `order_type` | string | No | Order type, case-insensitive (default: LO): LO (Limit Order) / ELO (Enhanced Limit Order) / MO (Market Order) / AO (At-auction) / ALO (At-auction Limit Order) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cash_max_qty` | string | Yes |  |
| `margin_max_qty` | string | Yes |  |

### Exchange rate

**Slug:** `LONGBRIDGE_MCP_EXCHANGE_RATE`

Get exchange rates for all supported currencies. Returns list[]{from_currency, to_currency, rate, timestamp} covering USD, HKD, CNY, SGD and others.

### Executive

**Slug:** `LONGBRIDGE_MCP_EXECUTIVE`

Get company executive and board member information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `members` | string | No |  |

### Filings

**Slug:** `LONGBRIDGE_MCP_FILINGS`

Get regulatory filings (8-K, 10-Q, 10-K, etc.). Returns items[]{id, title, type, language, filing_date, url} for the symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Finance calendar

**Slug:** `LONGBRIDGE_MCP_FINANCE_CALENDAR`

Finance calendar by category: report (earnings) / dividend / split / ipo / macrodata (CPI, NFP, rates) / closed (holidays). start and end (YYYY-MM-DD) are optional, default today plus 7 days; keep ranges under 2 weeks or results truncate.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | End date in YYYY-MM-DD format (inclusive). Defaults to 7 days after `start`. |
| `start` | string | No | Start date in YYYY-MM-DD format (inclusive). Defaults to today (UTC). |
| `market` | string | No | Optional market filter. One of: HK, US, CN, SG, JP, UK, DE, AU. Omit to include all markets. |
| `category` | string | Yes | Event category. One of: - "report": earnings reports (includes financial statements) - "dividend": dividend announcements - "split": stock splits and reverse splits (share consolidations) - "ipo": upcoming IPO listings - "macrodata": macro economic data releases (CPI, NFP, rate decisions, etc.) - "closed": market closure days |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |
| `partial` | string | No |  |
| `partial_reason` | string | No |  |

### Financial report

**Slug:** `LONGBRIDGE_MCP_FINANCIAL_REPORT`

Get financial reports (income statement, balance sheet, cash flow). kind: IS/BS/CF/ALL. report_type: af (annual), saf (semi-annual), q1/q2/q3, qf (quarterly full).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string | No | Statement kind: "IS" (income statement), "BS" (balance sheet), "CF" (cash flow), "ALL" (default) |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |
| `report_type` | string | No | Report period: "af" (annual), "saf" (semi-annual), "q1"/"q2"/"q3" (quarterly), "qf" (quarterly full) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |
| `report` | string | No |  |
| `bs_list` | string | No |  |
| `cf_list` | string | No |  |
| `is_list` | string | No |  |
| `currency` | string | No |  |
| `ccy_symbol` | string | No |  |
| `report_type` | string | No |  |
| `empty_fields` | string | No |  |

### Financial report latest

**Slug:** `LONGBRIDGE_MCP_FINANCIAL_REPORT_LATEST`

Get the latest financial report summary for a security.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eps` | string | No |  |
| `roe` | string | No |  |
| `period` | string | No |  |
| `revenue` | string | No |  |
| `net_income` | string | No |  |
| `report_date` | string | No |  |
| `gross_margin` | string | No |  |

### Financial report snapshot

**Slug:** `LONGBRIDGE_MCP_FINANCIAL_REPORT_SNAPSHOT`

Get financial report snapshot: report_desc (text summary), fo_revenue/fo_ebit/fo_eps (actual vs forecast with yoy/cmp), fr_* financial ratios (ROE, margins, assets, cash flow). report: qf/saf/af.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `report` | string | No | Report type: "qf" (quarterly), "saf" (semi-annual), "af" (annual) |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |
| `fiscal_year` | integer | No | Fiscal year, e.g. 2024 |
| `fiscal_period` | string | No | Fiscal period, e.g. "1" "2" "3" "4" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fo_eps` | string | No |  |
| `fo_ebit` | string | No |  |
| `fo_revenue` | string | No |  |
| `report_desc` | string | No |  |

### Financial statement

**Slug:** `LONGBRIDGE_MCP_FINANCIAL_STATEMENT`

Get financial statements (income statement, balance sheet, or cash flow) for a security. kind: IS/BS/CF/ALL. report: af (annual, default), saf (semi-annual), qf (quarterly full), q1/q2/q3.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string | No | Statement kind: "IS" (income statement), "BS" (balance sheet), "CF" (cash flow), "ALL" (default) |
| `report` | string | No | Report period: "af" (annual), "saf" (semi-annual), "qf" (quarterly full), "q1"/"q2"/"q3" |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |
| `report` | string | No |  |
| `currency` | string | No |  |
| `cash_flow` | string | No |  |
| `empty_fields` | string | No |  |
| `balance_sheet` | string | No |  |
| `income_statement` | string | No |  |

### Forecast eps

**Slug:** `LONGBRIDGE_MCP_FORECAST_EPS`

Get EPS forecast and analyst estimate history.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Fund holder

**Slug:** `LONGBRIDGE_MCP_FUND_HOLDER`

Get funds and ETFs that hold a given symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fund_holders` | string | No |  |

### Fund positions

**Slug:** `LONGBRIDGE_MCP_FUND_POSITIONS`

Get current fund positions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | array | Yes |  |

### Grid cancel

**Slug:** `LONGBRIDGE_MCP_GRID_CANCEL`

Cancel (terminate) a grid order by order_id. TWO-STEP CONFIRMATION IS MANDATORY: this tool is a DRY RUN unless you pass the confirmation_code its own dry run returned. Call it first without execute, show the returned preview to the user, and only call it again with execute="<confirmation_code>" after the user has explicitly confirmed it. The code is derived from the order itself, so it applies only to that exact request. Never quote it back on your own initiative.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `execute` | string | No | The `confirmation_code` from this request's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed it. The code is single use, expires in 10 minutes, and applies only to this exact request — change any field and it stops working. A grid strategy keeps placing orders on its own once live, so never quote the code back on your own initiative. |
| `order_id` | string | Yes | Grid order ID. |

### Grid detail

**Slug:** `LONGBRIDGE_MCP_GRID_DETAIL`

Full detail for one grid order: rule parameters, status, embedded child orders (grid_sub_orders) and lifecycle history (grid_order_history). Supports history_id cursor + limit paging.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Page size for the embedded sub-order / history lists. |
| `order_id` | string | Yes | Grid order ID. |
| `history_id` | string | No | History cursor for paging the embedded trigger history. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string | No |  |
| `symbol` | string | No |  |
| `order_id` | string | No |  |
| `expire_time` | string | No |  |
| `grid_status` | string | No |  |
| `suspend_reason` | string | No |  |
| `grid_sub_orders` | string | No |  |
| `lower_limit_price` | string | No |  |
| `upper_limit_price` | string | No |  |
| `grid_order_history` | string | No |  |
| `settlement_currency` | string | No |  |
| `submitted_base_price` | string | No |  |

### Grid list

**Slug:** `LONGBRIDGE_MCP_GRID_LIST`

List grid trading orders. Filter by symbol or comma-joined status (e.g. "Performing,Suspended"); supports page/limit and sort_by/sort_order.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default 1). |
| `limit` | integer | No | Records per page (default 20). |
| `status` | string | No | Comma-joined status filter, e.g. "Performing,Suspended". Omit for all. |
| `symbol` | string | No | Filter by symbol, e.g. "700.HK". Omit for all grid orders. |
| `sort_by` | string | No | Sort field (e.g. "created_at"). |
| `sort_order` | string | No | Sort order ("asc" / "desc"). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `has_more` | boolean | Yes |  |
| `grid_order` | array | Yes |  |

### Grid list by ids

**Slug:** `LONGBRIDGE_MCP_GRID_LIST_BY_IDS`

Fetch specific grid orders by their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_ids` | array | Yes | Grid order IDs to fetch, e.g. ["123", "456"]. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `grid_orders` | array | Yes |  |

### Grid replace

**Slug:** `LONGBRIDGE_MCP_GRID_REPLACE`

Replace an existing grid order's rule by order_id. Accepts the same grid rule fields as grid_submit. Overwrites the order's entire rule. TWO-STEP CONFIRMATION IS MANDATORY: this tool is a DRY RUN unless you pass the confirmation_code its own dry run returned. Call it first without execute, show the returned preview to the user, and only call it again with execute="<confirmation_code>" after the user has explicitly confirmed it. The code is derived from the order itself, so it applies only to that exact request. Never quote it back on your own initiative. The dry run echoes the rule that would replace the current one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rth` | integer | No | Regular-trading-hours flag: 0 / 1 / 2. |
| `execute` | string | No | The `confirmation_code` from this request's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed it. The code is single use, expires in 10 minutes, and applies only to this exact request — change any field and it stops working. A grid strategy keeps placing orders on its own once live, so never quote the code back on your own initiative. |
| `order_id` | string | Yes | Grid order ID to replace. |
| `expire_time` | integer | No | Expiry time in unix seconds (use with GTD). |
| `time_in_force` | integer | No | Time in force: 0 = Day, 1 = GTC, 6 = GTD. |
| `multiple_trigger` | boolean | No | Whether one grid level may trigger multiple times. |
| `trigger_quantity` | string | No | Quantity per trigger (decimal string). |
| `lower_limit_event` | integer | No | Action at lower bound: 1 = ignore (keep running), 2 = close at last price. |
| `lower_limit_price` | string | No | Lower price bound (decimal string). |
| `support_shortsell` | boolean | No | Whether short selling is allowed. |
| `trigger_buy_depth` | integer | No | Buy-side order-book depth (-5..5; 0 = use grid_order_type_down). |
| `trigger_spread_up` | string | No | Upward trigger spread, absolute (decimal string; use with type 1). |
| `upper_limit_event` | integer | No | Action at upper bound: 1 = ignore (keep running), 2 = close at last price. |
| `upper_limit_price` | string | No | Upper price bound (decimal string). |
| `grid_order_type_up` | string | No | Sell-side order type when depth is 0: GMO / GLO / GTG. |
| `trigger_percent_up` | string | No | Upward trigger percent (decimal string; use with type 2). |
| `trigger_price_type` | integer | No | Trigger price type: 1 = spread (absolute), 2 = percent. |
| `trigger_sell_depth` | integer | No | Sell-side order-book depth (-5..5; 0 = use grid_order_type_up). |
| `trigger_spread_down` | string | No | Downward trigger spread, absolute (decimal string; use with type 1). |
| `grid_order_type_down` | string | No | Buy-side order type when depth is 0: GMO / GLO / GTG. |
| `lower_limit_quantity` | string | No | Quantity handled when the lower bound is reached (decimal string). |
| `submitted_base_price` | string | No | Base price the grid is anchored to (decimal string). |
| `trigger_percent_down` | string | No | Downward trigger percent (decimal string; use with type 2). |
| `upper_limit_quantity` | string | No | Quantity handled when the upper bound is reached (decimal string). |

### Grid restart

**Slug:** `LONGBRIDGE_MCP_GRID_RESTART`

Restart (resume) a suspended grid order by order_id. TWO-STEP CONFIRMATION IS MANDATORY: this tool is a DRY RUN unless you pass the confirmation_code its own dry run returned. Call it first without execute, show the returned preview to the user, and only call it again with execute="<confirmation_code>" after the user has explicitly confirmed it. The code is derived from the order itself, so it applies only to that exact request. Never quote it back on your own initiative. A restarted grid resumes placing orders on its own.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `execute` | string | No | The `confirmation_code` from this request's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed it. The code is single use, expires in 10 minutes, and applies only to this exact request — change any field and it stops working. A grid strategy keeps placing orders on its own once live, so never quote the code back on your own initiative. |
| `order_id` | string | Yes | Grid order ID. |

### Grid submit

**Slug:** `LONGBRIDGE_MCP_GRID_SUBMIT`

Submit a grid trading order. DRY RUN unless execute is the confirmation_code from its own dry run: call once without execute, show the preview, then re-call quoting the code only after the user confirms.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rth` | integer | No | Regular-trading-hours flag: 0 / 1 / 2. |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK". |
| `execute` | string | No | The `confirmation_code` from this request's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed it. The code is single use, expires in 10 minutes, and applies only to this exact request — change any field and it stops working. A grid strategy keeps placing orders on its own once live, so never quote the code back on your own initiative. |
| `expire_time` | integer | No | Expiry time in unix seconds (use with GTD). |
| `time_in_force` | integer | No | Time in force: 0 = Day, 1 = GTC, 6 = GTD. |
| `multiple_trigger` | boolean | No | Whether one grid level may trigger multiple times. |
| `trigger_quantity` | string | No | Quantity per trigger (decimal string). |
| `lower_limit_event` | integer | No | Action at lower bound: 1 = ignore (keep running), 2 = close at last price. |
| `lower_limit_price` | string | No | Lower price bound (decimal string). |
| `support_shortsell` | boolean | No | Whether short selling is allowed. |
| `trigger_buy_depth` | integer | No | Buy-side order-book depth (-5..5; 0 = use grid_order_type_down). |
| `trigger_spread_up` | string | No | Upward trigger spread, absolute (decimal string; use with type 1). |
| `upper_limit_event` | integer | No | Action at upper bound: 1 = ignore (keep running), 2 = close at last price. |
| `upper_limit_price` | string | No | Upper price bound (decimal string). |
| `grid_order_type_up` | string | No | Sell-side order type when depth is 0: GMO / GLO / GTG. |
| `trigger_percent_up` | string | No | Upward trigger percent (decimal string; use with type 2). |
| `trigger_price_type` | integer | No | Trigger price type: 1 = spread (absolute), 2 = percent. |
| `trigger_sell_depth` | integer | No | Sell-side order-book depth (-5..5; 0 = use grid_order_type_up). |
| `settlement_currency` | string | Yes | Settlement currency, e.g. "HKD". |
| `trigger_spread_down` | string | No | Downward trigger spread, absolute (decimal string; use with type 1). |
| `grid_order_type_down` | string | No | Buy-side order type when depth is 0: GMO / GLO / GTG. |
| `lower_limit_quantity` | string | No | Quantity handled when the lower bound is reached (decimal string). |
| `submitted_base_price` | string | No | Base price the grid is anchored to (decimal string). |
| `trigger_percent_down` | string | No | Downward trigger percent (decimal string; use with type 2). |
| `upper_limit_quantity` | string | No | Quantity handled when the upper bound is reached (decimal string). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dry_run` | boolean | Yes |  |
| `preview` | string | No |  |
| `order_id` | string | No |  |
| `next_step` | string | No |  |

### Grid suspend

**Slug:** `LONGBRIDGE_MCP_GRID_SUSPEND`

Suspend (pause) a running grid order by order_id. Resume with grid_restart. TWO-STEP CONFIRMATION IS MANDATORY: this tool is a DRY RUN unless you pass the confirmation_code its own dry run returned. Call it first without execute, show the returned preview to the user, and only call it again with execute="<confirmation_code>" after the user has explicitly confirmed it. The code is derived from the order itself, so it applies only to that exact request. Never quote it back on your own initiative.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `execute` | string | No | The `confirmation_code` from this request's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed it. The code is single use, expires in 10 minutes, and applies only to this exact request — change any field and it stops working. A grid strategy keeps placing orders on its own once live, so never quote the code back on your own initiative. |
| `order_id` | string | Yes | Grid order ID. |

### Grid symbol info

**Slug:** `LONGBRIDGE_MCP_GRID_SYMBOL_INFO`

Pre-trade grid setup info for a security (takes a symbol, not an order_id): security name, last price, board lot sizes (buy/sell), price-step (bid_size) table, and channel/authorization info (strategy grant flag, RTH support, supported s...

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK". |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No |  |
| `lot_size` | string | No |  |
| `bid_sizes` | string | No |  |
| `last_done` | string | No |  |
| `buy_lot_size` | string | No |  |
| `channel_info` | string | No |  |
| `sell_lot_size` | string | No |  |

### Grid trigger history

**Slug:** `LONGBRIDGE_MCP_GRID_TRIGGER_HISTORY`

Trigger history for one grid order: each triggered child order with price, quantity, executed price/qty, and trigger time. Supports page/limit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default 1). |
| `limit` | integer | No | Records per page (default 20). |
| `order_id` | string | Yes | Grid order ID whose trigger history to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `has_more` | boolean | Yes |  |
| `trigger_orders` | array | Yes |  |

### History candlesticks by date

**Slug:** `LONGBRIDGE_MCP_HISTORY_CANDLESTICKS_BY_DATE`

Get historical candlestick data by date range. Only symbol is required; period defaults to day (1m/5m/15m/30m/60m/day/week/month/year), forward_adjust to false, trade_sessions to all.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | End date (yyyy-mm-dd), optional |
| `start` | string | No | Start date (yyyy-mm-dd), optional |
| `period` | string | No | Period: 1m, 5m, 15m, 30m, 60m, day, week, month, year (default: day) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `forward_adjust` | boolean | No | Whether to forward-adjust for splits/dividends (default: false / no adjust) |
| `trade_sessions` | string | No | Trade sessions: "intraday" (regular hours only) or "all" (include pre-market and post-market; default "all") |

### History candlesticks by offset

**Slug:** `LONGBRIDGE_MCP_HISTORY_CANDLESTICKS_BY_OFFSET`

Get historical candlestick data by offset from a reference time. Only symbol is required; period defaults to day (1m/5m/15m/30m/60m/day/week/month/year), count to 100, forward_adjust/forward to false, trade_sessions to all. If the account's entitlement caps out below the requested count, this returns as many candles as allowed instead of erroring — check the returned array length against count if an exact number matters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `time` | string | No | Reference datetime (yyyy-mm-ddTHH:MM:SS), omit to start from latest |
| `count` | integer | No | Number of candlesticks (optional, max 1000; default 100) |
| `period` | string | No | Period: 1m, 5m, 15m, 30m, 60m, day, week, month, year (default: day) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `forward` | boolean | No | Whether to query forward in time (true) or backward (false; default) |
| `forward_adjust` | boolean | No | Whether to forward-adjust for splits/dividends (default: false / no adjust) |
| `trade_sessions` | string | No | Trade sessions: "intraday" (regular hours only) or "all" (include pre-market and post-market; default "all") |

### History executions

**Slug:** `LONGBRIDGE_MCP_HISTORY_EXECUTIONS`

Get historical trade executions between dates. Returns executions[]{order_id, symbol, side, quantity, price, trade_done_at}. start_at/end_at in RFC3339.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_at` | string | Yes | End time (RFC3339) |
| `symbol` | string | No | Filter by symbol (optional) |
| `us_page` | integer | No | US accounts only: page number (default 1). Ignored for AP accounts (the region is inferred from the account — do not pass it). |
| `start_at` | string | Yes | Start time (RFC3339) |
| `us_limit` | integer | No | US accounts only: page size (default 20). Ignored for AP accounts. |

### History market temperature

**Slug:** `LONGBRIDGE_MCP_HISTORY_MARKET_TEMPERATURE`

Get historical market temperature time series.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | End date (yyyy-mm-dd) |
| `start` | string | Yes | Start date (yyyy-mm-dd) |
| `market` | string | Yes | Market code: HK, US, CN, SG |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | array | Yes |  |
| `type` | string | Yes |  |

### History orders

**Slug:** `LONGBRIDGE_MCP_HISTORY_ORDERS`

Get historical orders between dates (excludes today). Returns orders[]{order_id, symbol, side, status, quantity, price, submitted_at}. start_at/end_at in RFC3339. US accounts only: us_page, us_limit paginate via a separate US order endpoint (default page size 20 — pass us_page to see more than the first page).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_at` | string | Yes | End time (RFC3339) |
| `symbol` | string | No | Filter by symbol (optional) |
| `us_page` | integer | No | US accounts only: page number (default 1). Ignored for AP accounts (the region is inferred from the account — do not pass it). |
| `start_at` | string | Yes | Start time (RFC3339) |
| `us_limit` | integer | No | US accounts only: page size (default 20). Ignored for AP accounts. |

### Industry peers

**Slug:** `LONGBRIDGE_MCP_INDUSTRY_PEERS`

Hierarchical sub-sector tree for an industry group. Accepts BK counter_id from industry_rank (e.g. BK/US/IN00258). Each node shows stock count, daily change, and YTD change.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | BK counter_id from `industry_rank`, e.g. "BK/US/IN00258". |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top` | string | No |  |
| `chain` | string | No |  |

### Industry rank

**Slug:** `LONGBRIDGE_MCP_INDUSTRY_RANK`

Industry ranking list by market (US/HK/CN/SG) and indicator (0=领涨/1=今日走势/2=人气/3=市值/4=营收/5=营收增长率/6=净利润/7=净利润增长率). sort_type: 0=单级 1=多层. Returns items[]{counter_id(BK/US/IN00258), name, chg, lists[]}. Pass counter_id directly to industry_peers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | string | No | Number of results to return (default: returns all) |
| `market` | string | Yes | Market: "US" &#124; "HK" &#124; "SG" &#124; "CN" |
| `indicator` | string | No | Ranking indicator (default: "0"):   "0" = 领涨行业, "1" = 今日走势, "2" = 行业人气, "3" = 市值,   "4" = 营收, "5" = 营收增长率, "6" = 净利润, "7" = 净利润增长率 |
| `sort_type` | string | No | Sort type: "0" = 单级 (default) &#124; "1" = 多层 |

### Industry valuation

**Slug:** `LONGBRIDGE_MCP_INDUSTRY_VALUATION`

Get industry valuation comparison for peers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |

### Industry valuation dist

**Slug:** `LONGBRIDGE_MCP_INDUSTRY_VALUATION_DIST`

Get industry PE/PB/PS valuation distribution.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `distributions` | string | No |  |

### Institutional views

**Slug:** `LONGBRIDGE_MCP_INSTITUTIONAL_VIEWS`

Get monthly institutional rating distribution timeline.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `months` | string | No |  |

### Institution rating

**Slug:** `LONGBRIDGE_MCP_INSTITUTION_RATING`

Get institution rating summary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `analyst` | string | No |  |
| `warnings` | string | No |  |
| `instratings` | string | No |  |

### Institution rating detail

**Slug:** `LONGBRIDGE_MCP_INSTITUTION_RATING_DETAIL`

Get detailed historical institution ratings and target price history.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | No |  |

### Institution rating history

**Slug:** `LONGBRIDGE_MCP_INSTITUTION_RATING_HISTORY`

Get institution rating history.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target_history` | string | No |  |
| `evaluate_history` | string | No |  |

### Institution rating industry rank

**Slug:** `LONGBRIDGE_MCP_INSTITUTION_RATING_INDUSTRY_RANK`

Get peers ranked by institution analyst ratings in the same industry. Paginated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default: 1) |
| `size` | integer | No | Page size (default: 20) |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |
| `items` | string | No |  |

### Intraday

**Slug:** `LONGBRIDGE_MCP_INTRADAY`

Get intraday minute-by-minute price/volume data. trade_sessions: "intraday" (default, regular hours) or "all" (include pre-market and post-market)

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `trade_sessions` | string | No | Trade sessions to include: "intraday" (default, regular hours only) or "all" (include pre-market and post-market). |

### Invest relation

**Slug:** `LONGBRIDGE_MCP_INVEST_RELATION`

Get investor relations events and announcements.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Ipo calendar

**Slug:** `LONGBRIDGE_MCP_IPO_CALENDAR`

Show the IPO calendar.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Ipo detail

**Slug:** `LONGBRIDGE_MCP_IPO_DETAIL`

Show IPO detail for a symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `market` | string | No | Market: "HK" or "US" (default: inferred from symbol suffix) |
| `symbol` | string | Yes | Security symbol, e.g. "6871.HK" or "ARM.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | No |  |
| `timeline` | string | No |  |
| `eligibility` | string | No |  |

### Ipo listed

**Slug:** `LONGBRIDGE_MCP_IPO_LISTED`

List recently listed IPO stocks (HK+US).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default: 1) |
| `size` | integer | No | Page size (default: 20) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hk` | string | Yes |  |
| `us` | string | Yes |  |

### Ipo order detail

**Slug:** `LONGBRIDGE_MCP_IPO_ORDER_DETAIL`

Show detailed information for a specific IPO order by order_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | IPO order ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `market` | string | No |  |
| `status` | string | No |  |
| `symbol` | string | No |  |
| `order_id` | string | No |  |
| `quantity` | string | No |  |
| `submitted_at` | string | No |  |
| `total_amount` | string | No |  |
| `allotted_quantity` | string | No |  |

### Ipo orders

**Slug:** `LONGBRIDGE_MCP_IPO_ORDERS`

List IPO orders (active+history). Filter by symbol, market, or status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default: 1) |
| `size` | integer | No | Page size (default: 20) |
| `market` | string | No | Filter by market: "HK" or "US" |
| `status` | string | No | Filter by order status |
| `symbol` | string | No | Filter by symbol, e.g. "6871.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orders` | string | Yes |  |
| `history` | string | Yes |  |

### Ipo profit loss

**Slug:** `LONGBRIDGE_MCP_IPO_PROFIT_LOSS`

Show IPO profit/loss summary and per-stock breakdown. period: all/ytd/1y/3y.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default: 1) |
| `size` | integer | No | Page size (default: 20) |
| `period` | string | No | Period filter: "all", "ytd", "1y", "3y" (default: "all") |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | Yes |  |
| `summary` | string | Yes |  |

### Ipo subscriptions

**Slug:** `LONGBRIDGE_MCP_IPO_SUBSCRIPTIONS`

List IPO stocks in subscription/pre-filing stage (HK+US).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hk` | string | Yes |  |
| `us` | string | Yes |  |

### Macrodata

**Slug:** `LONGBRIDGE_MCP_MACRODATA`

Get historical observations for one macro-economic indicator. Use indicator_code from macrodata_indicators; start_date/end_date accept YYYY-MM-DD. Supports offset/limit pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of data points to return (default 100, max 100). |
| `offset` | integer | No | Pagination offset for historical data points, default 0. |
| `end_date` | string | No | Latest release date to include (YYYY-MM-DD, e.g. `"2024-12-31"`). |
| `start_date` | string | No | Earliest release date to include (YYYY-MM-DD, e.g. `"2024-01-01"`). |
| `indicator_code` | string | Yes | Indicator code from `macrodata_indicators`, e.g. `"30771718"`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes |  |
| `info` | string | Yes |  |
| `count` | integer | Yes |  |

### Macrodata indicators

**Slug:** `LONGBRIDGE_MCP_MACRODATA_INDICATORS`

List macro-economic indicators. Filter by keyword and country (US/CN/HK/EU/JP/SG). Use the returned indicator_code with macrodata. Supports offset/limit pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of indicators to return (default 100, max 1000). |
| `offset` | integer | No | Pagination offset, default 0. |
| `country` | string | No | Filter by country code. One of: "US", "CN", "HK", "EU", "JP", "SG". Omit to return all countries. |
| `keyword` | string | No | Keyword to search indicator names (e.g. "CPI", "非农", "GDP"). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | array | Yes |  |
| `count` | integer | Yes |  |

### Margin ratio

**Slug:** `LONGBRIDGE_MCP_MARGIN_RATIO`

Get margin ratio for a symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fm_factor` | string | Yes |  |
| `im_factor` | string | Yes |  |
| `mm_factor` | string | Yes |  |

### Market status

**Slug:** `LONGBRIDGE_MCP_MARKET_STATUS`

Get current market trading status for all markets.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `market_time` | string | No |  |

### Market temperature

**Slug:** `LONGBRIDGE_MCP_MARKET_TEMPERATURE`

Get current market sentiment temperature. market: HK/US/CN/SG.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `market` | string | Yes | Market code: HK, US, CN, SG |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sentiment` | integer | Yes |  |
| `timestamp` | string | Yes |  |
| `valuation` | integer | Yes |  |
| `description` | string | Yes |  |
| `temperature` | integer | Yes |  |

### News

**Slug:** `LONGBRIDGE_MCP_NEWS`

Get latest news articles for a symbol. Returns items[]{id, title, source, publish_time, summary, url, related_symbols[]}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### News detail

**Slug:** `LONGBRIDGE_MCP_NEWS_DETAIL`

Get one news article's full detail by id (from news/news_search).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | News article ID (numeric), e.g. "7123456789012345678". Get IDs from `news` or `news_search`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No |  |
| `url` | string | No |  |
| `body` | string | No |  |
| `title` | string | No |  |
| `author` | string | No |  |
| `images` | string | No |  |
| `tickers` | string | No |  |
| `description` | string | No |  |
| `likes_count` | string | No |  |
| `published_at` | string | No |  |
| `shares_count` | string | No |  |
| `comments_count` | string | No |  |

### News search

**Slug:** `LONGBRIDGE_MCP_NEWS_SEARCH`

Search news articles by keyword. Returns news_list[]{id, title, description, source_name, publish_at (RFC3339), score}. Paginate with score+publish_at_timestamp+id cursors.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max results to return (default: 20) |
| `keyword` | string | Yes | Search keyword |

### Now

**Slug:** `LONGBRIDGE_MCP_NOW`

Get current UTC time as an RFC3339 string (e.g. "2025-01-15T08:30:00Z"). Use to determine current date/time before making date-based queries.

### Operating

**Slug:** `LONGBRIDGE_MCP_OPERATING`

Get company operating metrics (HK stocks only).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |

### Option chain expiry date list

**Slug:** `LONGBRIDGE_MCP_OPTION_CHAIN_EXPIRY_DATE_LIST`

Get option chain expiry dates for a symbol (e.g. AAPL.US). Returns expiry_dates[] as "yyyy-mm-dd" strings. Use with option_chain_info_by_date to get strikes and Greeks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Option chain info by date

**Slug:** `LONGBRIDGE_MCP_OPTION_CHAIN_INFO_BY_DATE`

Get option chain for an expiry date. Returns strikePrices[]{strike_price, call{symbol, last_done, iv, delta, gamma}, put{symbol, last_done, iv, delta, gamma}}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date (yyyy-mm-dd) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Option quote

**Slug:** `LONGBRIDGE_MCP_OPTION_QUOTE`

Get option quotes (max 500 symbols). Symbols must be option contract symbols (e.g. "AAPL230317P160000.US"), NOT plain stock symbols — obtain valid ones from option_chain_info_by_date's call.symbol/put.symbol fields. Returns last_done, prev_close, open, high, low, volume, turnover, implied_volatility, delta, gamma, theta, vega, rho, open_interest per symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbols` | array | Yes | Option contract symbols, e.g. ["AAPL230317P160000.US"]. These are NOT plain stock symbols — get valid ones from `option_chain_info_by_date`'s per-strike `call.symbol`/`put.symbol` fields (after listing expiry dates with `option_chain_expiry_date_list`). |

### Option volume

**Slug:** `LONGBRIDGE_MCP_OPTION_VOLUME`

Get real-time option call/put volume stats for a US stock. Returns {call_volume, put_volume, put_call_ratio, call_oi, put_oi} and top active contracts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Underlying symbol (US market only), e.g. "AAPL.US" |

### Option volume daily

**Slug:** `LONGBRIDGE_MCP_OPTION_VOLUME_DAILY`

Get daily historical option stats for a US stock. Returns items[]{date, call_volume, put_volume, put_call_vol_ratio, call_oi, put_oi, put_call_oi_ratio}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of trading days to return (default 20) |
| `symbol` | string | Yes | Underlying symbol (US market only), e.g. "AAPL.US" |

### Order detail

**Slug:** `LONGBRIDGE_MCP_ORDER_DETAIL`

Get detailed information about a specific order. To look up such a leg by its own ID instead, pass it as order_id with is_attached=true: the response is then that leg, with charge_detail null.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | Order ID to look up. A parent order ID, or (with is_attached=true) the ID of an attached take-profit / stop-loss leg. |
| `is_attached` | boolean | No | Set to true when order_id is the ID of an attached take-profit / stop-loss leg rather than a parent order. The response is then that leg itself, with charge_detail null. Omit (or false) for parent orders. Has no effect for US accounts, which are served by the US order endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `msg` | string | No |  |
| `tag` | string | No |  |
| `side` | string | No |  |
| `order` | string | No |  |
| `price` | string | No |  |
| `status` | string | No |  |
| `symbol` | string | No |  |
| `currency` | string | No |  |
| `order_id` | string | No |  |
| `quantity` | string | No |  |
| `last_done` | string | No |  |
| `order_type` | string | No |  |
| `stock_name` | string | No |  |
| `trigger_at` | string | No |  |
| `updated_at` | string | No |  |
| `expire_date` | string | No |  |
| `outside_rth` | string | No |  |
| `limit_offset` | string | No |  |
| `submitted_at` | string | No |  |
| `time_in_force` | string | No |  |
| `trigger_price` | string | No |  |
| `executed_price` | string | No |  |
| `trigger_status` | string | No |  |
| `attached_orders` | array | Yes |  |
| `trailing_amount` | string | No |  |
| `trailing_percent` | string | No |  |
| `executed_quantity` | string | No |  |
| `current_millisecond` | string | No |  |

### Participants

**Slug:** `LONGBRIDGE_MCP_PARTICIPANTS`

Get HK market participant broker information. Returns participants[]{broker_ids[], name_en, name_cn, name_hk}. Use broker_ids to interpret broker queue data.

### Profit analysis

**Slug:** `LONGBRIDGE_MCP_PROFIT_ANALYSIS`

Get portfolio profit and loss analysis summary. start/end: optional date range in yyyy-mm-dd format. Both must be provided together — passing only one returns empty results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | End date (yyyy-mm-dd). Must be paired with `start`; passing only one returns empty results. |
| `start` | string | No | Start date (yyyy-mm-dd). Must be paired with `end`; passing only one returns empty results. |

### Profit analysis detail

**Slug:** `LONGBRIDGE_MCP_PROFIT_ANALYSIS_DETAIL`

Get detailed profit and loss analysis for a specific symbol. start/end: optional date range in yyyy-mm-dd format. Both must be provided together — passing only one returns empty results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | End date (yyyy-mm-dd). Must be paired with `start`; passing only one returns empty results. |
| `start` | string | No | Start date (yyyy-mm-dd). Must be paired with `end`; passing only one returns empty results. |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Quant run

**Slug:** `LONGBRIDGE_MCP_QUANT_RUN`

Run a quant indicator script against historical K-line data on the server. Executes the script server-side and returns the computed indicator/plot values as JSON. Periods: 1m, 5m, 15m, 30m, 1h, day, week, month, year (default: day). The optional input parameter accepts a JSON array matching the order of input.*() calls in the script, e.g. "[14,2.0]".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | End date (YYYY-MM-DD) for the K-line range |
| `input` | string | No | Script input values as a JSON array, e.g. "[14,2.0]". Must match the order of input.*() calls in the script. |
| `start` | string | Yes | Start date (YYYY-MM-DD) for the K-line range |
| `period` | string | No | K-line period: 1m, 5m, 15m, 30m, 1h, day, week, month, year (default: day) |
| `script` | string | No | Indicator script source. |
| `symbol` | string | Yes | Symbol in <CODE>.<MARKET> format, e.g. TSLA.US, 700.HK |

### Quote

**Slug:** `LONGBRIDGE_MCP_QUOTE`

Get latest price quotes. Returns per symbol: last_done, prev_close, open, high, low, volume, turnover, change_rate, change_value, trade_status, timestamp.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbols` | array | Yes | Security symbols, e.g. ["700.HK", "AAPL.US"] |

### Rank categories

**Slug:** `LONGBRIDGE_MCP_RANK_CATEGORIES`

Get rank tab category configurations for the popularity leaderboard. Pass a second_tags key (e.g. `hot_all-us`) to rank_list.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `first_tags` | string | No |  |

### Rank list

**Slug:** `LONGBRIDGE_MCP_RANK_LIST`

Get ranked stock list by leaderboard tab key. key: from rank_categories second_tags[].key (e.g. "hot_all-us", "hot_up-hk", "trade_heat-us"). market: inferred from key suffix (-us/-hk) or pass explicitly. size: results (default 20).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Tab key from rank_categories second_tags[].key, e.g. "hot_all-us" (US total heat), "hot_up-hk" (HK rising heat), "trade_heat-us" (US hot trades). The "ib_" prefix is stripped from rank_categories keys and added back automatically. |
| `size` | integer | No | Number of results to return (default: 20) |
| `market` | string | No | Market override: "US" &#124; "HK" &#124; "CN" &#124; "SG". Defaults to the market suffix in the key (e.g. "ib_hot_all-hk" → HK), then "US". |
| `need_article` | boolean | No | Whether to include related news articles (default: false) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lists` | string | No |  |
| `updated_at` | string | No |  |

### Replace order

**Slug:** `LONGBRIDGE_MCP_REPLACE_ORDER`

Modify an open order's quantity, price, trigger_price, or trailing params. Returns "order replaced" on success. Only open/pending orders can be modified. TWO-STEP CONFIRMATION IS MANDATORY: this tool is a DRY RUN unless you pass the confirmation_code its own dry run returned. Call it first without execute, show the returned preview to the user, and only call it again with execute="<confirmation_code>" after the user has explicitly confirmed that exact order. The code is derived from the order itself, so it applies only to that exact order. Never quote it back on your own initiative, and never in the same turn the user first asks. The dry run echoes the current order alongside the requested change. Attached take-profit/stop-loss legs are changed here too: attached_order_type with the new attached_profit_taker_price / attached_stop_loss_price adds or reprices a leg, attached_profit_taker_id / attached_stop_loss_id target an existing leg, and attached_cancel_all=true removes every leg while leaving the order in place.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price` | string | No | New limit price (for limit-style orders) |
| `execute` | string | No | The `confirmation_code` from this order's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed that exact order. The code is single use, expires in 10 minutes, and applies only to this exact order — change any field and it stops working. Never quote it back on your own initiative, and never in the same turn the user first asks. |
| `order_id` | string | Yes | Order ID to replace (returned by submit_order or listed in today_orders / history_orders) |
| `quantity` | string | Yes | New order quantity (number of shares) |
| `limit_offset` | string | No | New limit offset from the trailing stop price (for TSLPAMT / TSLPPCT) |
| `trigger_price` | string | No | New trigger (activation) price (for LIT / MIT / trailing-stop orders) |
| `trailing_amount` | string | No | New trailing amount as absolute price distance (for TSLPAMT) |
| `attached_main_id` | string | No | ID of the parent order that owns the attached leg, when the leg is modified on its own rather than through its parent. |
| `trailing_percent` | string | No | New trailing percent as decimal e.g. 0.05 = 5% (for TSLPPCT) |
| `attached_quantity` | string | No | New quantity for the attached leg. |
| `attached_cancel_all` | boolean | No | Set to true to cancel every attached take-profit / stop-loss leg of this order, leaving the order itself in place. |
| `attached_order_type` | string | No | Attached leg to add or update: "PROFIT_TAKER", "STOP_LOSS" or "BRACKET". Required unless the only attached change is attached_cancel_all. |
| `attached_expire_time` | string | No | New expiry for the attached leg as a unix timestamp in seconds. Required when attached_time_in_force is GTD. |
| `attached_outside_rth` | string | No | New outside-RTH setting for the triggered leg: "RTH_ONLY" / "ANY_TIME" / "OVERNIGHT". |
| `attached_market_price` | string | No | Reference market price for the attached leg. |
| `attached_stop_loss_id` | string | No | ID of the existing stop-loss leg to update (from order_detail's attached_orders[]). Omit to add a new leg. |
| `attached_time_in_force` | string | No | New time-in-force for the attached leg: "Day" / "GTC" / "GTD". |
| `attached_profit_taker_id` | string | No | ID of the existing take-profit leg to update (from order_detail's attached_orders[]). Omit to add a new leg. |
| `attached_stop_loss_price` | string | No | New stop-loss trigger price. |
| `attached_profit_taker_price` | string | No | New take-profit trigger price. |
| `attached_activate_order_type` | string | No | New order type for the triggered leg, e.g. "LO" or "MO". |
| `attached_stop_loss_submit_price` | string | No | New limit price for the stop-loss leg. |
| `attached_profit_taker_submit_price` | string | No | New limit price for the take-profit leg. |

### Screener indicators

**Slug:** `LONGBRIDGE_MCP_SCREENER_INDICATORS`

Get all available screener indicator keys with units and default value ranges. Technical indicators include a tech_values field showing available options (e.g. macd_day: {category:[goldenfork,deadcross], period:[day,week]}).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | No | Optional security symbol to filter indicators for a specific stock, e.g. "AAPL.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `groups` | string | No |  |

### Screener recommend strategies

**Slug:** `LONGBRIDGE_MCP_SCREENER_RECOMMEND_STRATEGIES`

List platform-preset screener strategies. market: US|HK|CN|SG (default: US). Pass id to screener_search strategy_id to run, or screener_strategy to inspect filter conditions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `market` | string | No | Market filter: "US" &#124; "HK" &#124; "CN" &#124; "SG" (default: "US") |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `strategys` | string | No |  |

### Screener search

**Slug:** `LONGBRIDGE_MCP_SCREENER_SEARCH`

Screen stocks. market: US|HK|CN|SG (Mode B required; Mode A uses strategy's market). Mode A: strategy_id from screener_recommend_strategies — auto-runs saved strategy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, 0-based (default: 0) |
| `size` | integer | No | Page size (default: 20, max: 100) |
| `market` | string | No | Market: "US" &#124; "HK" &#124; "CN" &#124; "SG". Mode A: overridden by the market embedded in the strategy; pass any value or omit. Mode B: required — determines which market to screen. |
| `conditions` | array | No | Mode B — Filter conditions, passed directly to the API. Omit for Mode A.  Fundamental keys (pass with or without filter_ prefix):   pettm  pbmrq  roe  roa  netmargin   salesgrowthyoy  netincomegrowthyoy  marketcap(亿)   circulating_marketcap(亿)  prevclose  prevchg(%)   divyld  la  epsttm  netincome(亿)  sales(亿)  turnover_rate  balance(万)  Technical indicator keys (tech_values required; call screener_indicators for schema):   macd_day/week  → {"category":"goldenfork"&#124;"deadcross","period":"day"&#124;"week"}   rsi_day/week   → {"value_type":"overbought"&#124;"oversold"}   kdj_day/week   → {"category":"goldenfork"&#124;"deadcross"}   boll_day/week  → {"category":"breakthrough_up"&#124;"breakthrough_down"} |
| `sort_order` | string | No | Sort order: "asc" &#124; "desc" (default: "desc") |
| `sort_by_key` | string | No | Indicator key to sort results by (e.g. "marketcap", "roe"). Defaults to the first condition key. Must be one of the condition or extra_returns keys. |
| `strategy_id` | string | No | Mode A — Strategy ID from screener_recommend_strategies screeners[].id. The tool auto-fetches the strategy and builds filters. Omit for Mode B. |
| `extra_returns` | array | No | Extra indicator keys to include in each result row (display-only, not used as filters). Same key naming as conditions (filter_ prefix added automatically). Example: ["marketcap", "prevclose", "epsttm"] |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `items` | string | No |  |
| `total` | string | No |  |

### Screener strategy

**Slug:** `LONGBRIDGE_MCP_SCREENER_STRATEGY`

Inspect a screener strategy's filter conditions before running it. Use screener_search strategy_id to execute the strategy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Strategy ID from screener_recommend_strategies or screener_user_strategies screeners[].id |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string | No |  |
| `market` | string | No |  |

### Screener user strategies

**Slug:** `LONGBRIDGE_MCP_SCREENER_USER_STRATEGIES`

List the current user's saved screener strategies. market: US|HK|CN|SG (default: US). Pass id to screener_search strategy_id to run, or screener_strategy to inspect conditions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `market` | string | No | Market filter: "US" &#124; "HK" &#124; "CN" &#124; "SG" (default: "US") |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `strategys` | string | No |  |

### Security facts

**Slug:** `LONGBRIDGE_MCP_SECURITY_FACTS`

List a security's fact (catalyst) events — anomaly detections, factor readings, data sources and natural-language summaries — filtered by time range and count. Facts are what strategies react to: a signal names its trigger in key_fact_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of facts to return. If the number of facts in the time range exceeds this limit, only the latest 'limit' facts will be returned. Defaults to 100. |
| `symbol` | string | Yes | Security symbol to query, e.g. "AAPL.US" or "700.HK". |
| `end_time` | string | No | The end time of the fact to be queried, formatted as 2006-01-02T15:04:05Z in UTC Timezone. If left empty, the query will default to retrieving the latest data. |
| `begin_time` | string | No | The optional start time of the fact query, formatted as 2006-01-02T15:04:05Z in UTC Timezone. If left empty, the query will include the earliest available data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `facts` | array | Yes |  |

### Security list

**Slug:** `LONGBRIDGE_MCP_SECURITY_LIST`

Get security list for a market. Supports market: US, HK, CN, SG. category: "Overnight" (default). page: 1-based page number (default 1). count: records per page (default 50).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, 1-based (default: 1) |
| `count` | integer | No | Records per page (default: 50) |
| `market` | string | Yes | Market code: US, HK, CN, SG |
| `category` | string | No | Category filter. Currently only "Overnight" is supported; omitting defaults to Overnight. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes |  |
| `count` | integer | Yes |  |
| `items` | array | Yes |  |
| `total` | integer | Yes |  |

### Shareholder

**Slug:** `LONGBRIDGE_MCP_SHAREHOLDER`

Get institutional shareholders for a symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `shareholders` | string | No |  |

### Shareholder detail

**Slug:** `LONGBRIDGE_MCP_SHAREHOLDER_DETAIL`

Get a single shareholder's holding and trade history. Requires object_id from shareholder_top. Note: trading_details[] is empty for institutional (13F) holders — it is only populated for insider/individual filers (Form 4).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |
| `object_id` | integer | Yes | Shareholder object_id from shareholder_top tool |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No |  |
| `tradings` | string | No |  |
| `owner_source` | string | No |  |
| `holding_periods` | string | No |  |
| `holding_summary` | string | No |  |
| `trading_periods` | string | No |  |

### Shareholder top

**Slug:** `LONGBRIDGE_MCP_SHAREHOLDER_TOP`

Get Top 20 major shareholders (institutions, individuals, insiders) across reporting periods. Use object_id with shareholder_detail to drill into a holder's full trade history.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `info` | string | No |  |

### Sharelist add

**Slug:** `LONGBRIDGE_MCP_SHARELIST_ADD`

Add securities to a community sharelist by id. Provide symbols (e.g. ["AAPL.US", "700.HK"]) to add. Returns upstream API response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Sharelist ID |
| `symbols` | array | Yes | Security symbols, e.g. ["AAPL.US", "700.HK"] |

### Sharelist create

**Slug:** `LONGBRIDGE_MCP_SHARELIST_CREATE`

Create a new community sharelist with a name and optional description.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | List name (also used as description if `description` is omitted). |
| `description` | string | No | List description. Defaults to `name` when omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No |  |
| `name` | string | No |  |
| `description` | string | No |  |

### Sharelist delete

**Slug:** `LONGBRIDGE_MCP_SHARELIST_DELETE`

Delete a community sharelist by id (own lists only; subscribed lists cannot be deleted). Returns upstream API response on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Sharelist ID |

### Sharelist detail

**Slug:** `LONGBRIDGE_MCP_SHARELIST_DETAIL`

Get community sharelist detail by id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Sharelist ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No |  |
| `name` | string | No |  |
| `description` | string | No |  |
| `constituents` | string | No |  |

### Sharelist list

**Slug:** `LONGBRIDGE_MCP_SHARELIST_LIST`

List user's own and subscribed community sharelists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of lists to return (default 20) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lists` | string | No |  |

### Sharelist popular

**Slug:** `LONGBRIDGE_MCP_SHARELIST_POPULAR`

Get popular/trending community sharelists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of lists to return (default 20) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lists` | string | No |  |

### Sharelist remove

**Slug:** `LONGBRIDGE_MCP_SHARELIST_REMOVE`

Remove securities from a community sharelist by id. Provide symbols to remove. Returns upstream API response on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Sharelist ID |
| `symbols` | array | Yes | Security symbols, e.g. ["AAPL.US", "700.HK"] |

### Sharelist sort

**Slug:** `LONGBRIDGE_MCP_SHARELIST_SORT`

Reorder securities in a community sharelist by id. Provide symbols in the desired new order. Returns upstream API response on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Sharelist ID |
| `symbols` | array | Yes | Security symbols, e.g. ["AAPL.US", "700.HK"] |

### Short margin

**Slug:** `LONGBRIDGE_MCP_SHORT_MARGIN`

Get short margin deposit details for the current account. Returns short positions with margin_amount, margin_rate, interest_rate, symbol, quantity per position.

### Short positions

**Slug:** `LONGBRIDGE_MCP_SHORT_POSITIONS`

Get short interest history (open short positions) for HK or US stocks. Market inferred from symbol suffix. count: 1–100 (default 20). Unified data[]{timestamp(RFC3339), short_shares(open short position in shares), rate(decimal ratio e.g. 0.009=0.9%), close}. US-only: avg_daily_vol, days_to_cover. HK-only: balance(outstanding short position in HKD). US source: FINRA bi-weekly. HK source: HKEX daily.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of records to return (1-100, default 20) |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" (US) or "700.HK" (HK). Market is inferred from suffix. |

### Short trades

**Slug:** `LONGBRIDGE_MCP_SHORT_TRADES`

Get daily short-sale volume history for HK or US stocks. Market inferred from symbol suffix. last_timestamp: unix seconds (omit for latest). page_size: 1–100 (default 20). US source: FINRA/NASDAQ daily. HK source: HKEX daily.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" (US) or "700.HK" (HK). Market is inferred from suffix. |
| `page_size` | string | No | Page size: 1–100 (default: 20) |
| `last_timestamp` | string | Yes | Query cutoff timestamp in seconds (pass current timestamp for latest data) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | No |  |

### Signal detail

**Slug:** `LONGBRIDGE_MCP_SIGNAL_DETAIL`

Get one signal by ID (from `signals`). Same fields as the list, plus `analysis` — the full strategy analysis: fit scores, valuation scenarios, evidence sources and related fact IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `signal_id` | string | Yes | Signal ID, e.g. "sign_992_1a00c9425c3_48ab". Get IDs from `signals`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes |  |
| `title` | string | Yes |  |
| `market` | string | Yes |  |
| `status` | string | Yes |  |
| `symbol` | string | Yes |  |
| `outlook` | string | Yes |  |
| `summary` | string | Yes |  |
| `analysis` | string | No |  |
| `created_at` | string | Yes |  |
| `expression` | string | Yes |  |
| `updated_at` | string | Yes |  |
| `key_fact_id` | string | Yes |  |
| `strategy_id` | string | Yes |  |
| `company_name` | string | Yes |  |
| `key_catalyst` | string | Yes |  |
| `outlook_desc` | string | Yes |  |
| `recommend_by` | string | Yes |  |
| `strategy_name` | string | Yes |  |
| `analysis_price` | number | Yes |  |
| `benchmark_price` | number | Yes |  |
| `optimistic_price` | number | Yes |  |
| `conservative_price` | number | Yes |  |

### Signals

**Slug:** `LONGBRIDGE_MCP_SIGNALS`

Query strategy signals — a strategy's take on a security, triggered by a catalyst. Filter by symbol, strategy, catalyst and time range; page with limit/offset. The full strategy analysis is omitted here — fetch it with signal_detail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return. Defaults to 20. |
| `offset` | integer | No | Number of results to skip for pagination. Defaults to 0. |
| `end_time` | string | No | Filter records created at or before this time. ISO 8601 datetime with timezone. If omitted, no upper bound. |
| `start_time` | string | No | Filter records created at or after this time. ISO 8601 datetime with timezone, e.g. 2024-01-15T10:30:00Z. If omitted, no lower bound. |
| `strategy_id` | string | No | Filter by strategy id (e.g., "buffett-value"). Preferred over the deprecated strategy_name; takes precedence when both are provided. |
| `symbol_name` | string | No | Filter by security symbol, e.g. "AAPL.US" or "700.HK". If omitted, returns signals for all symbols. |
| `catalyst_name` | string | No | Filter by the name of the factor that triggered the signal, e.g. "EARNINGS_RELEASED" or "macd_12_26_9" — not the display label returned in key_catalyst. If omitted, signals with any catalyst name are returned. |
| `catalyst_type` | string | No | Filter by the catalyst type that triggered the signal, e.g. "News", "Fundamental", "Technical". If omitted, signals with any catalyst type are returned. |
| `strategy_name` | string | No | Filter by strategy name. If omitted, returns signals from all strategies. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `total` | integer | Yes |  |
| `signals` | array | Yes |  |

### Statement export

**Slug:** `LONGBRIDGE_MCP_STATEMENT_EXPORT`

Get a pre-signed download URL for a statement data file (obtained from statement_list).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_key` | string | Yes | File key from statement_list, e.g. "/statement_data/data/.../20975338.json" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes |  |

### Statement list

**Slug:** `LONGBRIDGE_MCP_STATEMENT_LIST`

List available account statements (daily/monthly). Use the id with statement_export to download.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of records to return. Defaults to 30 for "daily" or 12 for "monthly".  The default depends on `statement_type`, so the schema declares none: `skip_serializing_if` is what stops schemars deriving `default: null` from `serde(default)`, which would contradict the integer type. |
| `start_date` | string | No | Start date (yyyy-mm-dd). Defaults to 30 days ago for "daily" or 12 months ago for "monthly". |
| `statement_type` | string | No | Statement type: "daily" (default) or "monthly". |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | array | Yes |  |

### Static info

**Slug:** `LONGBRIDGE_MCP_STATIC_INFO`

Get static info for securities. Returns per symbol: symbol, name_cn, name_en, exchange (e.g. NASDAQ), type (e.g. US_Stock), lot_size, listed_date, delisted (bool). US accounts only: .BKKT crypto symbols (e.g. BTCUSD.BKKT) are routed to a separate US crypto overview endpoint; .HAS/.OSL crypto symbols are unaffected.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbols` | array | Yes | Security symbols, e.g. ["700.HK", "AAPL.US"] |

### Stock positions

**Slug:** `LONGBRIDGE_MCP_STOCK_POSITIONS`

Get current stock positions across all channels. US accounts only: an additional us_asset_overview field {cash_list, stock_list, option_list, crypto_list, cash_buy_power, overnight_buy_power} is included alongside the existing data.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | array | Yes |  |
| `warnings` | string | No |  |
| `us_asset_overview` | string | No |  |

### Submit order

**Slug:** `LONGBRIDGE_MCP_SUBMIT_ORDER`

Submit a buy/sell order. DRY RUN unless execute is the confirmation_code from its own dry run: call once without execute, show the preview to the user, then re-call quoting the code only after they explicitly confirm.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `side` | string | Yes | Buy or Sell |
| `remark` | string | No | Order remark (max 255 characters) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |
| `execute` | string | No | The `confirmation_code` from this order's dry run. WITHOUT IT NOTHING IS SENT.  Omitted (the default) makes this a DRY RUN: the request is validated and echoed back with a three-digit `confirmation_code`, and nothing reaches the exchange.  Required protocol: call once without `execute`, show the returned preview to the user, and call again quoting the code only after the user has explicitly confirmed that exact order. The code is single use, expires in 10 minutes, and applies only to this exact order — change any field and it stops working. Never quote it back on your own initiative, and never in the same turn the user first asks. |
| `order_type` | string | Yes | Order type (HK supports all; US supports LO/MO/LIT/MIT/TSLPAMT/TSLPPCT only): - LO (Limit Order): requires submitted_price - ELO (Enhanced Limit Order, HK only): requires submitted_price - MO (Market Order): no price required - AO (At-auction Order, HK only): executed at auction price, no price required - ALO (At-auction Limit Order, HK only): requires submitted_price - ODD (Odd Lots Order, HK only): requires submitted_price, for non-standard lot sizes - LIT (Limit If Touched): requires submitted_price and trigger_price; activates when market price touches trigger_price - MIT (Market If Touched): requires trigger_price only; executes at market when trigger_price is touched - TSLPAMT (Trailing Limit If Touched by Amount): requires trailing_amount and limit_offset; trailing stop by fixed amount - TSLPPCT (Trailing Limit If Touched by Percent): requires trailing_percent (0-1) and limit_offset; trailing stop by percentage - SLO (Special Limit Order, HK only): requires submitted_price; cannot be replaced after submission |
| `expire_date` | string | No | Expiry date (yyyy-mm-dd). Required when time_in_force is GTD |
| `outside_rth` | string | No | Outside regular trading hours: "RTH_ONLY" (regular trading hours only), "ANY_TIME" (any time including pre/post market), "OVERNIGHT" (overnight session, US only) |
| `limit_offset` | string | No | Limit offset from the trailing stop price. Required for: TSLPAMT, TSLPPCT |
| `time_in_force` | string | Yes | Order validity: "Day" (Day Order, expires end of session), "GTC" (Good Til Canceled), "GTD" (Good Til Date, requires expire_date) |
| `trigger_price` | string | No | Trigger (activation) price. Required for: LIT, MIT, TSLPAMT, TSLPPCT |
| `submitted_price` | string | No | Limit price. Required for: LO, ELO, ALO, ODD, LIT, SLO |
| `trailing_amount` | string | No | Trailing amount (absolute price distance). Required for TSLPAMT |
| `trailing_percent` | string | No | Trailing percent as decimal (e.g. 0.05 = 5%). Required for TSLPPCT |
| `submitted_quantity` | string | Yes | Order quantity (number of shares) |
| `attached_order_type` | string | No | Attach a take-profit / stop-loss leg to this order: "PROFIT_TAKER" (take-profit only), "STOP_LOSS" (stop-loss only) or "BRACKET" (both). Omit for a plain order; every other attached_* field is ignored without it. |
| `attached_expire_time` | string | No | Expiry of the attached leg as a unix timestamp in seconds (e.g. "1767139200"). Required when attached_time_in_force is GTD. |
| `attached_outside_rth` | string | No | Outside-RTH setting of the triggered leg: "RTH_ONLY" / "ANY_TIME" / "OVERNIGHT". |
| `attached_time_in_force` | string | No | Time-in-force of the attached leg: "Day" / "GTC" / "GTD". Defaults to the parent order's setting when omitted. |
| `attached_stop_loss_price` | string | No | Stop-loss trigger price. Required for STOP_LOSS and BRACKET. |
| `attached_profit_taker_price` | string | No | Take-profit trigger price. Required for PROFIT_TAKER and BRACKET. |
| `attached_activate_order_type` | string | No | Order type the attached leg is submitted as once triggered, e.g. "LO" (then set the matching attached_*_submit_price) or "MO". |
| `attached_stop_loss_submit_price` | string | No | Limit price of the stop-loss leg, for an LO attached_activate_order_type. |
| `attached_profit_taker_submit_price` | string | No | Limit price of the take-profit leg, for an LO attached_activate_order_type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dry_run` | boolean | Yes |  |
| `preview` | string | No |  |
| `order_id` | string | No |  |
| `next_step` | string | No |  |

### Today executions

**Slug:** `LONGBRIDGE_MCP_TODAY_EXECUTIONS`

Get today's trade executions (fills). Returns executions[]{order_id, symbol, side, quantity, price, trade_done_at}. Pass symbol or order_id to filter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | No | Filter by symbol, e.g. "700.HK". |
| `order_id` | string | No | Filter by a specific order_id. |

### Today orders

**Slug:** `LONGBRIDGE_MCP_TODAY_ORDERS`

Get orders placed today. Returns orders[]{order_id, symbol, side, order_type, status, quantity, price, submitted_at, executed_quantity, executed_price, attached_orders[]}, where attached_orders[] holds the order's take-profit/stop-loss legs. Pass symbol to filter by security, or order_id for one order. To fetch an attached leg by its own ID, pass that ID as order_id together with is_attached=true — the leg itself comes back as the order entry. is_attached does nothing without order_id, and neither has any effect for US accounts, which are served by the US order endpoint. US accounts only: us_action (Buy/Sell), us_page, us_limit filter/paginate via a separate US order endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | No | Filter by symbol, e.g. "700.HK". Omit to return all today's orders. |
| `us_page` | integer | No | US accounts only: page number (default 1). Ignored for AP accounts. |
| `order_id` | string | No | Filter by order ID: a parent order ID, or (with is_attached=true) the ID of an attached take-profit / stop-loss leg. Has no effect for US accounts, which are served by the US order endpoint. |
| `us_limit` | integer | No | US accounts only: page size (default 20). Ignored for AP accounts. |
| `us_action` | string | No | US accounts only: filter by side, "Buy" or "Sell". Omit for all. Ignored for AP accounts (the region is inferred from the account — do not pass it). |
| `is_attached` | boolean | No | Only meaningful together with order_id: it says that order_id is the ID of an attached take-profit / stop-loss leg, and the response then carries that leg itself as an order entry. On its own it does nothing, and it has no effect for US accounts either. |

### Topic

**Slug:** `LONGBRIDGE_MCP_TOPIC`

Get discussion topics for a symbol. Returns items[]{id, title, author, created_at, like_count, comment_count, content_summary}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Topic create

**Slug:** `LONGBRIDGE_MCP_TOPIC_CREATE`

Create a new discussion topic. topic_type="post" (default) is plain text; "article" requires a non-empty title and accepts Markdown body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | Yes | Topic body. "post" type is plain text only; "article" type accepts Markdown. |
| `title` | string | Yes | Topic title. Required when topic_type is "article", optional for "post". |
| `symbols` | array | No | Related security symbols, e.g. ["700.HK", "TSLA.US"] (max 10). |
| `topic_type` | string | No | Topic type: "post" (default, plain text) or "article" (Markdown, title required). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes |  |

### Topic create reply

**Slug:** `LONGBRIDGE_MCP_TOPIC_CREATE_REPLY`

Create a reply to a discussion topic. Pass reply_to_id to nest under another reply; omit for a top-level reply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | Yes | Reply body (plain text only). |
| `topic_id` | string | Yes | Topic ID to reply to. |
| `reply_to_id` | string | No | Optional parent reply ID for nested replies. Get IDs from `topic_replies`. Omit for a top-level reply. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes |  |
| `body` | string | Yes |  |
| `author` | string | Yes |  |
| `images` | array | Yes |  |
| `topic_id` | string | Yes |  |
| `created_at` | string | Yes |  |
| `likes_count` | integer | Yes |  |
| `reply_to_id` | string | Yes |  |
| `comments_count` | integer | Yes |  |

### Topic detail

**Slug:** `LONGBRIDGE_MCP_TOPIC_DETAIL`

Get discussion topic detail by topic_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `topic_id` | string | Yes | Topic ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes |  |
| `body` | string | Yes |  |
| `title` | string | Yes |  |
| `author` | string | Yes |  |
| `images` | array | Yes |  |
| `tickers` | array | Yes |  |
| `hashtags` | array | Yes |  |
| `created_at` | string | Yes |  |
| `detail_url` | string | Yes |  |
| `topic_type` | string | Yes |  |
| `updated_at` | string | Yes |  |
| `description` | string | Yes |  |
| `likes_count` | integer | Yes |  |
| `views_count` | integer | Yes |  |
| `shares_count` | integer | Yes |  |
| `comments_count` | integer | Yes |  |

### Topic replies

**Slug:** `LONGBRIDGE_MCP_TOPIC_REPLIES`

Get replies to a discussion topic, paginated (page default 1, size default 20, range 1-50)

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number, 1-based (default: 1). |
| `size` | integer | No | Records per page, 1-50 (default: 20). |
| `topic_id` | string | Yes | Topic ID. |

### Topic search

**Slug:** `LONGBRIDGE_MCP_TOPIC_SEARCH`

Search community topics/posts by keyword. Returns id, author, time, and excerpt.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Max results to return (default: 20) |
| `keyword` | string | Yes | Search keyword |

### Top movers

**Slug:** `LONGBRIDGE_MCP_TOP_MOVERS`

Get stocks whose price fluctuation exceeds the 20-trading-day standard deviation, with correlated news reasons. markets: comma-separated HK/US/CN/SG (omit=all). sort: 0=time 1=change-magnitude 2=popularity/heat (default).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Date to query in "YYYY-MM-DD" format. Omit for today's movers. |
| `sort` | string | No | Sort order (default: "2"):   "0" = by time (most recent first)   "1" = by price change magnitude (largest move first)   "2" = by popularity (most-viewed first) |
| `limit` | integer | No | Number of events to return per page (default: 20, max: 100) |
| `markets` | string | No | Market filter: comma-separated list of markets to include. Supported values: "HK", "US", "CN", "SG". Omit to return all markets. Example: "HK,US" |
| `next_params` | object | No | Pagination cursor from previous response next_params field. Pass the entire next_params object returned by the previous call to get the next page. Omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `events` | string | No |  |
| `updated_at` | string | No |  |
| `next_params` | string | No |  |

### Trades

**Slug:** `LONGBRIDGE_MCP_TRADES`

Get recent trades (max 1000). Returns trades[]{price, volume, timestamp, trade_type, direction} for the symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | Yes | Maximum number of results (max 1000) |
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Trade stats

**Slug:** `LONGBRIDGE_MCP_TRADE_STATS`

Get trade statistics (buy/sell/neutral volume distribution). Returns items[]{price_range, buy_volume, sell_volume, neutral_volume} for price-volume profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

### Trading days

**Slug:** `LONGBRIDGE_MCP_TRADING_DAYS`

Get trading days for a market between dates. market: HK/US/CN/SG.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | End date (yyyy-mm-dd) |
| `start` | string | Yes | Start date (yyyy-mm-dd) |
| `market` | string | Yes | Market code: HK, US, CN, SG |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `trading_days` | array | Yes |  |
| `half_trading_days` | array | Yes |  |

### Trading session

**Slug:** `LONGBRIDGE_MCP_TRADING_SESSION`

Get trading session schedule for all markets. Returns market_sessions[]{market, trade_sessions[]{beg_time, end_time, trade_session_type}}.

### Update watchlist group

**Slug:** `LONGBRIDGE_MCP_UPDATE_WATCHLIST_GROUP`

Update a watchlist group by id. Can rename (name param) or modify securities (securities + mode: add/remove/replace).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Watchlist group id |
| `mode` | string | No | Update mode for securities: "add", "remove", or "replace" (default: "replace") |
| `name` | string | No | New group name (optional) |
| `securities` | array | No | Securities list (optional) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes |  |
| `updated` | boolean | Yes |  |

### Valuation

**Slug:** `LONGBRIDGE_MCP_VALUATION`

Get valuation overview with peer comparison. US accounts querying a .US symbol get a US-specific variant (ai_summary plus a metrics.pe object with different sub-fields). The region is detected from the account automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No |  |
| `range` | string | No |  |
| `metrics` | string | No |  |
| `indicator` | string | No |  |
| `ai_summary` | string | No |  |
| `ccy_symbol` | string | No |  |

### Valuation comparison

**Slug:** `LONGBRIDGE_MCP_VALUATION_COMPARISON`

Stock valuation comparison. Mode A (single): pass only symbol — server returns stock + auto-selected industry peers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol to compare, e.g. "AAPL.US" |
| `currency` | string | Yes | Currency: "USD" &#124; "HKD" &#124; "CNY" |
| `comparison_symbols` | string | No | Comparison symbols, comma-separated, max 4, e.g. "MSFT.US,GOOGL.US". Note: pending backend support — currently server auto-selects industry peers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list` | string | No |  |

### Valuation history

**Slug:** `LONGBRIDGE_MCP_VALUATION_HISTORY`

Get detailed valuation history time series.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbol` | string | Yes | Security symbol, e.g. "700.HK" |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `history` | string | No |  |

### Valuation rank

**Slug:** `LONGBRIDGE_MCP_VALUATION_RANK`

Get daily valuation rank (PE/PB/PS/dividend yield industry percentile) for a security over a date range. start/end in yyyymmdd format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | No | End date in yyyymmdd format (default: today) |
| `start` | string | No | Start date in yyyymmdd format (default: 30 days ago) |
| `symbol` | string | Yes | Security symbol, e.g. "AAPL.US" |

### Warrant issuers

**Slug:** `LONGBRIDGE_MCP_WARRANT_ISSUERS`

Get HK warrant issuer information. Returns issuers[]{id, name_en, name_cn}. Use id in warrant_list issuer filter.

### Warrant list

**Slug:** `LONGBRIDGE_MCP_WARRANT_LIST`

Get filtered warrant list for an underlying symbol. Returns warrants[]{symbol, name, last_done, change_rate, implied_volatility, expiry_date, strike_price, leverage_ratio, outstanding_ratio}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `issuer` | array | No | Filter by issuer ID (optional), use issuer_id from warrant_issuers tool |
| `status` | array | No | Filter by status (optional): "Suspend" (suspended), "PrepareList" (pending listing), "Normal" (normal trading) |
| `symbol` | string | Yes | Underlying symbol, e.g. "700.HK" |
| `sort_by` | string | Yes | Sort field: LastDone, ChangeRate, ChangeValue, Volume, Turnover, ExpiryDate, StrikePrice, UpperStrikePrice, LowerStrikePrice, OutstandingQuantity, OutstandingRatio, Premium, ItmOtm, ImpliedVolatility, Delta |
| `price_type` | array | No | Filter by in/out of bounds (optional): "In" (in bounds), "Out" (out of bounds). Only for Inline warrants. |
| `sort_order` | string | Yes | Sort order: Ascending or Descending |
| `expiry_date` | array | No | Filter by expiry date range (optional): "LT_3" (<3 months), "Between_3_6" (3-6 months), "Between_6_12" (6-12 months), "GT_12" (>12 months) |
| `warrant_type` | array | No | Filter by warrant type (optional): "Call", "Put", "Bull", "Bear", "Inline" |

### Warrant quote

**Slug:** `LONGBRIDGE_MCP_WARRANT_QUOTE`

Get warrant quotes. Returns last_done, prev_close, open, high, low, volume, turnover, implied_volatility, delta, leverage_ratio, effective_leverage per symbol.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `symbols` | array | Yes | Security symbols, e.g. ["700.HK", "AAPL.US"] |

### Watchlist

**Slug:** `LONGBRIDGE_MCP_WATCHLIST`

Get all watchlist groups and their securities. Returns groups[]{id, name, securities[]{symbol, market, name, watched_price, watched_at}}.

### Withdrawals

**Slug:** `LONGBRIDGE_MCP_WITHDRAWALS`

List withdrawal history for the current account. Returns items[]{id, amount, currency, status, created_at, bank_name, account_number (masked)}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number (default: 1) |
| `size` | integer | No | Page size (default: 20) |
