Tutorial 19 abr 2026 16 min de leitura por bolsai

Agente de IA para Análise Fundamentalista de Ações Brasileiras com Claude

Um agente IA análise ações é diferente de um chatbot comum: recebe um objetivo de alto nível, decide sozinho quais ferramentas chamar, itera sobre resultados intermediários e entrega um relatório estruturado. Este guia mostra como construir um agente autônomo para análise fundamentalista da B3 combinando Claude 4.6, o servidor bolsai-mcp e a API da bolsai. O leitor sai com arquitetura, system prompt, código Python funcional e noção realista de custo em tokens.

O que muda ao transformar um chat em agente autônomo

Um agente de IA é um LLM que recebe um objetivo em linguagem natural, planeja uma sequência de ações, executa ferramentas externas, observa os resultados e decide os próximos passos até concluir a tarefa. Diferente de um chatbot, que responde uma pergunta por turno, o agente opera em loop. O Model Context Protocol importa porque padroniza como essas ferramentas são descritas e invocadas, tornando o agente portável entre modelos e clientes sem reescrever a camada de integração.

A distinção prática aparece no estilo da instrução. "Qual o P/L do ITUB4?" é uma pergunta discreta: um turno, uma tool call, uma resposta. "Analise ITUB4 e diga se está cara ou barata" é um objetivo: requer consultar fundamentos atuais, comparar com histórico próprio, comparar com bancos pares, avaliar endividamento, qualidade e crescimento, e sintetizar o tudo em prosa defensável. O agente decide sozinho quantas chamadas fazer e em que ordem.

Três propriedades separam o padrão agente do padrão chatbot. Planejamento: o modelo quebra o objetivo em subtarefas antes de executar. Autonomia: o ciclo de tool call e análise repete sem intervenção humana até que o objetivo seja cumprido. Saída estruturada: o produto final segue um formato predefinido, não prosa livre. Os três pontos pressupõem tool use confiável e um contrato claro com as fontes de dados, papel que o bolsai-mcp cumpre para a B3.

O conceito não é novo em engenharia de software. O que mudou entre 2024 e 2026 foi a estabilidade da peça que faltava: modelos com tool use confiável, system prompts capazes de absorver regras de negócio densas e protocolos como MCP documentados em modelcontextprotocol.io. Antes disso, agentes financeiros existiam em papers e em demos que quebravam na terceira consulta. Hoje, o ciclo se fecha com código Python curto e custo previsível.

Arquitetura: Claude + MCP + bolsai API

A arquitetura proposta tem quatro camadas. A primeira é o orquestrador Python, responsável por inicializar a conversa, configurar o system prompt, gerenciar o loop de tool use e formatar a saída. A segunda é o cliente MCP, que abre uma conexão com o servidor bolsai-mcp e descobre as ferramentas disponíveis. A terceira é o próprio servidor MCP, processo local que traduz ferramentas em chamadas HTTP autenticadas. A quarta é a API pública da bolsai em api.usebolsai.com, que devolve dados da B3, CVM e BCB em JSON.

Nesse arranjo, o modelo (Claude 4.6 Sonnet via SDK da Anthropic) não acessa a internet diretamente. Todo dado numérico entra na conversa como retorno de tool call, garantindo auditabilidade. Cada análise produzida pelo agente pode ser rastreada até a ferramenta que forneceu o número, o que é essencial para controlar alucinação em contextos financeiros. O fluxo é: orçamento de tokens inicial → system prompt carregado → user prompt com objetivo → loop (tool calls + observações) → resposta final formatada.

Os três componentes externos conversam por meio de stdio. O Python SDK da Anthropic recebe as descrições das ferramentas do bolsai-mcp em tempo de inicialização, encaminha ao modelo no campo tools da API de mensagens e traduz os tool_use blocks da resposta em chamadas MCP. O design é linear e fácil de depurar: cada iteração pode ser salva em disco como linha de log JSON.

Setup: SDK da Anthropic, bolsai-mcp e chaves de API

O agente requer dois pacotes Python e duas chaves. Os pacotes são anthropic (cliente oficial da Anthropic) e mcp (SDK cliente do Model Context Protocol). As chaves são ANTHROPIC_API_KEY, obtida em console.anthropic.com, e BOLSAI_API_KEY, obtida em usebolsai.com/dashboard após login com Google. O pacote bolsai-mcp em si é executado via uvx, sem instalação manual.

