DataBolsa docs
Servidor MCP

Servidor remoto

Endpoint MCP hospedado (Streamable HTTP) com OAuth e chave de API.

https://mcp.databolsa.com/mcp

Transporte Streamable HTTP (spec MCP), stateless. Métodos POST/GET/DELETE.

Autenticação

Dois formatos no header Authorization, no mesmo endpoint:

  1. OAuth 2.0 — para clientes com suporte (claude.ai, ChatGPT, Claude Code). Descoberta padrão:
    • https://mcp.databolsa.com/.well-known/oauth-protected-resource
    • authorization server em https://databolsa.com (authorize/token/registration via /.well-known/oauth-authorization-server), com PKCE (S256) e dynamic client registration.
  2. Chave de APIAuthorization: Bearer db_live_… (crie aqui).

Sem credencial válida o servidor responde 401 com o desafio WWW-Authenticate apontando o resource metadata — clientes MCP iniciam o fluxo OAuth sozinhos a partir daí.

Perfis (sessão enxuta)

Acrescente ?profile= à URL do conector para expor só um subconjunto de operações, declarado no próprio contrato (x-profiles):

https://mcp.databolsa.com/mcp?profile=default

Perfis: default (a superfície inicial de leitura — grafo de objetos, documentos, eventos e as operações de mercado e crédito privado que ainda não têm sucessora object-first, sem as retiradas por gate, que ficam alcançáveis pelos Objects) e full (o contrato inteiro, escolha explícita). Sem ?profile= a sessão recebe default. Perfil desconhecido responde 400 listando os válidos. O perfil reduz contexto e exposição da sessão; a autorização real continua na credencial.

Carteira e perfil de investidor não são um perfil: são da extensão Wallet. Uma sessão autenticada (OAuth ou chave) recebe, além do default, as tools das extensões instaladas no workspace — desinstalar corta na sessão seguinte, sem deploy.

Teste rápido com curl

curl -s https://mcp.databolsa.com/mcp \
  -H "Authorization: Bearer db_live_SUACHAVE" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"resolveObject","arguments":{"q":"PETR4","kind":"equity_security"}}}'

Boas práticas

  • Prefira OAuth em apps de usuário final: a credencial é revogável por conexão e o usuário nunca copia chave.
  • Em servidores/CI, use a chave de API via variável de ambiente ou secret store.
  • Respostas de erro seguem application/problem+json (RFC 9457), inclusive o 429 de limite diário (com Retry-After).