关于 Longbridge
Longbridge 是 Longbridge 券商的官方 MCP 服务,提供美股和港股行情、研究、交易及账户工具。支持托管的 OAuth 2.1 端点,也可自行托管。
主要功能
- 01行情、期权和市场数据
- 02基本面数据与分析师研究
- 03订单路由和交易计划
- 04投资组合与账户工具
- 05用兼容 jq 的表达式筛选响应
适用场景
- 01查看美股和港股行情及估值
- 02检查持仓和投资组合表现
- 03提交或管理交易及定投计划
- 04筛选大型工具响应中的指定字段
MCP 相关
通过 MCP 工具提供 Longbridge 行情、交易、研究和账户操作。客户端可通过 OAuth 2.1 连接托管端点,也可连接自托管实例;类型化输出模式还可作为 MCP 资源读取。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.longbridge.comclaude mcp add --transport http longbridge https://mcp.longbridge.com{"mcpServers":{"longbridge":{"type":"http","url":"https://mcp.longbridge.com"}}}在 Cursor 中打开{"servers":{"longbridge":{"type":"http","url":"https://mcp.longbridge.com"}}}在 VS Code 中打开{"mcpServers":{"longbridge":{"type":"http","url":"https://mcp.longbridge.com"}}}{"mcpServers":{"longbridge":{"serverUrl":"https://mcp.longbridge.com"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.longbridge.com需要授权ghcr.io/longbridge/longbridge-mcp:0.9.0Streamable HTTP工具
详细介绍
Longbridge MCP 服务
Longbridge 券商的官方 MCP 服务,提供 164 种工具,涵盖实时报价、期权、订单路由、基本面、分析师评级、日历、IPO、价格提醒、定投计划、网格交易、投资组合分析和社区自选列表,覆盖美国和香港市场。使用 Rust 构建,采用 rmcp 和 axum。
现已上线 ChatGPT 和 Claude
Longbridge 已正式收录于 ChatGPT Apps 目录和 Claude Connectors 目录。
用日常语言了解市场——报价、期权、基本面以及您自己的投资组合——
无需编辑配置文件,也无需粘贴令牌。
| 在一个地方添加 | 然后直接提问 | |
|---|---|---|
| ChatGPT | Settings → Apps & Connectors → 添加 Longbridge | “NVDA 今天行情如何?” · “显示我的港股持仓” |
| Claude | Settings → 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 发送一次;每个工具的 schema 仅声明可选参数的名称和类型。
例如:
{
"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。对于有 schema 支持的工具,可通过 resources/list 和 resources/read,在 lb://tools/{tool-name}/output-schema 获取原始类型 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 challenge,获取 /.well-known/oauth-protected-resource(RFC 9728),并打开浏览器以完成 Longbridge OAuth 流程。令牌会按会话缓存并自动刷新。
覆盖行情数据、交易、研究和账户管理的 20 个类别。
| 类别 | 数量 | 覆盖范围 |
|---|---|---|
| Quote | 32 | 实时和历史行情、K 线、深度、经纪商、期权、权证、自选列表、资金流向、市场温度、空头持仓、期权成交量 |
| Fundamental | 33 | 财务报表/报告、业务板块、机构观点、行业同业/估值、股息、每股收益预测、估值与估值比较、公司信息/高管、股东、公司行动、运营指标 |
| Trade | 15 | 提交/取消/替换订单、多腿期权组合订单、持仓、余额、成交、资金流、保证金 |
| Market | 15 | 市场状态、行业/涨跌幅排行、经纪商持仓、A/H 股溢价、交易统计、异常情况、卖空交易/保证金、指数成分股 |
| DCA | 9 | 定期定额计划的创建/更新/暂停/恢复/停止、执行历史、统计、支持情况检查 |
| Grid | 11 | 网格交易订单的提交/替换/取消/暂停/重启、列表/详情/触发历史查询、每个标的的设置信息、一次性策略同意 |
| Sharelist | 8 | 社区自选列表的增删改查、添加/移除/排序成员、热门列表 |
| IPO | 7 | IPO 申购、日历、已上市股票、订单详情、盈亏分析 |
| Content | 7 | 新闻列表/详情、讨论话题的增删改查和回复 |
| Alert | 5 | 价格提醒的增删改查(添加、删除、启用、禁用、列表) |
| Screener | 5 | 股票筛选搜索、指标、策略推荐/管理 |
| Portfolio | 4 | 汇率、盈亏分析(汇总、详情、已实现) |
| ATM | 3 | 银行卡、提款记录、存款记录 |
| Macrodata | 2 | 宏观经济指标列表和详情 |
| Search | 2 | 新闻搜索、社区话题搜索 |
| Statement | 2 | 账户结单列表和导出 |
| Calendar | 1 | 财经日历(财报、股息、IPO、宏观数据、休市) |
| Quant | 1 | 使用历史 K 线数据运行量化指标脚本 |
| Authenticate | 1 | 为无法完成浏览器重定向的客户端交换 OAuth 代码 |
| Utility | 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;启用 TLS 时,base_url 默认为 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 也会强制使用生产环境 |
上游端点由所选环境固定:
| 生产环境(默认) | 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 ` 中提供 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 发布。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。