# Instalação dos SDKs
pip install anthropic mcp

# Variáveis de ambiente
export ANTHROPIC_API_KEY="sk-ant-api03-..."
export BOLSAI_API_KEY="sk_bolsai_..."

# Verificar acesso ao servidor MCP (sanity check)
uvx bolsai-mcp --help

O agente é inicializado com um arquivo de configuração JSON que descreve o servidor MCP a ser lançado, equivalente ao claude_desktop_config.json usado no Claude Desktop. A diferença é que agora o próprio script Python instancia o processo filho, sem depender de uma aplicação gráfica. O mesmo servidor pode ser reaproveitado entre scripts de research, APIs internas e pipelines agendados.

# Exemplo 1: setup mínimo — cliente Anthropic + MCP client
# apontando para bolsai-mcp via stdio
import os
import asyncio
from anthropic import Anthropic
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

server_params = StdioServerParameters(
    command="uvx",
    args=["bolsai-mcp"],
    env={"BOLSAI_API_KEY": os.environ["BOLSAI_API_KEY"]},
)

async def list_tools() -> None:
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            for t in tools.tools:
                print(f"- {t.name}: {t.description[:60]}")

asyncio.run(list_tools())

# Saída esperada (trecho):
# - get_stock_quote: Retorna cotação atual e variação diária...
# - get_fundamentals: Retorna 27 indicadores fundamentalistas...
# - get_price_history: Série histórica de preços OHLCV...
# - screen_stocks: Filtra ações por critérios fundamentalistas...

Com esse script rodando sem erro, a conexão com o servidor MCP está validada e o agente pode ser construído por cima. O próximo passo é o system prompt, que define persona e regras antes que qualquer ticker entre na conversa.

System prompt para um analista fundamentalista IA

O system prompt é o contrato que transforma Claude em analista. Um prompt genérico gera respostas genéricas; um prompt estruturado com persona, framework e regras gera relatórios consistentes e auditáveis. O padrão abaixo foi iterado em produção e cobre quatro dimensões de análise: valuation, qualidade, endividamento e crescimento. Também fixa formato de saída em Markdown e proíbe recomendações diretas de compra ou venda.

# System prompt do agente (trecho longo, em variável Python)
SYSTEM_PROMPT = """
Você é um analista fundamentalista sênior com aproximadamente
dez anos de experiência cobrindo ações listadas na B3.
Trabalha em uma casa de research independente e se comunica
em português do Brasil formal, evitando jargão desnecessário.

# Objetivo

Analisar ações brasileiras com base em dados verificáveis
fornecidos pelas ferramentas MCP da bolsai. Toda análise
produzida deve ser defensável em reunião de comitê.

# Framework de análise (4 dimensões)

Para cada ticker analisado, avaliar e comentar:

1. VALUATION: múltiplos P/L, P/VP, EV/EBITDA e Dividend Yield
   comparados ao histórico da própria empresa (5 anos) e aos
   pares setoriais quando aplicável.
2. QUALIDADE: ROE, ROIC, margem líquida, margem EBITDA.
   ROE acima de 15% e ROIC acima do custo de capital estimado
   caracterizam qualidade acima da média.
3. ENDIVIDAMENTO: dívida líquida/EBITDA, dívida líquida/PL,
   cobertura de juros. Acima de 3x em dívida/EBITDA é sinal
   de alerta em setores não regulados.
4. CRESCIMENTO: evolução de receita e lucro líquido nos
   últimos 2 a 3 anos. Queda consistente de receita real
   exige justificativa qualitativa explícita.

# Regras rígidas

- NUNCA inventar números. Todo dado numérico citado no
  relatório deve vir de uma tool call executada na conversa.
- NUNCA fazer recomendação explícita de compra ou venda.
  Usar linguagem descritiva: "múltiplo abaixo da média
  histórica", "endividamento compatível com o setor",
  "estrutura de capital sob pressão".
- SEMPRE citar a data de referência dos dados usados.
- Se uma ferramenta falhar ou retornar dados incompletos,
  indicar explicitamente no relatório em vez de omitir.
- Não usar dados externos à API da bolsai. Se faltar
  informação, apontar a lacuna.

# Ferramentas disponíveis

- get_stock_quote(ticker): cotação e variação diária.
- get_fundamentals(ticker, reference_date): 27 indicadores;
  passe reference_date para snapshots de trimestres passados.
- get_dividends(ticker): DY TTM e histórico de proventos.
- screen_stocks(filtros): filtragem por critérios.
- get_fii_details(ticker): dados específicos de FIIs.
- get_macro_indicator(indicator): Selic, CDI, IPCA, USD/BRL.
- search_companies(query, sector): empresas por nome ou setor.

# Formato de saída obrigatório

## Resumo executivo (até 3 parágrafos)
Tese central em prosa objetiva.

## Valuation
Múltiplos atuais versus histórico e pares. Tabela Markdown
com colunas: Indicador | Atual | Média 5 anos | Setor.

## Qualidade operacional
ROE, ROIC, margens. Comentário sobre tendência.

## Endividamento
Dívida líquida/EBITDA, estrutura de capital.

## Crescimento
Evolução de receita e lucro nos últimos trimestres.

## Pontos de atenção
Lista de riscos ou lacunas nos dados.

## Dados utilizados
Lista de ferramentas chamadas e data de referência.
"""

