Longbridge
官方美股/港股市场 — 110个工具:实时行情、期权、订单、基本面、提醒、定投与投资组合
你可以用 Longbridge MCP 做什么?
- 实时行情 — 通过
quote工具获取美股和港股代码的实时或历史行情、K线、深度及期权数据。 - 交易操作 — 下达、撤销或替换订单,包括多腿期权组合,并查看持仓、余额和成交记录。
- 基本面研究 — 获取公司的财务报表、股息、每股收益预测、估值及分析师评级。
- 投资组合分析 — 查看您 Longbridge 账户的盈亏汇总、已实现收益及汇率信息。
- 价格提醒 — 创建、查看、启用或删除价格提醒,以跟踪市场动态。
- 定投与网格交易 — 设置、暂停或停止定投计划及网格交易策略。
托管 MCP 服务器
npx add-mcp 'https://mcp.longbridge.com'可安装到 Claude Code、Codex、Cursor 等客户端
文档
Longbridge MCP 服务器
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" } } }
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 | 财务报表/报告、业务分部、机构观点、行业同行/估值、股息、EPS 预测、估值与估值比较、公司信息/高管、股东、公司行动、运营指标 |
| 交易 | 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,适用于任何公共部署——它会发布在客户端用于发现授权服务器的 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 默认为 https://localhost:{port}(启用 TLS)或 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=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 许可证 发布。