DataBolsa docs
Conectar agentes

Cursor, VS Code e outros

Qualquer cliente MCP conecta no escritório — remoto (Streamable HTTP) ou local (stdio).

O Advisor fala MCP padrão; qualquer cliente compatível funciona.

Remoto (Streamable HTTP)

URL:  https://mcp-advisor.databolsa.com/mcp
Auth: OAuth 2.0 (com dynamic client registration) OU
      header Authorization: Bearer db_org_SUACHAVE

Transporte Streamable HTTP, stateless. Sem credencial o servidor responde 401 com o desafio WWW-Authenticate apontando o resource metadata — clientes com OAuth iniciam o fluxo sozinhos a partir daí.

Cursor

.cursor/mcp.json no projeto (ou ~/.cursor/mcp.json para valer global):

{
  "mcpServers": {
    "databolsa-advisor": {
      "url": "https://mcp-advisor.databolsa.com/mcp",
      "headers": {
        "Authorization": "Bearer db_org_SUACHAVE"
      }
    }
  }
}

O arquivo passa a conter um secret do escritório — mantenha fora do git.

VS Code

.vscode/mcp.json, com a chave pedida no momento do uso em vez de gravada:

{
  "inputs": [
    { "type": "promptString", "id": "advisor-key", "description": "Chave db_org_ do escritório", "password": true }
  ],
  "servers": {
    "databolsa-advisor": {
      "type": "http",
      "url": "https://mcp-advisor.databolsa.com/mcp",
      "headers": { "Authorization": "Bearer ${input:advisor-key}" }
    }
  }
}

Local (stdio)

DATABOLSA_ADVISOR_API_KEY=db_org_SUACHAVE npx -y @databolsa/advisor-mcp
VariávelDefaultPara quê
DATABOLSA_ADVISOR_API_KEYchave db_org_... da organização
DATABOLSA_ADVISOR_API_URLhttps://api.databolsa.comapontar para outro ambiente

O pacote expõe somente as tools advisor*. O endpoint hospedado é o conector unificado (Advisor + dados de mercado).

Programático (SDKs de agentes)

const response = await client.beta.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 2048,
  mcp_servers: [
    {
      type: "url",
      url: "https://mcp-advisor.databolsa.com/mcp",
      name: "databolsa-advisor",
      authorization_token: process.env.DATABOLSA_ADVISOR_API_KEY,
    },
  ],
  messages: [{ role: "user", content: "Clientes ativos do escritório e seus assessores" }],
});

As tools são geradas do contrato do Advisor — os nomes batem com os operationId da referência (advisorListClients, advisorGetClientPortfolio, advisorListAuditLog…).