Servidor remoto
Endpoint MCP hospedado (Streamable HTTP) com OAuth e chave de API.
https://mcp.databolsa.com/mcpTransporte Streamable HTTP (spec MCP), stateless. Métodos POST/GET/DELETE.
Autenticação
Dois formatos no header Authorization, no mesmo endpoint:
- 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.
- Chave de API —
Authorization: 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=defaultPerfis: 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 o429de limite diário (comRetry-After).