A parte mais sensível do prompt é a seção "Regras rígidas". Sem a proibição explícita de inventar números, modelos tendem a preencher lacunas com valores plausíveis quando uma ferramenta falha. Sem a proibição de recomendar compra e venda, o agente cruza o limite entre research educacional e recomendação de investimento, zona regulatoriamente sensível no Brasil. Ambas as regras precisam ser reforçadas via formato de saída: a seção "Dados utilizados" obriga o modelo a mostrar o rastro.

Para aprofundar o framework de análise fundamentalista que alimenta o prompt, o post análise fundamentalista para iniciantes detalha as quatro dimensões com exemplos práticos de interpretação.

Primeiro agente: análise automática de uma ação

O loop do agente é simples na estrutura e cuidadoso na implementação. O orquestrador inicializa a conversa com system prompt e user prompt, envia ao Claude com a lista de ferramentas, lê a resposta, e enquanto houver tool_use blocks, executa cada um via MCP e devolve os resultados como tool_result. Quando o modelo encerra com stop_reason = end_turn, o texto final é o relatório.

# Exemplo 2: agente completo de análise fundamentalista
# Objetivo: produzir relatório estruturado para um ticker
import asyncio, json, os
from anthropic import Anthropic
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

MODEL = "claude-sonnet-4-6-20260301"
anthropic = Anthropic()

async def run_agent(objective: str) -> str:
    server_params = StdioServerParameters(
        command="uvx", args=["bolsai-mcp"],
        env={"BOLSAI_API_KEY": os.environ["BOLSAI_API_KEY"]},
    )
    async with stdio_client(server_params) as (r, w):
        async with ClientSession(r, w) as session:
            await session.initialize()
            tools_spec = await session.list_tools()
            tools = [{
                "name": t.name,
                "description": t.description,
                "input_schema": t.inputSchema,
            } for t in tools_spec.tools]

            messages = [{"role": "user", "content": objective}]

            while True:
                resp = anthropic.messages.create(
                    model=MODEL, max_tokens=4096,
                    system=SYSTEM_PROMPT, tools=tools, messages=messages,
                )
                messages.append({"role": "assistant", "content": resp.content})

                if resp.stop_reason == "end_turn":
                    return "".join(
                        b.text for b in resp.content if b.type == "text"
                    )

                tool_results = []
                for block in resp.content:
                    if block.type == "tool_use":
                        result = await session.call_tool(block.name, block.input)
                        tool_results.append({
                            "type": "tool_result",
                            "tool_use_id": block.id,
                            "content": json.dumps(
                                [c.text for c in result.content]
                            ),
                        })
                messages.append({"role": "user", "content": tool_results})

relatorio = asyncio.run(run_agent(
    "Analise ITUB4 e diga se está cara ou barata, "
    "em 3 parágrafos. Inclua comparação com BBAS3 e BBDC4."
))
print(relatorio)

Um agente assim inicializado normalmente faz entre 4 e 7 chamadas para cobrir o framework completo: get_fundamentals para ITUB4, BBAS3 e BBDC4, get_fundamentals repetido com reference_date para reconstruir a série histórica de ITUB4, get_dividends para confirmar DY e get_macro_indicator para Selic e CDI como âncora de custo de capital. A saída produzida segue o formato fixado no system prompt.

# Trecho do relatório produzido pelo agente

