Voltar
Building a microapp inside a plugin: Architecture and tradeoffs

Carta detalha arquitetura de microapps dentro de plugin MCP e os trade-offs da abordagem

Aprofundamento CEVIU

Aprofundamento

O texto vem de Anubhav Srivastava, Senior Director of Product da Carta, e descreve a arquitetura de microapps da empresa (a fonte é a descrição, o projeto é o padrão em si). O ponto de partida é que chamadas de tool via MCPs têm mais latência que uma chamada direta de API, e isso não se resolve no design. A resposta da Carta foi mudar o momento da busca: os dados são puxados uma vez na inicialização, gravados num snapshot local, e o app roda sobre essa cópia até o usuário refazer o pull. O exemplo é o Fund Modeling, em que as marcações do portfólio mudam por trimestre.

O pacote do plugin tem quatro camadas. O skill em markdown só orquestra, sem matemática nem regra de negócio. A camada de consulta e transformação usa SQL sobre views pré-construídas do data warehouse, mais scripts que geram os JSONs do app, sem modelo de IA no caminho dos dados. O app é JSX pré-compilado e concentra a lógica (XIRR, waterfall, repricing, liquidation preferences). Por fim, um shell React com servidor local, service worker e cópia vendorizada do React dispensa toolchain de build, o que deixa a lógica editável pelo cliente. O diretório de dados do usuário fica fora do pacote, então atualizações não apagam snapshots nem cenários salvos.

Por que isso importa

Para quem desenvolve integrações com MCPs, a leitura é que latência de tool call empurra o design para snapshot em vez de fetch sob demanda. Tirar o modelo do caminho de cálculo troca confiança por verificação: dá para abrir a função e conferir. O custo é claro: sem sync em tempo real nem colaboração ao vivo. Se esses forem requisitos duros, a própria Carta diz que um app hospedado é a escolha certa.

Perguntas frequentes

Por que os microapps da Carta usam snapshot em vez de buscar dados a cada interação?

Chamadas de tool via MCPs têm mais latência que chamadas diretas de API, e a Carta diz que essa diferença não se fecha no design. Por isso os dados são buscados uma vez no lançamento e o app roda sobre a cópia local. Se os dados mudarem, o usuário refaz o pull.

Quais casos de uso se encaixam nesse padrão?

Dados que se atualizam em semanas, não em segundos, usuários que querem customizar lógica ou conectar fontes próprias, e fluxos que exigem profundidade e saída visual. Também é preciso ter conectores MCP apontando para as fontes certas. Sem eles, não há camada de busca nem snapshot.

O modelo de IA faz os cálculos?

Não. A lógica de negócio fica em funções no app em JSX pré-compilado, e o mesmo snapshot com o mesmo cenário gera sempre o mesmo resultado. O agente gasta tokens só na busca de dados e em subir o servidor.

Como as atualizações preservam o trabalho do usuário?

O diretório de dados, com o snapshot e os cenários salvos, fica fora do pacote do plugin. Uma atualização pode trocar todo o código do app sem tocar nele. Para compartilhar, a Carta planeja armazenamento versionado de cenários, não edição ao vivo.

Fontes

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
11 de novembro de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser