Longbridge
oficialMercados dos EUA/HK — 110 ferramentas: cotações em tempo real, opções, ordens, fundamentos, alertas, DCA e portfólio
O que você pode fazer com Longbridge MCP?
- Cotações em tempo real — Solicite cotações ao vivo ou históricas, candles, profundidade e dados de opções para símbolos dos EUA e de HK por meio da ferramenta
quote. - Operações de negociação — Envie, cancele ou substitua ordens, incluindo combinações de opções com múltiplas pernas, e consulte posições, saldos e execuções.
- Pesquisa fundamental — Obtenha demonstrações financeiras, dividendos, projeções de lucro por ação, avaliações e classificações de analistas para empresas.
- Análise de portfólio — Consulte resumos de lucros e perdas, ganhos realizados e taxas de câmbio para sua conta Longbridge.
- Alertas de preço — Crie, liste, ative ou exclua alertas de preço para acompanhar movimentos do mercado.
- DCA e negociação em grade — Configure, pause ou interrompa planos de média de custo em dólar e estratégias de negociação em grade.
Servidor MCP hospedado
npx add-mcp 'https://mcp.longbridge.com'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP da Longbridge
Servidor MCP oficial para a corretora Longbridge. 164 ferramentas cobrindo cotações em tempo real, opções, roteamento de ordens, fundamentos, classificações de analistas, calendários, IPO, alertas de preço, planos DCA, negociação em grade, análise de portfólio e listas comunitárias — abrangendo os mercados dos EUA e de Hong Kong. Construído em Rust usando rmcp e axum.
Agora disponível no ChatGPT e no Claude
A Longbridge está oficialmente listada no diretório de Apps do ChatGPT e no diretório de Conectores do Claude.
Fale com os mercados em linguagem simples — cotações, opções, fundamentos e seu próprio portfólio —
sem arquivos de configuração para editar e sem tokens para colar.
| Adicione em um só lugar | Depois é só perguntar | |
|---|---|---|
| ChatGPT | Configurações → Apps e Conectores → adicione Longbridge | "Como a NVDA está negociando hoje?" · "Mostre minhas posições em HK" |
| Claude | Configurações → Conectores → adicione Longbridge (web · desktop · mobile) | "Compare as avaliações de AAPL e MSFT" · "Algum IPO esta semana?" |
Faça login uma vez com sua conta Longbridge. Cada solicitação é executada pelo mesmo endpoint hospedado e protegido por OAuth 2.1 documentado abaixo — dados de mercado somente leitura, além de ferramentas completas de conta, portfólio e negociação, tudo controlado pelas suas próprias credenciais.
Destaques
- 164 ferramentas, um endpoint — cotações, opções, roteamento de ordens, fundamentos, pesquisa de analistas, filtros, IPO, alertas, DCA, negociação em grade e análise de portfólio nos mercados dos EUA e de Hong Kong.
- Sem estado por design — cada solicitação encaminha seu token Bearer diretamente ao SDK da Longbridge. Sem sessões, sem banco de dados, nada armazenado no servidor.
- OAuth 2.1, descoberta automática — metadados de recurso protegido RFC 9728 e de servidor de autorização RFC 8414; os clientes concluem o fluxo sem precisar colar token.
- Respostas limpas e tipadas — campos em snake_case, timestamps RFC 3339, símbolos legíveis e esquemas de resposta tipados disponíveis como recursos MCP.
Construído em Rust com rmcp e axum.
Filtrar respostas de ferramentas com jq
Cada ferramenta aceita uma string _jq opcional em seus argumentos. A expressão é executada
no JSON completo retornado, após a serialização normal da resposta. O nome _jq
é reservado para filtragem de respostas, evitando conflitos com parâmetros de negócio.
As orientações de uso são enviadas uma vez na resposta initialize do MCP, no campo instructions;
cada esquema de ferramenta declara apenas o nome e o tipo do parâmetro opcional.
Por exemplo:
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
Use .data[:5] para pegar os primeiros cinco itens de um array data,
.data | map(select(.price > 10)) para selecionar linhas, ou {total: .total} para
projetar campos. As expressões usam a sintaxe compatível com jq do mecanismo jaq
embutido; nenhum executável jq separado é necessário.
- Omita
_jq(ou passenull) para preservar a resposta original. - Um valor de saída é retornado diretamente, múltiplos valores como um array, e nenhum
valor como
[]. Escalares e arrays são texto JSON; objetos também aparecem emstructuredContent, contendo apenas os campos filtrados. - Respostas em texto simples estão disponíveis como strings JSON. Múltiplos blocos de conteúdo sem conteúdo estruturado estão disponíveis como um array.
- Erros de ferramenta e explicações de permissão/sem dados permanecem sem filtro.
- Expressões vazias, inválidas ou não-string são rejeitadas antes da execução da ferramenta. Se a filtragem falhar em tempo de execução, a resposta diz explicitamente que a ferramenta já foi executada. Não tente reexecutar automaticamente gravações, como colocar uma ordem.
- Acesso ao ambiente, importações do sistema de arquivos e filtros de log não estão disponíveis. A saída é limitada a 10.000 valores e 8 MiB; exceder um limite retorna um erro em vez de um resultado parcial.
Como os filtros podem alterar a forma da resposta, as ferramentas não anunciam um
outputSchema fixo. Os esquemas tipados originais permanecem disponíveis por meio de resources/list
e resources/read em lb://tools/{tool-name}/output-schema para ferramentas com esquema.
Conecte seu próprio cliente
A Longbridge executa um endpoint hospedado em https://mcp.longbridge.com — aponte qualquer cliente MCP para ele e conclua o OAuth quando solicitado. A autorização é descoberta automaticamente via RFC 9728; não há token para colar.
Claude Code
claude mcp add --transport http longbridge https://mcp.longbridge.com
Claude Desktop — adicione em claude_desktop_config.json e reinicie:
{ "mcpServers": { "longbridge": { "url": "https://mcp.longbridge.com" } } }
Cursor · Cline · Windsurf · Zed · outros clientes — aponte-os para https://mcp.longbridge.com com transporte streamable-http.
Mais comandos do 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
No primeiro uso, o cliente lê o desafio WWW-Authenticate, busca /.well-known/oauth-protected-resource (RFC 9728) e abre seu navegador para o fluxo OAuth da Longbridge. Os tokens são armazenados em cache por sessão e atualizados automaticamente.
As 164 ferramentas
Vinte categorias abrangendo dados de mercado, negociação, pesquisa e gerenciamento de conta.
| Categoria | Quantidade | Cobertura |
|---|---|---|
| Cotação | 32 | Cotações em tempo real e históricas, candles, profundidade, corretores, opções, warrants, listas de observação, fluxo de capital, temperatura do mercado, posições vendidas, volume de opções |
| Fundamentos | 33 | Demonstrações/relatórios financeiros, segmentos de negócio, visões institucionais, pares do setor/avaliação, dividendos, previsões de EPS, avaliações e comparação de avaliações, informações da empresa/executivos, acionistas, ações corporativas, métricas operacionais |
| Negociação | 15 | Envio/cancelamento/substituição de ordens, ordens combinadas de opções multi-perna, posições, saldo, execuções, fluxo de caixa, margem |
| Mercado | 15 | Status do mercado, ranking do setor/maiores altas, participações de corretores, prêmio A/H, estatísticas de negociação, anomalias, vendas a descoberto/margem, constituintes de índices |
| DCA | 9 | Criação/atualização/pausa/retomada/parada de plano de média de custo em dólar, histórico de execuções, estatísticas, verificação de suporte |
| Grade | 11 | Envio/substituição/cancelamento/suspensão/reinício de ordens de negociação em grade, leituras de lista/detalhe/histórico de gatilhos, informações de configuração por símbolo, consentimento de estratégia única |
| Lista compartilhada | 8 | CRUD de listas comunitárias, adicionar/remover/ordenar membros, listas populares |
| IPO | 7 | Assinaturas de IPO, calendário, ações listadas, detalhe de ordens, análise de lucro/perda |
| Conteúdo | 7 | Lista/detalhe de notícias, CRUD de tópicos de discussão e respostas |
| Alerta | 5 | CRUD de alertas de preço (adicionar, excluir, ativar, desativar, listar) |
| Filtro | 5 | Busca de ações, indicadores, recomendação/gerenciamento de estratégias |
| Portfólio | 4 | Taxas de câmbio, análise de lucro/perda (resumo, detalhe, realizado) |
| ATM | 3 | Cartões bancários, registros de saque, registros de depósito |
| Macrodados | 2 | Lista e detalhe de indicadores macroeconômicos |
| Busca | 2 | Busca de notícias, busca de tópicos da comunidade |
| Extrato | 2 | Listagem e exportação de extratos de conta |
| Calendário | 1 | Calendário financeiro (lucros, dividendos, IPOs, dados macro, fechamentos) |
| Quant | 1 | Executar um script de indicador quant contra dados históricos de K-line |
| Autenticação | 1 | Troca de código OAuth para clientes que não conseguem concluir um redirecionamento de navegador |
| Utilitário | 1 | Hora UTC atual |
Autohospedagem
Prefere sua própria instância? Execute a imagem 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
Defina
--base-urlpara sua URL acessível externamente em qualquer implantação pública — ela é publicada nos metadados OAuth que os clientes usam para descobrir o servidor de autorização. O padrão éhttp://localhost:{port}, que clientes remotos não conseguem usar.
Ou compile a partir do código-fonte: cargo build --release && ./target/release/longbridge-mcp.
Configuração e variáveis de ambiente
A configuração fica em ~/.longbridge/mcp/config.json (substitua o diretório com LONGBRIDGE_MCP_CONFIG_DIR). Os flags de CLI têm precedência. Quando tls_cert e tls_key estão ambos definidos, o servidor executa HTTPS; caso contrário, HTTP; base_url tem como padrão https://localhost:{port} com TLS ou http://localhost:{port} sem.
| Opção | Chave de Configuração | Flag de CLI | Padrão | Descrição |
|---|---|---|---|---|
| Endereço de bind | bind | --bind | 127.0.0.1:8000 | Endereço de escuta do servidor HTTP |
| URL base | base_url | --base-url | auto | URL pública base para metadados de recursos |
| Diretório de logs | log_dir | --log-dir | (stderr) | Diretório para arquivos de log rotativos |
| Certificado TLS | tls_cert | --tls-cert | (nenhum) | Arquivo de certificado PEM para HTTPS |
| Chave privada TLS | tls_key | --tls-key | (nenhum) | Arquivo de chave privada PEM para HTTPS |
| Upstream canário | canary | --canary | false | Falar com o ambiente canário da Longbridge (*.longbridge.xyz). --canary=false força produção mesmo quando o arquivo de configuração o habilita |
O ambiente da China continental (*.longbridge.cn) não é um flag: ele é selecionado automaticamente quando LONGBRIDGE_REGION=cn está definido (a mesma variável que o SDK usa), então um cluster na China continental não precisa de configuração dedicada.
Endpoints upstream são fixados pelo ambiente selecionado:
| Produção (padrão) | Canário (--canary) | China continental (LONGBRIDGE_REGION=cn) | |
|---|---|---|---|
| OpenAPI | https://openapi.longbridge.com | https://openapi-global.longbridge.xyz | https://openapi.longbridge.cn |
| WebSocket de cotações | wss://openapi-quote.longbridge.com/v2 | wss://openapi-global-quote.longbridge.xyz/v2 | wss://openapi-quote.longbridge.cn/v2 |
| WebSocket de negociação | wss://openapi-trade.longbridge.com/v2 | wss://openapi-global-trade.longbridge.xyz/v2 | wss://openapi-trade.longbridge.cn/v2 |
| Página OAuth / conexão | openapi.longbridge.com / open.longbridge.com | openapi-global.longbridge.xyz / open.longbridge.xyz | openapi.longbridge.cn / open.longbridge.cn |
O canário usa o gateway -global, não openapi.longbridge.xyz: apenas o primeiro tem front-end CloudFront e realiza roteamento de data center x-dc-region, do qual este servidor depende para atender credenciais com prefixo us_ e ap_ a partir de um único processo.
O canário e a China continental fixam cada URL acima na inicialização; a produção delega à resolução do próprio SDK, exceto que uma credencial us_ sem substituição de upstream é fixada ao gateway global .com. Consulte src/endpoints.rs para as regras exatas de seleção.
Variáveis de ambiente avançadas — a maioria das implantações nunca as toca; elas existem para depuração do SDK e implantações de borda/entrada global.
| Variável | Padrão | Descrição |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | Diretório do arquivo de configuração |
LONGBRIDGE_PUBLIC_HOSTS | (nenhum) | Nomes de host separados por vírgula aceitos do cabeçalho X-Host injetado na borda; solicitações correspondentes ecoam esse host no desafio 401 / metadados RFC 9728. Não definido = X-Host ignorado |
LONGBRIDGE_GLOBAL_OAUTH_URL | (nenhum) | URL do servidor de autorização anunciada para solicitações que chegam via X-Host na lista de permissões (entrada global de domínio único). Não definido = usar a URL base OpenAPI do modo |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | Segundos ociosos antes que um contexto de WebSocket de cotações em cache seja removido |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | Máximo de contextos de WebSocket de cotações em cache por processo do servidor |
LONGBRIDGE_MCP_LOG_PAYLOADS | (não definido) | 1 remove os limites de log de payload (veja abaixo). Nunca defina isso em produção |
LONGBRIDGE_LOG_PATH | (nenhum) | Caminho de log interno do SDK. Deixe não definido em produção — o SDK grava corpos de solicitação/resposta sem filtro lá |
Logs e dados do cliente
As solicitações e respostas MCP carregam dados do cliente — saldos em dinheiro, posições, histórico de ordens — e os frames do SDK upstream carregam tokens de acesso. Nada disso deve ir para um arquivo de log, então o servidor limita os destinos de log que imprimiriam esses dados, independentemente de `RUST_LOG`:| Destino | Limite | O que imprimiria caso contrário |
|---|---|---|
longbridge_httpcli | warn | Corpo da solicitação OpenAPI e corpos completos de resposta (INFO) |
longbridge_wscli | warn | Cada frame WebSocket, incluindo o token de autenticação (INFO) |
longbridge::trade | warn | Eventos de push de ordens (INFO) |
rmcp | info | Solicitações MCP decodificadas e resultados completos de ferramentas (DEBUG), frames JSON-RPC brutos (TRACE) |
Portanto, aumentar a verbosidade é seguro: RUST_LOG=debug (ou trace) fornece os logs do próprio servidor sem vazar dados do cliente. Duas opções desativam isso, ambas desligadas por padrão — LONGBRIDGE_MCP_LOG_PAYLOADS=1 (remove os limites; use apenas contra uma conta de teste localmente) e LONGBRIDGE_LOG_PATH (faz o SDK gravar corpos sem filtro nesse diretório; o servidor emite um aviso na inicialização quando definida).
Endpoints HTTP, autenticação e métricas
O servidor espera um token de acesso OAuth do Longbridge em Authorization: Bearer <token>. Em caso de autenticação ausente ou inválida, ele retorna 401 com um cabeçalho WWW-Authenticate apontando para os metadados do recurso protegido, que direcionam os clientes ao servidor de autorização OAuth do Longbridge.
Envie x-papertrading: true (ou 1) em uma solicitação para executá-la no ambiente de negociação simulada (paper trading). O upstream rejeita uma solicitação de negociação simulada feita com um token de dinheiro real, então o cabeçalho é uma proteção de segurança em vez de uma chave de roteamento: ele só pode restringir o que um token pode fazer. LONGBRIDGE_PAPERTRADING=true ativa isso para toda a implantação.
| Método | Caminho | Descrição |
|---|---|---|
| GET | /.well-known/oauth-protected-resource | Metadados do Recurso Protegido (RFC 9728) |
| GET | /.well-known/oauth-authorization-server | Metadados do Servidor de Autorização (RFC 8414); anuncia endpoints diretos de authorize/register do Longbridge e endpoints proxy de token/revoke |
| POST | /oauth2/token | Proxy de token OAuth; deriva x-dc-region do código/token de atualização, padronizando para AP |
| POST | /oauth2/revoke | Proxy de revogação OAuth; deriva x-dc-region do token, padronizando para AP |
| GET | /metrics | Métricas Prometheus |
| POST/GET/DELETE | /mcp | Endpoint MCP Streamable HTTP (requer token Bearer) |
Métricas Prometheus: mcp_tool_calls_total (contador), mcp_tool_call_duration_seconds (histograma) e mcp_tool_call_errors_total (contador) — cada uma rotulada por tool_name.
Desenvolvimento
cargo +nightly fmt # format
cargo clippy # lint
cargo test # test
Licença
Lançado sob a Licença MIT.