Genkit 2.0 GA: Firebase AI, MCP e Cloud Run
Genkit é o framework de código aberto do Google para construir aplicações impulsionadas por IA e agentes em TypeScript, Go, Python preview e Dart preview. A razão pela qual isso é importante em 2026 não é apenas "mais um SDK de agente". Ele está próximo do Firebase, Google Cloud, Cloud Run, Gemini, Vertex AI e da onda de ferramentas MCP que está transformando sistemas de agentes em infraestrutura chamável.
O Effloow Lab executou um PoC de sandbox local para o caminho MCP do TypeScript em 2026-05-27. O resultado: os pacotes atuais genkit e @genkit-ai/mcp instalados, TypeScript compilado, uma ferramenta definida pelo Genkit foi exposta através do MCP via stdio, e um cliente MCP real a descobriu e a chamou. A nota de evidência completa está em data/lab-runs/google-genkit-2-0-firebase-ai-developer-guide-2026.md.
Este artigo mantém a linha de evidência rigorosa. Verificamos o caminho do plugin MCP local. Não implantamos no Cloud Run, configuramos o Firebase Monitoring, criamos uma captura de tela do Cloud Trace ou chamamos o Gemini. Esses passos de produção estão cobertos pela documentação oficial, mas não são reivindicados como testados em laboratório aqui.
O que a sandbox provou
O PoC criou um projeto Node temporário em /tmp/effloow-genkit-mcp-poc, instalou os pacotes atuais, definiu uma ferramenta determinística do Genkit, iniciou um servidor MCP do Genkit e então usou o SDK oficial do MCP como cliente.
As versões instaladas foram:
| Pacote | Versão verificada |
|---|---|
genkit |
1.35.0 |
@genkit-ai/mcp |
1.35.0 |
@modelcontextprotocol/sdk |
1.29.0 |
| Node.js | v25.9.0 |
| npm | 11.12.1 |
A ferramenta foi intencionalmente sem graça: estimate_prompt_window conta caracteres e palavras, e então recomenda se deve resumir ou enviar diretamente. Isso foi deliberado. Uma ferramenta local determinística prova a estrutura e a fiação do MCP sem exigir chaves de API, chamadas de modelo ou credenciais de nuvem.
A saída do cliente MCP foi:
TOOLS
[
"estimate_prompt_window"
]
CALL_RESULT
[
{
"type": "text",
"text": "{\"characters\":46,\"words\":8,\"withinLimit\":false,\"recommendation\":\"Summarize or chunk before sending to the model.\"}"
}
]
Isso é suficiente para dizer: um aplicativo Genkit TypeScript pode expor uma ferramenta local tipada através do plugin MCP do Genkit, e um cliente MCP real pode descobri-la e invocá-la.
O servidor MCP mínimo
O servidor principal foi curto:
import { createMcpServer } from '@genkit-ai/mcp';
import { genkit, z } from 'genkit/beta';
const ai = genkit({});
ai.defineTool(
{
name: 'estimate_prompt_window',
description:
'Estime o tamanho do prompt e sugira se a entrada deve ser resumida antes de enviar para um LLM.',
inputSchema: z.object({
text: z.string(),
maxCharacters: z.number().int().positive().default(1200),
}),
outputSchema: z.object({
characters: z.number(),
words: z.number(),
withinLimit: z.boolean(),
recommendation: z.string(),
}),
},
async ({ text, maxCharacters }) => {
const words = text.trim().length === 0 ? 0 : text.trim().split(/\s+/).length;
const withinLimit = text.length <= maxCharacters;
return {
characters: text.length,
words,
withinLimit,
recommendation: withinLimit
? 'Enviar diretamente.'
: 'Resumir ou dividir antes de enviar para o modelo.',
};
},
);
const server = createMcpServer({
port: 3000,
ai,
});
server.start();
O Genkit 2.0 representa uma evolução significativa para empresas brasileiras que buscam integrar IA em suas operações. Com sua capacidade de criar aplicações de agentes, as empresas podem otimizar processos e melhorar a eficiência. A adoção dessa tecnologia pode posicionar negócios à frente na era digital.

