
A caixa de ferramentas do chatbot: as ações que um LLM pode aplicar ao seu aplicativo
Um chatbot que apenas responde perguntas é uma caixa de pesquisa educada. O nosso faz mais: ele pode propor mudanças concretas no aplicativo que você está visualizando. Você descreve o que deseja em linguagem simples, o modelo escolhe a ferramenta certa e você recebe uma proposta — um chip com um Aplicar botão, o código gerado, a rota de destino e a justificativa do modelo, tudo visível antes que qualquer coisa aconteça.
Se você conhece o MCP (o Protocolo de Contexto do Modelo), o modelo mental é o mesmo: entregue ao modelo um catálogo de ferramentas tipadas e deixe-o chamá-las. Definimos as ferramentas inline contra a API de uso de ferramentas da Anthropic em vez de atrás de um servidor MCP, mas a forma é idêntica — um nome, uma descrição que informa ao modelo quando usá-la e uma lista de argumentos tipados. O modelo nunca toca em um banco de dados; ele produz uma intenção estruturada e o framework é responsável pela execução.
Uma regra se sobrepõe a todas elas: nada é aplicado sem um clique. O modelo propõe, você descarta.
▶ Mídia — clipe de visão geral: pedindo ao chatbot uma ação e o chip de "Aplicar" resultante aparecendo abaixo da resposta.
Abaixo está o catálogo, uma ferramenta de cada vez, cada uma com o tipo de prompt que a aciona.
Ações de grade
propose_toolbar_action
Adiciona um botão personalizado à barra de ferramentas de uma grade de lista, operando na seleção atual, com um callback JavaScript gerado.
Você: "na grade de pedidos adicione um botão que exporta as linhas selecionadas para CSV"
Bot: toolbar action ▸ Aplicar
route: pedidos
callback: const rows = datasource.getSelectedRows();
const csv = toCsv(rows); download('pedidos.csv', csv);
propose_row_action
Adiciona um botão a uma única linha (no dropdown de ações da linha), com um callback que recebe esse registro.
Você: "coloque um botão Aprovar em cada linha da grade de solicitações"
Bot: row action ▸ Aplicar
route: solicitações
callback: await fetch('/api/requests/approve', {... id ...});
await datasource.fetchData();
Estilização condicional
propose_table_style
Aplica uma classe CSS a uma linha inteira quando uma condição JS é verdadeira (um destaque a nível de linha).
Você: "destacar em vermelho as linhas cuja data de vencimento está no passado"
Bot: table style ▸ Aplicar
class: row-danger
condition: new Date(record.due_date) < new Date()
propose_column_style
Mesma ideia, restrita a uma única célula em vez de toda a linha.
Você: "dê ao status da célula um fundo verde quando for 'OK'"
Bot: column style ▸ Aplicar
column: status
class: cell-success
condition: record.status === 'OK'
Noticias relacionadas

API vs MCP: Entendendo o Futuro das Integrações de IA
O artigo explora as diferenças entre APIs e MCP, destacando como cada um resolve problemas distintos na comunicação entre sistemas, especialmente em aplicações de IA.

Iniciando uma Comunidade para Construtores de Agentes de IA e Desenvolvedores MCP
Estamos lançando a comunidade CogniCore para desenvolvedores interessados em agentes de IA, sistemas de memória, MCP e infraestrutura open-source. Junte-se a nós para explorar como os agentes podem aprender com a experiência.

Os trilhos não são liquidação: o que a cratera de 92% x402 nos diz sobre a economia de agentes
O padrão de pagamento x402 viu um declínio de 92% em volume, revelando a diferença entre pagamento e liquidação. A liquidação requer garantias de que ambas as partes cumpram, essencial para transações entre agentes autônomos.
Gostou do conteudo?
Receba toda semana as principais novidades sobre WebMCP.

