远程 MCP
远程 MCP 是 Tiger OpenAPI 提供的托管式 MCP 服务。在支持 MCP 的 AI 工具中添加服务地址,使用老虎账户完成 OAuth2 授权后,即可通过自然语言查询行情、账户与订单。
无需安装 SDK、运行本地进程或配置 Tiger ID 与私钥。AI 工具能够访问哪些账户、具备哪些能力,由授权时选择的账户和权限范围决定。
远程 MCP 使用 OAuth2 授权,目前仅支持个人用户。
服务地址
https://mcp.tigerfintech.com/mcp
地址需要完整填写,末尾不要添加斜杠。
前置条件
- 已开通 Tiger OpenAPI,并在开发者中心绑定需要授权的实盘或模拟盘账户。
- AI 工具支持远程 MCP(Streamable HTTP 与 OAuth 2.1)。
- 行情数据受账户已有的 OpenAPI 行情权限限制。实时行情、逐笔、盘口需要单独购买 API 行情权限,与 App 内行情权限相互独立;K 线的可用范围由历史行情额度等级决定。详情见行情权限与限制。
接入方式
在客户端中添加远程 MCP 服务器,传输方式选择 HTTP / Streamable HTTP,地址填写 https://mcp.tigerfintech.com/mcp。添加完成后连接该服务,按提示在浏览器中登录并完成授权。
Claude Code
在终端执行以下命令,添加远程 MCP 服务器:
claude mcp add --transport http tiger-mcp https://mcp.tigerfintech.com/mcp命令默认把服务器添加到当前项目。如果希望在所有项目中可用,追加 --scope user。
添加后在 Claude Code 中执行 /mcp,选择 tiger-mcp,按提示完成授权。
Claude Desktop
- 打开「设置」→「连接器」。
- 点击「添加自定义连接器」。
- 名称填写
Tiger MCP,地址填写https://mcp.tigerfintech.com/mcp。 - 保存后按提示登录老虎账户并完成授权。
自定义连接器需要对应的订阅计划,具体以客户端当前版本为准。
Codex
在终端执行以下命令,添加远程 MCP 服务器:
codex mcp add tiger-mcp --url https://mcp.tigerfintech.com/mcp然后完成 OAuth 登录:
codex mcp login tiger-mcp浏览器会自动打开授权页面。执行 codex mcp list 可以确认服务器已添加,在 Codex 中执行 /mcp 可以查看连接状态。
Cursor
- 打开 Cursor 设置,进入 MCP 页面。
- 添加一个远程 MCP 服务器,传输方式选择 HTTP / Streamable HTTP。
- 名称填写
Tiger MCP,地址填写https://mcp.tigerfintech.com/mcp。 - 保存后点击连接,在浏览器中登录老虎账户并完成授权。
其他客户端
添加类型为远程 / HTTP / Streamable HTTP 的 MCP 服务器,填入服务地址并完成授权。仅支持本地进程(stdio)的客户端无法使用本服务。
授权流程
首次连接时,客户端会自动打开浏览器:
- 登录老虎账户。
- 选择本次授权允许访问的账户。实盘和模拟盘账户可以分别多选,只有被选中的账户才会被授权。
- 勾选本次授权允许的能力范围(scope)。页面默认不勾选,需要你主动选择。
- 确认授权。
授权完成后浏览器会跳回客户端,无需手动复制令牌。
- 单次授权最长维持 15 天,到期后需要重新授权。
- 如需撤销授权,在开发者平台的授权管理中操作。
权限范围
| Scope | 授权内容 | 对应能力 |
|---|---|---|
api.basic:read | 基础数据,包括 API 权限与额度 | 判断股票报价是否返回实时数据 |
api.quote:read | 行情数据 | 标的搜索、报价、K 线、分时、盘口、逐笔、期权链、选股等 |
api.account:read | 账户信息 | 账户资产、持仓、历史资产表现 |
api.trade:read | 交易查询 | 交易合约、订单、成交记录 |
get_accounts只需要api.account:read或api.trade:read其中之一。- 股票报价同时具备
api.quote:read、api.basic:read和实时行情权限时返回实时数据,否则返回 15 分钟延迟数据。每条报价通过quote_type标明数据类型。
工具清单
工具列表可能随服务端配置调整,接入方应以客户端当前获取到的工具列表为准。点击工具名称可查看参数。
交易以及更多工具会陆续推出,敬请期待。
以下工具均需要 api.quote:read。
search_symbols搜索标的
作用:按名称、产品或代码搜索标准代码,只返回标的,不返回价格。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
query | string | 是 | 名称、产品或代码关键词 |
limit | integer | 否 | 返回条数上限,默认 10,范围 1–30 |
get_quote查询报价
作用:查询一个或多个标的的最新报价。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbols | string | 是 | 逗号分隔的标准代码,如 AAPL、00700、CL2509、BTC.USD;同类同市场最多 50 个 |
sec_type | enum | 否 | STK/OPT/FUT/CC,默认 STK |
include_hour_trading | boolean | 否 | 仅股票,是否返回盘前和盘后价格,默认 true |
limit | integer | 否 | 返回条数上限,默认 20,范围 1–50 |
get_bars查询 K 线
作用:查询单个标的的历史 K 线(OHLCV)。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 标准代码 |
period | enum | 否 | day/week/month/year/1min/5min/15min/30min/60min,默认 day |
sec_type | enum | 否 | STK/OPT/FUT/CC,默认 STK |
begin_time | integer | 否 | 开始时间,Unix 毫秒 |
end_time | integer | 否 | 结束时间,Unix 毫秒,默认当前时间 |
date | string | 否 | yyyyMMdd,仅股票分钟线;不能与 begin_time、end_time、limit 同时使用 |
limit | integer | 否 | 返回条数上限,默认 100,范围 1–500 |
get_timeline查询分时
作用:查询当日或指定日期的分时价格序列。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 标准代码 |
sec_type | enum | 否 | STK/OPT/CC,默认 STK |
date | string | 否 | yyyyMMdd,仅股票;与 period、begin_time 互斥 |
period | enum | 否 | day/day5,默认 day;期权不支持 |
trade_session | enum | 否 | PreMarket/Regular/AfterHours/All,默认 All;仅股票 |
begin_time | integer | 否 | Unix 毫秒,仅股票和数字货币当日分时 |
get_depth查询盘口
作用:查询买卖盘口挂单。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 标准代码 |
sec_type | enum | 否 | STK/OPT/FUT,默认 STK |
market | enum | 否 | US/HK/CN;仅股票 |
session | enum | 否 | Regular/PreMarket/AfterHours/All;仅股票 |
lang | enum | 否 | zh_CN/zh_TW/en_US;仅期货,默认 zh_CN |
get_ticks查询逐笔
作用:查询逐笔成交明细。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 标准代码 |
sec_type | enum | 否 | STK/OPT/FUT,默认 STK |
trade_session | enum | 否 | PreMarket/Regular/AfterHours/All,默认 Regular;仅股票 |
lang | enum | 否 | zh_CN/zh_TW/en_US;仅股票,默认 zh_CN |
begin_index | integer | 否 | 下标区间起点,需与 end_index 同时提供 |
end_index | integer | 否 | 下标区间终点,左闭右开 |
limit | integer | 否 | 返回条数上限,默认 50,范围 1–200 |
get_market_status查询市场状态
作用:查询市场当前交易状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
market | enum | 否 | ALL/US/HK/CN/SG/AU/NZ/UK,默认 ALL |
lang | enum | 否 | zh_CN/zh_TW/en_US |
get_contract查询行情合约
作用:查询期权、港股窝轮或牛熊证的行情合约列表。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 底层股票代码 |
sec_type | enum | 否 | OPT/WAR/IOPT,默认 OPT |
expiry | string | 否 | yyyyMMdd,8 位;期权必填 |
lang | enum | 否 | zh_CN/zh_TW/en_US;与 expiry 互斥 |
get_hk_option_symbols查询港股期权标的
作用:查询港股代码与港股期权底层代码的映射。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
underlying | string | 否 | 5 位补零港股代码,如 00700;省略时返回映射列表,最多 50 行 |
get_stock_broker查询港股经纪席位
作用:查询港股经纪商买卖席位。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 5 位补零港股代码 |
limit | integer | 否 | 每侧返回档数,默认 40,范围 1–60 |
get_future_exchanges查询期货交易所
作用:查询支持期货合约发现 API 的交易所。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | integer | 否 | 返回条数上限,默认 50,范围 1–100 |
lang | enum | 否 | zh_CN/zh_TW/en_US |
get_future_contracts查询期货合约
作用:查询指定交易所下的期货合约代码。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
exchange_code | string | 是 | 交易所代码,来自 get_future_exchanges |
lang | enum | 否 | zh_CN/zh_TW/en_US |
limit | integer | 否 | 返回条数上限,默认 50,范围 1–200 |
include_untradable | boolean | 否 | 是否包含当前不可交易的合约,默认 false |
get_crypto_symbols查询数字货币标的
作用:查询支持的数字货币代码。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
limit | integer | 否 | 返回条数上限,默认 200,范围 1–500 |
get_capital_flow查询资金流
作用:查询股票资金净流入趋势与大小单分布。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 股票代码 |
period | enum | 否 | intraday/day/week/month/quarter/6month/year,默认 day;A 股不支持 intraday |
market | enum | 否 | US/HK/CN;省略时按代码推断 |
limit | integer | 否 | 返回条数上限,默认 20,范围 1–200 |
get_option_expirations查询期权到期日
作用:查询标的的期权到期日。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 底层股票代码 |
market | enum | 否 | US/HK,默认 US |
get_option_chain查询期权链
作用:查询指定到期日的期权链。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 底层股票代码 |
expiry | string | 是 | yyyy-MM-dd,来自 get_option_expirations |
market | enum | 否 | US/HK,默认 US |
moneyness_range | integer | 否 | 平值上下各保留的行权价档数,默认 10,范围 1–50 |
right | enum | 否 | ALL/CALL/PUT,默认 ALL |
describe_screener_fields查询选股字段
作用:查询选股器支持的筛选字段与标签值。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
market | enum | 否 | US/HK/SG/AU;查询行业、概念等动态标签值时必填 |
category | enum | 否 | base/accumulate/financial/tag/period |
limit | integer | 否 | 返回条数上限,默认 60,范围 1–200 |
tag_fields | array | 否 | 需要展开标签值的 MultiTagField 标识 |
keyword | string | 否 | 按字段名、API 名或中英文别名搜索 |
screen_stocks股票筛选
作用:按选股器条件筛选股票和 ETF。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
market | enum | 是 | US/HK/SG/AU |
base_filters | array | 否 | 基础指标区间。每项包含 field(string,必填)、min(number)、max(number)、no_filter(boolean) |
accumulate_filters | array | 否 | 累积指标区间。每项包含 field(string,必填)、period(string)、min、max、no_filter |
financial_filters | array | 否 | 财务指标区间。每项包含 field(string,必填)、min、max、no_filter |
tag_filters | array | 否 | 标签条件。每项包含 field(string,必填)、tags(array of string)、no_filter |
sort | object | 否 | 排序。包含 field(必填)、field_type(必填,stock/accumulate/financial/tag)、direction(必填,asc/desc)、period(累积指标需要) |
page | integer | 否 | 页码,从 0 开始,默认 0 |
page_size | integer | 否 | 每页条数,默认 50,范围 1–200 |
cursor_id | string | 否 | 翻页游标,只能原样回传 |
市值等字段使用绝对币种单位,例如美股总市值 2000 亿美元传入 200000000000。数值区间包含上下界,财务比率使用小数,例如 10% 传入 0.1。结果默认包含 ETF,只保留普通股时增加 MultiTagField_Type 且标签值为 0。
get_accounts 需要 api.account:read 或 api.trade:read;资产、持仓、历史资产表现需要 api.account:read;订单、成交、交易合约需要 api.trade:read。
get_accounts查询授权账户
作用:列出本次授权范围内可用的账户号和账户类型。
无参数。仅有一个授权账户时,同时返回 default_account。
get_assets查询账户资产
作用:查询账户当前资产快照,包括可用余额、购买力等。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
account | string | 否 | 授权账户号;存在多个账户时必须指定 |
base_currency | enum | 否 | ALL/USD/HKD/CNH/SGD/AUD/JPY/EUR/GBP/CAD/NZD;不做汇率换算 |
consolidated | boolean | 否 | 是否返回综合资产,默认 true,仅部分账户类型支持 |
get_positions查询持仓
作用:查询账户当前持仓。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 否 | 标的代码 |
market | enum | 否 | US/HK/CN |
sec_type | enum | 否 | STK/OPT/FUT/FUND,默认 STK |
account | string | 否 | 授权账户号 |
limit | integer | 否 | 返回条数上限,默认 50,范围 1–200 |
get_orders查询订单
作用:按订单号查询单笔订单,或按条件列出账户订单。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
account | string | 否 | 授权账户号 |
order_scope | enum | 否 | ALL/FILLED/ACTIVE/INACTIVE,默认 ALL |
order_id | integer | 否 | 全局订单号;单笔模式下不能与列表过滤参数组合 |
symbol | string | 否 | 标的代码 |
market | enum | 否 | US/HK/CN/ALL |
sec_type | enum | 否 | STK/OPT/FUT/FUND |
status | string | 否 | 逗号分隔的精确状态,仅 order_scope=ALL 可用 |
start_time | integer | 否 | 开始时间,Unix 毫秒 |
end_time | integer | 否 | 结束时间,Unix 毫秒 |
is_brief | boolean | 否 | 是否返回简要信息,默认 false,仅部分账户支持 |
limit | integer | 否 | 每页条数,默认 20,范围 1–100 |
page_token | string | 否 | 上一页返回的 next_page_token |
列表模式默认查询全部订单,时间范围为最近 7 天,每页 20 条。
get_transactions查询成交
作用:查询成交明细。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
account | string | 否 | 授权账户号 |
order_id | integer | 否 | 按订单查询成交;此时只接受账户、订单号、条数和游标参数 |
symbol | string | 否 | 按标的查询成交时提供,需与 sec_type 同时使用 |
sec_type | enum | 否 | STK/OPT/FUT/FUND |
expiry | string | 否 | 期权到期日 |
strike | number | 否 | 期权行权价 |
put_call | enum | 否 | PUT/CALL |
start_time | integer | 否 | 开始时间,Unix 毫秒 |
end_time | integer | 否 | 结束时间,Unix 毫秒 |
limit | integer | 否 | 每页条数,默认 20,范围 1–100 |
page_token | string | 否 | 上一页返回的 next_page_token |
order_id 与 symbol + sec_type 必须二选一。期权按标的查询时,还需同时提供 expiry、strike、put_call。默认时间范围为最近 7 天。
get_analytics_asset查询历史资产表现
作用:查询账户历史资产表现与每日资产记录。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
account | string | 否 | 授权账户号,仅部分账户类型支持 |
start_date | string | 否 | yyyy-MM-dd |
end_date | string | 否 | yyyy-MM-dd |
segment_type | enum | 否 | SEC/FUT/ALL |
currency | enum | 否 | ALL/USD/HKD/CNH/SGD/AUD/JPY/EUR/GBP/CAD/NZD;不做汇率换算 |
默认查询最近 30 天。
get_trade_contract查询交易合约
作用:查询合约的账户级交易属性,如每手股数、最小价格变动、保证金、可否卖空。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 股票代码、期权底层代码或期货合约代码 |
sec_type | enum | 否 | STK/OPT/FUT,默认 STK |
expiry | string | 否 | 期权到期日,期权必填 |
strike | number | 否 | 期权行权价,期权必填 |
put_call | enum | 否 | PUT/CALL,期权必填 |
account | string | 否 | 授权账户号 |
账户参数的使用规则:
- 不传
account时,仅在恰好有一个授权账户时自动使用该账户。 - 没有授权账户,或存在多个授权账户时,先调用
get_accounts,再指定账户。 - 传入未授权的账户会返回错误,服务端不会回退到其他账户。
使用示例
授权完成后,可以直接用自然语言提出需求:
- 「查一下 AAPL 和 NVDA 的最新价格。」
- 「拉取 00700 最近 60 个交易日的日 K。」
- 「看看我美股账户现在持有哪些股票。」
- 「列出我最近 7 天没有成交的订单。」
Updated about 10 hours ago
