Longbridge
oficialMercados de EE. UU. y Hong Kong — 110 herramientas: cotizaciones en tiempo real, opciones, órdenes, fundamentos, alertas, DCA y cartera
¿Qué puedes hacer con Longbridge MCP?
- Cotizaciones en tiempo real — Solicita cotizaciones en vivo o históricas, velas, profundidad de mercado y datos de opciones para símbolos de EE. UU. y HK mediante la herramienta
quote. - Operaciones de trading — Coloca, cancela o reemplaza órdenes, incluidas combinaciones de opciones de múltiples patas, y consulta posiciones, saldos y ejecuciones.
- Investigación fundamental — Obtén estados financieros, dividendos, pronósticos de EPS, valoraciones y calificaciones de analistas para empresas.
- Analítica de cartera — Consulta resúmenes de ganancias y pérdidas, ganancias realizadas y tipos de cambio para tu cuenta de Longbridge.
- Alertas de precios — Crea, lista, activa o elimina alertas de precios para seguir los movimientos del mercado.
- DCA y trading en cuadrícula — Configura, pausa o detén planes de promediación de costos en dólares y estrategias de trading en cuadrícula.
Servidor MCP alojado
npx add-mcp 'https://mcp.longbridge.com'Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor MCP de Longbridge
Servidor MCP oficial para la correduría Longbridge. 164 herramientas que abarcan cotizaciones en tiempo real, opciones, enrutamiento de órdenes, fundamentales, calificaciones de analistas, calendarios, OPI, alertas de precios, planes DCA, trading en cuadrícula, análisis de cartera y listas compartidas de la comunidad — cubriendo los mercados de EE. UU. y Hong Kong. Construido en Rust con rmcp y axum.
Ahora disponible en ChatGPT y Claude
Longbridge está oficialmente listado en el directorio de Apps de ChatGPT y en el directorio de Conectores de Claude.
Habla con los mercados en lenguaje natural — cotizaciones, opciones, fundamentales y tu propia cartera —
sin archivos de configuración que editar ni tokens que pegar.
| Añádelo en un solo lugar | Luego solo pregunta | |
|---|---|---|
| ChatGPT | Configuración → Apps y Conectores → añade Longbridge | "¿Cómo cotiza NVDA hoy?" · "Muéstrame mis posiciones en HK" |
| Claude | Configuración → Conectores → añade Longbridge (web · escritorio · móvil) | "Compara las valoraciones de AAPL y MSFT" · "¿Hay alguna OPI esta semana?" |
Inicia sesión una vez con tu cuenta de Longbridge. Cada solicitud se ejecuta a través del mismo endpoint alojado y protegido con OAuth 2.1 documentado a continuación — datos de mercado de solo lectura más herramientas completas de cuenta, cartera y trading, todo controlado por tus propias credenciales.
Destacados
- 164 herramientas, un solo endpoint — cotizaciones, opciones, enrutamiento de órdenes, fundamentales, investigación de analistas, filtros, OPI, alertas, DCA, trading en cuadrícula y análisis de cartera en los mercados de EE. UU. y Hong Kong.
- Sin estado por diseño — cada solicitud reenvía su token Bearer directamente al SDK de Longbridge. Sin sesiones, sin base de datos, nada almacenado en el servidor.
- OAuth 2.1, autodetectado — metadatos de recurso protegido RFC 9728 y de servidor de autorización RFC 8414; los clientes completan el flujo sin necesidad de pegar tokens.
- Respuestas limpias y tipadas — campos en snake_case, marcas de tiempo RFC 3339, símbolos legibles y esquemas de respuesta tipados disponibles como recursos MCP.
Construido en Rust con rmcp y axum.
Filtra respuestas de herramientas con jq
Cada herramienta acepta una cadena _jq opcional en sus argumentos. La expresión se ejecuta
sobre el JSON completo devuelto, después de la serialización normal de la respuesta. El nombre _jq
está reservado para el filtrado de respuestas para evitar conflictos con parámetros de negocio.
Las instrucciones de uso se envían una vez en el instructions de la respuesta initialize del MCP;
cada esquema de herramienta declara solo el nombre y tipo del parámetro opcional.
Por ejemplo:
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
Usa .data[:5] para tomar los primeros cinco elementos de un array data,
.data | map(select(.price > 10)) para seleccionar filas, o {total: .total} para
proyectar campos. Las expresiones usan la sintaxis compatible con jq del motor jaq
integrado; no se necesita un ejecutable jq separado.
- Omite
_jq(o pasanull) para conservar la respuesta original. - Un valor de salida se devuelve directamente, múltiples valores como array, y ningún
valor como
[]. Los escalares y arrays son texto JSON; los objetos también aparecen enstructuredContent, conteniendo solo los campos filtrados. - Las respuestas de texto plano están disponibles como cadenas JSON. Múltiples bloques de contenido sin contenido estructurado están disponibles como array.
- Los errores de herramientas y las explicaciones de permisos/sin datos permanecen sin filtrar.
- Las expresiones vacías, inválidas o que no sean cadenas se rechazan antes de que la herramienta se ejecute. Si el filtrado falla en tiempo de ejecución, la respuesta dice explícitamente que la herramienta ya se ejecutó. No reintentes automáticamente escrituras como colocar una orden.
- El acceso al entorno, las importaciones del sistema de archivos y los filtros de registro no están disponibles. La salida está limitada a 10,000 valores y 8 MiB; exceder un límite devuelve un error en lugar de un resultado parcial.
Debido a que los filtros pueden cambiar la forma de la respuesta, las herramientas no anuncian un
outputSchema fijo. Los esquemas tipados originales siguen disponibles a través de resources/list
y resources/read en lb://tools/{tool-name}/output-schema para herramientas respaldadas por esquemas.
Conecta tu propio cliente
Longbridge ejecuta un endpoint alojado en https://mcp.longbridge.com — apunta cualquier cliente MCP hacia él y completa OAuth cuando se te solicite. La autorización se autodetecta vía RFC 9728; no hay token que pegar.
Claude Code
claude mcp add --transport http longbridge https://mcp.longbridge.com
Claude Desktop — añade a claude_desktop_config.json, luego reinicia:
{ "mcpServers": { "longbridge": { "url": "https://mcp.longbridge.com" } } }
Cursor · Cline · Windsurf · Zed · otros clientes — apúntalos a https://mcp.longbridge.com con transporte streamable-http.
Más comandos de 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
En el primer uso, el cliente lee el desafío WWW-Authenticate, obtiene /.well-known/oauth-protected-resource (RFC 9728) y abre tu navegador para el flujo OAuth de Longbridge. Los tokens se almacenan en caché por sesión y se renuevan automáticamente.
Las 164 herramientas
Veinte categorías que abarcan datos de mercado, trading, investigación y gestión de cuentas.
| Categoría | Cantidad | Cobertura |
|---|---|---|
| Cotización | 32 | Cotizaciones en tiempo real e históricas, velas, profundidad, brokers, opciones, warrants, listas de seguimiento, flujo de capital, temperatura del mercado, posiciones cortas, volumen de opciones |
| Fundamental | 33 | Estados/informes financieros, segmentos de negocio, visiones institucionales, pares del sector/valoración, dividendos, pronósticos de EPS, valoraciones y comparación de valoraciones, información de la empresa/ejecutivos, accionistas, acciones corporativas, métricas operativas |
| Trading | 15 | Envío/cancelación/reemplazo de órdenes, órdenes combinadas de opciones multi-pata, posiciones, saldo, ejecuciones, flujo de caja, margen |
| Mercado | 15 | Estado del mercado, ranking de sectores/mayores movimientos, tenencias de brokers, prima A/H, estadísticas de trading, anomalías, operaciones cortas/margen, constituyentes de índices |
| DCA | 9 | Crear/actualizar/pausar/reanudar/detener plan de promediación de costo en dólares, historial de ejecuciones, estadísticas, verificación de soporte |
| Cuadrícula | 11 | Enviar/reemplazar/cancelar/suspender/reiniciar orden de trading en cuadrícula, lecturas de lista/detalle/historial de disparos, información de configuración por símbolo, consentimiento de estrategia única |
| Lista compartida | 8 | CRUD de listas compartidas de la comunidad, añadir/eliminar/ordenar miembros, listas populares |
| OPI | 7 | Suscripciones a OPI, calendario, acciones listadas, detalle de órdenes, análisis de ganancias/pérdidas |
| Contenido | 7 | Lista/detalle de noticias, CRUD de temas de discusión y respuestas |
| Alerta | 5 | CRUD de alertas de precios (añadir, eliminar, habilitar, deshabilitar, listar) |
| Filtro | 5 | Búsqueda de acciones con filtro, indicadores, recomendación/gestión de estrategias |
| Cartera | 4 | Tipos de cambio, análisis de ganancias/pérdidas (resumen, detalle, realizado) |
| ATM | 3 | Tarjetas bancarias, registros de retiros, registros de depósitos |
| Macrodatos | 2 | Lista y detalle de indicadores macroeconómicos |
| Búsqueda | 2 | Búsqueda de noticias, búsqueda de temas de la comunidad |
| Estado de cuenta | 2 | Listado y exportación de estados de cuenta |
| Calendario | 1 | Calendario financiero (ganancias, dividendos, OPI, datos macro, cierres) |
| Cuantitativo | 1 | Ejecutar un script de indicador cuantitativo contra datos históricos de velas |
| Autenticación | 1 | Intercambio de código OAuth para clientes que no pueden completar una redirección de navegador |
| Utilidad | 1 | Hora UTC actual |
Autoalojamiento
¿Prefieres tu propia instancia? Ejecuta la imagen publicada:
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
Establece
--base-urla tu URL accesible externamente en cualquier despliegue público — se publica en los metadatos OAuth que los clientes usan para descubrir el servidor de autorización. El valor predeterminado eshttp://localhost:{port}, que los clientes remotos no pueden usar.
O compila desde el código fuente: cargo build --release && ./target/release/longbridge-mcp.
Configuración y variables de entorno
La configuración vive en ~/.longbridge/mcp/config.json (anula el directorio con LONGBRIDGE_MCP_CONFIG_DIR). Los flags de CLI tienen prioridad. Cuando tls_cert y tls_key están ambos establecidos, el servidor ejecuta HTTPS; de lo contrario HTTP; base_url predetermina a https://localhost:{port} con TLS o http://localhost:{port} sin él.
| Opción | Clave de configuración | Flag de CLI | Predeterminado | Descripción |
|---|---|---|---|---|
| Dirección de enlace | bind | --bind | 127.0.0.1:8000 | Dirección de escucha del servidor HTTP |
| URL base | base_url | --base-url | auto | URL pública base para metadatos de recursos |
| Directorio de registros | log_dir | --log-dir | (stderr) | Directorio para archivos de registro rotativos |
| Certificado TLS | tls_cert | --tls-cert | (ninguno) | Archivo de certificado PEM para HTTPS |
| Clave privada TLS | tls_key | --tls-key | (ninguno) | Archivo de clave privada PEM para HTTPS |
| Upstream canario | canary | --canary | false | Habla con el entorno canario de Longbridge (*.longbridge.xyz). --canary=false fuerza producción incluso cuando el archivo de configuración lo habilita |
El entorno de China continental (*.longbridge.cn) no es un flag: se selecciona automáticamente cuando LONGBRIDGE_REGION=cn está establecido (la misma variable que usa el SDK), por lo que un clúster continental no necesita una configuración dedicada.
Los endpoints upstream están fijados por el entorno seleccionado:
| Producción (predeterminado) | Canario (--canary) | Continental (LONGBRIDGE_REGION=cn) | |
|---|---|---|---|
| OpenAPI | https://openapi.longbridge.com | https://openapi-global.longbridge.xyz | https://openapi.longbridge.cn |
| WebSocket de cotizaciones | wss://openapi-quote.longbridge.com/v2 | wss://openapi-global-quote.longbridge.xyz/v2 | wss://openapi-quote.longbridge.cn/v2 |
| WebSocket de trading | wss://openapi-trade.longbridge.com/v2 | wss://openapi-global-trade.longbridge.xyz/v2 | wss://openapi-trade.longbridge.cn/v2 |
| Página OAuth / conexión | openapi.longbridge.com / open.longbridge.com | openapi-global.longbridge.xyz / open.longbridge.xyz | openapi.longbridge.cn / open.longbridge.cn |
Canario usa la puerta de enlace -global, no openapi.longbridge.xyz: solo la primera está respaldada por CloudFront y realiza el enrutamiento de centro de datos x-dc-region, del cual este servidor depende para servir credenciales con prefijo us_ y ap_ desde un solo proceso.
Canario y continental fijan cada URL anterior al inicio; producción difiere a la propia resolución del SDK, excepto que una credencial us_ sin anulación de upstream se fija a la puerta de enlace global .com. Consulta src/endpoints.rs para las reglas exactas de selección.
Variables de entorno avanzadas — la mayoría de los despliegues nunca las tocan; existen para depuración del SDK y despliegues de borde/entrada global.
| Variable | Predeterminado | Descripción |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | Directorio del archivo de configuración |
LONGBRIDGE_PUBLIC_HOSTS | (ninguno) | Nombres de host separados por comas aceptados del encabezado X-Host inyectado en el borde; las solicitudes coincidentes reflejan ese host en el desafío 401 / metadatos RFC 9728. Sin establecer = X-Host ignorado |
LONGBRIDGE_GLOBAL_OAUTH_URL | (ninguno) | URL del servidor de autorización anunciada a solicitudes que llegan a través de un X-Host en lista blanca (entrada global de dominio único). Sin establecer = recurre a la URL base OpenAPI del modo |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | Segundos de inactividad antes de que se desaloje un contexto de WebSocket de cotizaciones en caché |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | Máximo de contextos de WebSocket de cotizaciones en caché por proceso de servidor |
LONGBRIDGE_MCP_LOG_PAYLOADS | (sin establecer) | 1 eleva los límites de registro de payload (ver abajo). Nunca lo establezcas en producción |
LONGBRIDGE_LOG_PATH | (ninguno) | Ruta de registro interna del SDK. Déjalo sin establecer en producción — el SDK escribe cuerpos de solicitud/respuesta sin filtrar allí |
Registro y datos del cliente
Las solicitudes y respuestas de MCP transportan datos del cliente — saldos de efectivo, posiciones, historial de órdenes — y los marcos del SDK ascendente transportan tokens de acceso. Nada de eso pertenece a un archivo de registro, por lo que el servidor limita los destinos de registro que lo imprimirían, independientemente de `RUST_LOG`:| Destino | Límite | Qué imprimiría de otro modo |
|---|---|---|
longbridge_httpcli | warn | Solicitud OpenAPI y cuerpos de respuesta completos (INFO) |
longbridge_wscli | warn | Cada marco de WebSocket, token de autenticación incluido (INFO) |
longbridge::trade | warn | Eventos de envío de órdenes (INFO) |
rmcp | info | Solicitudes MCP decodificadas y resultados de herramientas completos (DEBUG), marcos JSON-RPC sin procesar (TRACE) |
Así que aumentar la verbosidad es seguro: RUST_LOG=debug (o trace) te da los registros propios del servidor sin filtrar datos del cliente. Dos interruptores anulan esto, ambos desactivados por defecto — LONGBRIDGE_MCP_LOG_PAYLOADS=1 (elimina los límites; úsalo solo contra una cuenta de prueba localmente) y LONGBRIDGE_LOG_PATH (hace que el SDK escriba cuerpos sin filtrar en ese directorio; el servidor advierte al inicio cuando está configurado).
Endpoints HTTP, autenticación y métricas
El servidor espera un token de acceso OAuth de Longbridge en Authorization: Bearer <token>. Ante autenticación faltante o inválida, devuelve 401 con un encabezado WWW-Authenticate que apunta a los metadatos del recurso protegido, lo que dirige a los clientes al servidor de autorización OAuth de Longbridge.
Envía x-papertrading: true (o 1) en una solicitud para ejecutarla contra el entorno de trading en papel. El sistema ascendente rechaza una solicitud de trading en papel hecha con un token de dinero real, por lo que el encabezado es una salvaguarda de seguridad más que un interruptor de enrutamiento: solo puede limitar lo que un token puede hacer. LONGBRIDGE_PAPERTRADING=true lo activa para todo el despliegue en su lugar.
| Método | Ruta | Descripción |
|---|---|---|
| GET | /.well-known/oauth-protected-resource | Metadatos del recurso protegido (RFC 9728) |
| GET | /.well-known/oauth-authorization-server | Metadatos del servidor de autorización (RFC 8414); anuncia endpoints directos de autorización/registro de Longbridge y endpoints proxy de token/revocación |
| POST | /oauth2/token | Proxy de token OAuth; deriva x-dc-region del código/token de actualización, con valor predeterminado AP |
| POST | /oauth2/revoke | Proxy de revocación OAuth; deriva x-dc-region del token, con valor predeterminado AP |
| GET | /metrics | Métricas de Prometheus |
| POST/GET/DELETE | /mcp | Endpoint HTTP transmisible de MCP (requiere token Bearer) |
Métricas de Prometheus: mcp_tool_calls_total (contador), mcp_tool_call_duration_seconds (histograma) y mcp_tool_call_errors_total (contador) — cada una etiquetada por tool_name.
Desarrollo
cargo +nightly fmt # format
cargo clippy # lint
cargo test # test
Licencia
Publicado bajo la Licencia MIT.