Longbridge
官方美股/港股市场 — 110个工具:实时行情、期权、订单、基本面、提醒、定投与投资组合
你可以用 Longbridge MCP 做什么?
- 实时行情 — 查询美国和香港市场的实时及历史报价、K 线、深度数据和期权数据。
- 投资组合与交易 — 查看持仓、余额和成交记录,或提交、取消和替换订单,包括多腿期权组合。
- 基本面与研究 — 获取股票的财务报表、股息、分析师观点、估值和公司高管信息。
- 筛选与日历 — 运行股票筛选查询,或查看财经日历中的财报、股息、IPO 和宏观数据。
- 提醒与定期计划 — 创建价格提醒、管理定投计划,并设置网格交易策略。
- 筛选响应内容 — 向任意工具传入
_jq表达式,将大型响应精简为所需字段。
托管 MCP 服务器
npx add-mcp 'https://mcp.longbridge.com'可安装到 Claude Code、Codex、Cursor 等客户端
文档
Longbridge MCP Server
面向 Longbridge 券商的官方 MCP 服务器。提供 164 个工具,涵盖实时行情、期权、订单路由、基本面、分析师评级、日历、IPO、价格提醒、定投计划、网格交易、投资组合分析和社区自选股列表,覆盖美国和香港市场。使用 Rust 构建,基于 rmcp 和 axum。
现已上线 ChatGPT 和 Claude
Longbridge 已正式收录于 ChatGPT Apps 目录和 Claude Connectors 目录。
用自然语言与市场对话——查询行情、期权、基本面和您自己的投资组合——
无需编辑配置文件,也无需粘贴令牌。
| 在一个地方添加 | 然后直接提问 | |
|---|---|---|
| ChatGPT | 设置 → Apps & Connectors → 添加 Longbridge | “NVDA 今天行情如何?” · “显示我的港股持仓” |
| Claude | 设置 → Connectors → 添加 Longbridge(网页 · 桌面 · 移动端) | “比较 AAPL 和 MSFT 的估值” · “本周有 IPO 吗?” |
使用您的 Longbridge 账户登录一次。每个请求都通过下文所述的同一托管端点运行,并由 OAuth 2.1 保护——提供只读市场数据,以及完整的账户、投资组合和交易工具,所有操作均由您自己的凭据授权。
亮点
- 164 个工具,一个端点 — 涵盖美国和香港市场的行情、期权、订单路由、基本面、分析师研究、筛选器、IPO、提醒、定投、网格交易和投资组合分析。
- 专为无状态设计 — 每个请求都会将 Bearer 令牌直接转发给 Longbridge SDK。没有会话、没有数据库,服务器端不存储任何内容。
- 自动发现 OAuth 2.1 — 提供 RFC 9728 受保护资源和 RFC 8414 授权服务器元数据;客户端无需粘贴令牌即可完成流程。
- 清晰、类型化的响应 — 使用 snake_case 字段、RFC 3339 时间戳、人类可读的代码,并通过 MCP 资源提供类型化响应架构。
使用 jq 筛选工具响应
每个工具的参数都接受一个可选的 _jq 字符串。该表达式会在常规响应序列化后,
对完整的返回 JSON 执行。_jq
名称专用于响应筛选,以避免与业务参数冲突。
使用指南会在 MCP initialize 响应的 instructions 中发送一次;
每个工具架构仅声明可选参数的名称和类型。
例如:
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
使用 .data[:5] 获取 data 数组的前五项,
使用 .data | map(select(.price > 10)) 选择行,或使用 {total: .total} 投影字段。
表达式采用内嵌 jaq 引擎兼容 jq 的语法;无需单独安装 jq 可执行文件。
- 省略
_jq(或传入null)即可保留原始响应。 - 返回一个值时直接返回,多个值则作为数组返回,没有值时返回
[]。标量和数组以 JSON 文本形式返回;对象还会出现在structuredContent中,其中仅包含筛选后的字段。 - 纯文本响应以 JSON 字符串形式提供。没有结构化内容的多个内容块以数组形式提供。
- 工具错误以及权限/无数据说明不会经过筛选。
- 空表达式、无效表达式或非字符串表达式会在工具运行前被拒绝。 如果运行时筛选失败,响应会明确说明工具已经执行。请勿自动重试下单等写入操作。
- 不支持访问环境变量、导入文件系统内容或使用日志筛选器。 输出上限为 10,000 个值和 8 MiB;超出限制时会返回错误,而非部分结果。
由于筛选器可能改变响应形状,工具不会声明固定的
outputSchema。原始类型化架构仍可通过 resources/list
和 resources/read 在 lb://tools/{tool-name}/output-schema 中获取,适用于有架构支持的工具。
连接您自己的客户端
Longbridge 提供托管端点 https://mcp.longbridge.com — 将任意 MCP 客户端指向该端点,并在提示时完成 OAuth。授权会通过 RFC 9728 自动发现;无需粘贴令牌。
Claude Code
claude mcp add --transport http longbridge https://mcp.longbridge.com
Claude Desktop — 添加到 claude_desktop_config.json,然后重启:
{ "mcpServers": { "longbridge": { "url": "https://mcp.longbridge.com" } } }
Codex — 添加服务器,然后在浏览器中完成 OAuth:
codex mcp add longbridge --url https://mcp.longbridge.com
codex mcp login longbridge
Cursor · Cline · Windsurf · Zed · 其他客户端 — 将其指向 https://mcp.longbridge.com,并使用传输方式 streamable-http。
更多 Claude Code 命令
# Local self-hosted instance (see Self-hosting below)
claude mcp add --transport http longbridge-local http://localhost:8000/mcp
claude mcp list # registered servers
claude mcp get longbridge # config + auth status
claude mcp remove longbridge # unregister
claude mcp logout longbridge # re-trigger OAuth after revocation
首次使用时,客户端会读取 WWW-Authenticate 挑战,获取 /.well-known/oauth-protected-resource(RFC 9728),并打开浏览器以完成 Longbridge OAuth 流程。令牌会按会话缓存并自动刷新。
164 个工具
涵盖市场数据、交易、研究和账户管理的二十个类别。
| 类别 | 数量 | 覆盖范围 |
|---|---|---|
| 行情 | 32 | 实时和历史行情、K 线、深度、经纪商、期权、权证、自选股列表、资金流向、市场温度、空头持仓、期权成交量 |
| 基本面 | 33 | 财务报表/报告、业务板块、机构观点、行业同业/估值、股息、每股收益预测、估值及估值比较、公司信息/高管、股东、公司行动、运营指标 |
| 交易 | 15 | 提交/取消/替换订单、多腿期权组合订单、持仓、余额、成交、现金流、保证金 |
| 市场 | 15 | 市场状态、行业/涨跌幅榜、经纪商持仓、A/H 溢价、交易统计、异动、卖空交易/保证金、指数成分股 |
| 定投 | 9 | 创建/更新/暂停/恢复/停止定投计划、执行历史、统计、支持情况检查 |
| 网格 | 11 | 提交/替换/取消/暂停/重启网格交易订单,读取列表/详情/触发历史,按代码查询设置信息,一次性策略授权 |
| 自选股列表 | 8 | 社区自选股列表的增删改查、添加/移除/排序成员、热门列表 |
| IPO | 7 | IPO 认购、日历、已上市股票、订单详情、盈亏分析 |
| 内容 | 7 | 新闻列表/详情、讨论主题增删改查及回复 |
| 提醒 | 5 | 价格提醒增删改查(添加、删除、启用、停用、列表) |
| 筛选器 | 5 | 股票筛选搜索、指标、策略推荐/管理 |
| 投资组合 | 4 | 汇率、盈亏分析(汇总、详情、已实现) |
| ATM | 3 | 银行卡、提款记录、存款记录 |
| 宏观数据 | 2 | 宏观经济指标列表和详情 |
| 搜索 | 2 | 新闻搜索、社区主题搜索 |
| 结单 | 2 | 账户结单列表和导出 |
| 日历 | 1 | 财经日历(财报、股息、IPO、宏观数据、休市) |
| 量化 | 1 | 对历史 K 线数据运行量化指标脚本 |
| 身份验证 | 1 | 为无法完成浏览器重定向的客户端交换 OAuth 代码 |
| 实用工具 | 1 | 当前 UTC 时间 |
自行托管
更倾向于运行自己的实例?请运行已发布的镜像:
docker run -p 8443:8443 \
-v /path/to/certs:/certs:ro \
ghcr.io/longbridge/longbridge-mcp \
--bind 0.0.0.0:8443 \
--base-url https://mcp.example.com \
--tls-cert /certs/cert.pem \
--tls-key /certs/key.pem
设置
--base-url为可从外部访问的 URL,用于任何公开部署 — 该 URL 会发布在 OAuth 元数据中,供客户端发现授权服务器。默认值为http://localhost:{port},远程客户端无法使用。
或者从源代码构建:cargo build --release && ./target/release/longbridge-mcp。
配置与环境变量
配置位于 ~/.longbridge/mcp/config.json(使用 LONGBRIDGE_MCP_CONFIG_DIR 覆盖目录)。CLI 标志优先级更高。当 tls_cert 和 tls_key 同时设置时,服务器使用 HTTPS 运行,否则使用 HTTP;base_url 在启用 TLS 时默认为 https://localhost:{port},未启用时默认为 http://localhost:{port}。
| 选项 | 配置键 | CLI 标志 | 默认值 | 说明 |
|---|---|---|---|---|
| 绑定地址 | bind | --bind | 127.0.0.1:8000 | HTTP 服务器监听地址 |
| 基础 URL | base_url | --base-url | 自动 | 资源元数据的公开基础 URL |
| 日志目录 | log_dir | --log-dir | (stderr) | 滚动日志文件目录 |
| TLS 证书 | tls_cert | --tls-cert | (无) | HTTPS 使用的 PEM 证书文件 |
| TLS 私钥 | tls_key | --tls-key | (无) | HTTPS 使用的 PEM 私钥文件 |
| Canary 上游 | canary | --canary | false | 连接 Longbridge Canary 环境(*.longbridge.xyz)。即使配置文件启用了 Canary,--canary=false 也会强制使用生产环境 |
中国大陆环境(*.longbridge.cn)不是一个标志:设置 LONGBRIDGE_REGION=cn 时会自动选择该环境(SDK 使用的同一变量),因此大陆集群无需专门设置。
上游端点由所选环境固定:
| 生产环境(默认) | Canary(--canary) | 中国大陆(LONGBRIDGE_REGION=cn) | |
|---|---|---|---|
| OpenAPI | https://openapi.longbridge.com | https://openapi-global.longbridge.xyz | https://openapi.longbridge.cn |
| 行情 WebSocket | wss://openapi-quote.longbridge.com/v2 | wss://openapi-global-quote.longbridge.xyz/v2 | wss://openapi-quote.longbridge.cn/v2 |
| 交易 WebSocket | wss://openapi-trade.longbridge.com/v2 | wss://openapi-global-trade.longbridge.xyz/v2 | wss://openapi-trade.longbridge.cn/v2 |
| OAuth / 连接页面 | openapi.longbridge.com / open.longbridge.com | openapi-global.longbridge.xyz / open.longbridge.xyz | openapi.longbridge.cn / open.longbridge.cn |
Canary 使用 -global 网关,而非 openapi.longbridge.xyz:只有前者由 CloudFront 提供前置服务,并执行 x-dc-region 数据中心路由;本服务器依赖此功能,才能在一个进程中为以 us_ 和 ap_ 为前缀的凭据提供服务。
Canary 和中国大陆环境会在启动时固定上述所有 URL;生产环境则交由 SDK 自行解析,但如果凭据为 us_ 且未覆盖上游地址,则会固定使用全球 .com 网关。有关精确的选择规则,请参阅 src/endpoints.rs。
高级环境变量——大多数部署都无需修改;这些变量用于 SDK 调试以及边缘/全球入口部署。
| 变量 | 默认值 | 说明 |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | 配置文件目录 |
LONGBRIDGE_PUBLIC_HOSTS | (无) | 以逗号分隔的主机名列表,允许来自边缘注入的 X-Host 标头;匹配的请求会在 401 挑战/RFC 9728 元数据中回显该主机名。未设置 = 忽略 X-Host |
LONGBRIDGE_GLOBAL_OAUTH_URL | (无) | 向通过允许列表中的 X-Host(全球单域名入口)到达的请求公布的授权服务器 URL。未设置 = 回退到当前模式的 OpenAPI 基础 URL |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | 缓存的行情 WebSocket 上下文被逐出前的空闲秒数 |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | 每个服务器进程缓存的行情 WebSocket 上下文最大数量 |
LONGBRIDGE_MCP_LOG_PAYLOADS | (未设置) | 1 会取消载荷日志上限(见下文)。切勿在生产环境中设置 |
LONGBRIDGE_LOG_PATH | (无) | SDK 内部日志路径。生产环境中请勿设置 — SDK 会在此写入未经筛选的请求/响应正文 |
日志记录与客户数据
MCP 请求和响应携带客户数据——现金余额、持仓、订单历史——上游 SDK 帧则携带访问令牌。这些内容都不应写入日志文件,因此服务器会限制可能打印这些内容的日志目标,不受 `RUST_LOG` 影响:| 目标 | 上限 | 否则会打印的内容 |
|---|---|---|
longbridge_httpcli | warn | OpenAPI 请求和完整响应正文 (INFO) |
longbridge_wscli | warn | 每个 WebSocket 帧,包括身份验证令牌 (INFO) |
longbridge::trade | warn | 订单推送事件 (INFO) |
rmcp | info | 解码后的 MCP 请求和完整工具结果 (DEBUG)、原始 JSON-RPC 帧 (TRACE) |
因此,提高详细程度是安全的:RUST_LOG=debug(或 trace)会显示服务器自身的日志,而不会泄露客户数据。有两个开关会破坏这一保护,默认均为关闭状态——LONGBRIDGE_MCP_LOG_PAYLOADS=1(移除上限;仅可在本地针对测试账户使用)和 LONGBRIDGE_LOG_PATH(让 SDK 将未经筛选的正文写入该目录;设置后服务器会在启动时发出警告)。
HTTP 端点、身份验证和指标
服务器要求在 Authorization: Bearer <token> 中提供 Longbridge OAuth 访问令牌。缺少身份验证或身份验证无效时,服务器会返回 401,并在 WWW-Authenticate 标头中提供受保护资源元数据的地址,该元数据会引导客户端前往 Longbridge OAuth 授权服务器。
在请求中发送 x-papertrading: true(或 1),即可在模拟交易环境中运行。上游会拒绝使用真实资金令牌发出的模拟交易请求,因此该标头是安全防护,而非路由开关:它只能限制令牌可执行的操作。LONGBRIDGE_PAPERTRADING=true 则会为整个部署启用该功能。
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /.well-known/oauth-protected-resource | 受保护资源元数据 (RFC 9728) |
| GET | /.well-known/oauth-authorization-server | 授权服务器元数据 (RFC 8414);公布 Longbridge 直接授权/注册端点以及代理令牌/撤销端点 |
| POST | /oauth2/token | OAuth 令牌代理;根据授权码/刷新令牌推导 x-dc-region,默认为 AP |
| POST | /oauth2/revoke | OAuth 撤销代理;根据令牌推导 x-dc-region,默认为 AP |
| GET | /metrics | Prometheus 指标 |
| POST/GET/DELETE | /mcp | MCP Streamable HTTP 端点(需要 Bearer 令牌) |
Prometheus 指标:mcp_tool_calls_total(计数器)、mcp_tool_call_duration_seconds(直方图)和 mcp_tool_call_errors_total(计数器)——每项均按 tool_name 标记。
开发
cargo +nightly fmt # format
cargo clippy # lint
cargo test # test
许可证
基于 MIT License 发布。