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
- carta.comfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 11 de novembro de 2026
- Editoria
- CEVIU Web Dev