## Resumo executivo

ITUB4 negocia a 9.87x lucros e 2.08x patrimônio, com ROE
de 21.3% e Dividend Yield TTM de 5.8%. Os múltiplos
estão próximos da média dos últimos 5 anos (P/L médio 9.4,
P/VP médio 2.0), indicando que o mercado precifica o
papel em linha com sua relação histórica de qualidade.

Na comparação com pares, BBAS3 opera a P/L 4.56 e ROE
21.3% (maior rentabilidade relativa ao preço), enquanto
BBDC4 entrega ROE 13.8% a P/L 7.9. ITUB4 fica entre
os dois: prêmio de preço justificado por consistência,
mas sem o desconto agressivo de BBAS3.

## Valuation

| Indicador | Atual | Média 5 anos | Setor (bancos) |
|-----------|-------|--------------|----------------|
| P/L       | 9.87  | 9.40         | 7.12           |
| P/VP      | 2.08  | 2.00         | 1.45           |
| DY TTM    | 5.8%  | 5.2%         | 6.3%           |

## Endividamento

Estrutura específica de banco; métricas de dívida líquida/
EBITDA não se aplicam. Índice de Basileia e cobertura
de provisões seguem dentro de faixas regulatórias.

## Dados utilizados

- get_fundamentals(ITUB4, BBAS3, BBDC4) em 2026-04-18
- get_fundamentals(ITUB4, reference_date=...) por trimestre
- get_dividends(ITUB4) em 2026-04-18
- get_macro_indicator(selic) em 2026-04-18

O formato é estável entre execuções porque o system prompt fixa seções obrigatórias. Isso permite que o output seja consumido por sistemas downstream (geração de PDF, indexação em base de research, envio por e-mail) sem regex frágil. A metodologia dos indicadores usados no relatório é documentada em posts individuais, como P/L com API Python e ROE na API da bolsai.

Inicie grátis. Plano com 200 requisições/dia, sem cartão, cobre qualquer agente experimental.

Ver documentação do MCP

Agente com memória: iteração sobre múltiplas ações

O mesmo orquestrador serve a objetivos mais amplos do que analisar um único ticker. Passando uma lista de ações no user prompt, o agente reutiliza o contexto: aprende padrões setoriais nas primeiras análises e aplica o aprendizado nas seguintes. O efeito prático é que o relatório do quinto ticker costuma ficar mais curto e mais preciso, porque o modelo já carrega referências internas de médias setoriais computadas em voo.

Uma precaução importante é o orçamento de contexto. Relatórios completos podem crescer rápido e o input do Claude 4.6 Sonnet suporta 200 mil tokens, mas com custo. Quando o objetivo é comparar cinco ou mais tickers, vale fragmentar: gerar relatórios individuais em paralelo (cada um com histórico próprio) e concatenar como user prompt em uma segunda chamada de agregação. Essa separação também facilita o cache — análises de nomes pouco voláteis podem ser reutilizadas por até uma semana antes de uma nova chamada.

Para casos em que o interesse é estratégia de dividendos ou construção de carteira a partir de critérios, o post como montar carteira de dividendos com a API mostra a versão determinística (sem IA) do mesmo problema, útil como baseline de comparação.

Screening guiado por IA: comparação com screener determinístico

Screening é a tarefa mais interessante porque o agente pode encadear ferramentas de formas não-triviais. Um pedido como "encontre 5 ações com ROE acima de 15% e P/L abaixo de 12" tem solução direta via screen_stocks. Mas "encontre 5 ações com ROE acima de 15%, P/L abaixo de 12, crescimento de receita nos últimos 2 anos e que não sejam bancos" combina filtros determinísticos com análise qualitativa pós-filtro, território natural para um agente.

# Exemplo 3: agente de screening multi-etapa
objetivo = (
    "Encontre 5 ações da B3 com ROE > 15% e P/L < 12. "
    "Descarte bancos. Para cada uma, verifique se a receita "
    "cresceu nos últimos 2 anos. Devolva tabela + comentário."
)

relatorio = asyncio.run(run_agent(objetivo))
print(relatorio)

# Rastreamento das tool calls feitas pelo agente:
#
# 1. screen_stocks({"roe_min": 15, "pl_max": 12, "limit": 20,
#    "sector_exclude": "Bancos", "sort": "roe_desc"})
#    -> 20 candidatos
#
# 2-21. get_fundamentals(ticker, reference_date=...) em loop
#       para cada candidato e cada trimestre, reconstruindo
#       a série de receita dos últimos 2 anos
#
# 22. Filtro interno: mantém apenas empresas com
#     receita TTM > receita TTM de 2 anos atrás
#
# 23. Ordena por ROE decrescente, pega top 5
#
# Saída final (trecho):

Ticker  ROE    P/L    Cresc. rec. 2a   Setor
VIVT3   18.7%  8.45   +6.2%            Telecom
EGIE3   17.4%  9.12   +14.8%           Elétrica
CPLE6   18.5%  5.89   +9.1%            Elétrica
TAEE11  19.8%  8.23   +11.5%           Transmissão
WEGE3   39.5%  28.46  +22.3%           Industrial

Obs.: WEGE3 atende ROE mas extrapola P/L de 12.
Substituída por TUPY3 (15.8% ROE, 9.1 P/L, +8%).

O ganho em relação ao screener determinístico aparece em dois pontos. Primeiro, o agente detectou que WEGE3 violava um critério numérico e trocou por um candidato válido, comportamento que um filtro SQL não reproduz sem código adicional. Segundo, o relatório final inclui comentário textual sobre cada escolha, enquanto o screener puro devolve apenas a linha. O custo é maior — o exemplo acima consumiu cerca de 80 mil tokens, mais o overhead de 20 tool calls — e para pipelines com muitos tickers, vale separar: screener determinístico para reduzir o universo inicial, agente apenas para a análise final.

O post screener de ações brasileiras em Python detalha a versão determinística que o agente usa como primitiva, incluindo sintaxe dos filtros de screen_stocks.

Avaliação: quando o agente acerta, quando alucina, como mitigar

Agentes de IA alucinam. Em contexto financeiro, isso significa inventar um número específico, misturar empresas homônimas ou atribuir a uma companhia dados que pertencem a outra. Três padrões de erro aparecem com frequência em produção e têm mitigações concretas.

Número inventado quando a tool falha

Se uma tool call retorna erro e o agente precisa completar o relatório, a tentação estatística do modelo é preencher o campo com algo plausível. A mitigação é dupla: regra explícita no system prompt ("se uma ferramenta falhar, indicar explicitamente no relatório em vez de omitir") e validação pós-hoc via regex nos números produzidos, cruzando cada valor citado com o conteúdo JSON das tool calls registradas na conversa. Um número que aparece no texto mas não aparece em nenhum tool result é evidência de alucinação.

Troca de ticker em contexto longo

Em análises comparativas, o modelo ocasionalmente atribui métrica de um ticker a outro. O risco cresce com o número de empresas comparadas. Mitigação: restringir cada tool_result a um único ticker por vez e usar formatadores de saída que força menção explícita do ticker ao lado de cada número. A estrutura "ITUB4: ROE 21.3% | BBAS3: ROE 21.3%" é menos propensa a confusão do que "ROE de 21.3% para ambos".

Interpretação questionável de sinal

Diferente dos dois anteriores, este erro é qualitativo. O agente pode descrever como "barato" um múltiplo que, no contexto setorial, está apenas em linha. Mitigação não é totalmente automática: exigir no prompt que toda avaliação qualitativa ("caro", "barato", "alto", "baixo") venha acompanhada da comparação numérica explícita reduz o problema. O controle final é humano, via revisão do relatório antes de qualquer decisão.

Uma prática de produção útil é manter uma base de testes com perguntas conhecidas e respostas esperadas. A suite roda o agente contra cada pergunta e calcula duas métricas: taxa de alucinação (números citados sem origem em tool call) e taxa de aderência ao formato (campos obrigatórios presentes na saída). Valores observados em bancadas internas ficam em torno de 0,5% de alucinação após regras no prompt e 98%+ de aderência ao formato.

Custo: tokens versus valor da análise

O custo operacional de um agente bem calibrado é baixo para uso individual e merece atenção em escala. A tabela abaixo resume estimativas para o Claude Sonnet 4.6 na tabela de preços de abril de 2026 (US$3 por milhão de tokens de input, US$15 por milhão de output, câmbio USD/BRL assumido em 5,10).

Cenário Input tokens Output tokens Custo estimado (R$)
Análise de 1 ticker com comparação de pares ~10.000 ~3.000 R$ 0,38
Análise rápida de 1 ticker (sem histórico) ~4.500 ~1.200 R$ 0,16
Screening sobre 10 tickers com verificação de crescimento ~80.000 ~4.000 R$ 1,53
Relatório setorial comparando 5 bancos ~45.000 ~3.500 R$ 0,96
Carteira mensal de dividendos (screener + 8 relatórios) ~120.000 ~12.000 R$ 2,76

O custo do acesso a dados é marginal perto do custo dos tokens, desde que o plano da bolsai esteja adequado ao volume. No plano gratuito (200 req/dia), um agente de screening que faz 20 chamadas MCP consome 10% da cota diária. No plano Pro (R$49/mês, 10.000 req/dia), o mesmo agente pode rodar até 500 vezes por dia. O fator dominante no custo total de propriedade é o provedor do modelo, não o provedor dos dados. Para comparação objetiva entre APIs de dados da B3, o post bolsai versus brapi documenta as diferenças entre as opções disponíveis.

Duas otimizações reduzem custo sem perder qualidade. A primeira é usar um modelo menor para subtarefas auxiliares, deixando Sonnet apenas para a síntese final. A segunda é aplicar prompt caching em system prompts extensos, descontando até 90% do custo do input em chamadas subsequentes na mesma sessão. Ambas estão documentadas em docs.anthropic.com e cobertas também na página de modelos em anthropic.com/claude.

Perguntas frequentes

Qual a diferença entre MCP e function calling tradicional?

Function calling tradicional exige que cada provedor de LLM defina seu próprio formato de schema (OpenAI, Anthropic e Google usam estruturas distintas) e que a aplicação implemente o transporte, o parsing e a execução das chamadas. MCP padroniza tudo isso: o servidor expõe ferramentas em um contrato único via JSON-RPC sobre stdio ou HTTP, e qualquer cliente compatível (Claude Desktop, Claude Code, Cursor, SDKs da Anthropic) consome o mesmo servidor sem alterações. Um agente construído com MCP fica portável entre modelos, reduzindo lock-in.

Preciso pagar a Anthropic além da API da bolsai?

Sim. A API da bolsai cobra apenas pelo acesso aos dados de mercado (plano gratuito com 200 requisições/dia, Pro a R$49/mês com 10.000 requisições/dia, detalhes em /#pricing). O custo dos tokens consumidos pelo modelo é cobrado separadamente pela Anthropic, conforme tabela de preços da própria. Uma análise fundamentalista completa de um ticker no Claude Sonnet 4.6 custa em torno de R$0,15 em tokens; um agente de screening sobre 10 ações chega a R$1,20. O plano Claude Pro pessoal (US$20/mês) não cobre chamadas via API: é produto separado.

O agente substitui um analista humano?

Não. Um agente de IA acoplado à API bolsai acelera tarefas mecânicas de coleta e cruzamento de indicadores, padroniza a produção de relatórios e reduz o tempo entre pergunta e evidência. Decisões de alocação, interpretação qualitativa de setor, leitura de governança e contexto de macro estrutural continuam dependendo de julgamento humano. O uso mais honesto é tratar o agente como um analista júnior que entrega um rascunho auditável, revisado antes de qualquer ação. A responsabilidade pela decisão continua humana.

Posso usar GPT-4 ou Gemini em vez de Claude?

Sim, desde que o modelo suporte tool use estruturado. GPT-4.1 e GPT-5 aceitam function calling e podem consumir o bolsai-mcp via wrapper OpenAPI (GPT Actions) ou adaptador mcp-to-openai. Gemini 2.5 expõe tool use próprio, mas o ecossistema de clientes MCP para Gemini ainda é menos maduro. A escolha por Claude 4.6 Sonnet neste guia reflete três pontos concretos: suporte nativo a MCP, aderência forte a system prompts extensos e qualidade de raciocínio em análise financeira em português. A arquitetura proposta é desenhada para ser portável — o servidor MCP em si não muda.

Leia também

O conteúdo deste artigo tem caráter educacional e técnico. Os dados e estimativas de custo citados refletem valores públicos disponíveis no momento da publicação e podem mudar. Nada aqui constitui recomendação de compra ou venda de ativos financeiros. Nomes de produtos e marcas pertencem aos respectivos titulares; Claude, Anthropic e Model Context Protocol são marcas da Anthropic PBC. Por bolsai, 19 de abril de 2026.