KasyKasy

MCP do Kasy

Peça em linguagem natural. O assistente prepara a máquina, cria o app e liga features sem você digitar no terminal.

O MCP do Kasy (kasy-mcp) é o caminho principal de uso do kit. Em vez de digitar kasy no terminal, você conversa com o assistente (Cursor, Claude Code, Claude Desktop…) e ele chama as tools certas.

Pense no MCP como um plug: de um lado a IA, do outro a CLI kasy. Por baixo é a mesma ferramenta (mesma licença, mesmos comandos). Muda só como você fala com ela.

Ainda não ligou o MCP? Comece por Instalar o Kasy. Esta página explica o que ele faz e o que cada tool cobre.

A proposta

Hoje o MCP já cobre o fluxo completo do dia a dia: preparar a máquina, criar projeto, rodar e resetar o app, adicionar ou remover feature, atualizar o kit, trocar cor/splash/ícone, ler o design system antes de montar uma tela, configurar credenciais (Apple, Facebook, assinatura iOS/Android, Codemagic, RevenueCat/Sentry/Mixpanel/AdMob…), publicar nas lojas (iOS e Android, local ou via Codemagic), configurar domínio e checar/consertar o projeto.

A direção do produto é ir além: em poucas semanas, o MCP deve conseguir fazer tudo conectado ao fluxo da Kasy pelo chat, sem a pessoa precisar ficar digitando comando no terminal. Você pede; o assistente executa.

A CLI no terminal continua existindo. Quem preferir digitar kasy usa o instalador. Os dois caminhos usam a mesma kasy-cli por baixo.

O que o MCP faz (e o que não faz)

FazNão faz
Roda a kasy-cli de verdade na sua máquinaReimplementar a CLI (zero lógica duplicada)
Diagnostica e tenta corrigir o ambiente (doctor + install)Pedir sudo ou apagar disco (denylist)
Lê o design system do projeto aberto ao vivoInventar cor/fonte/componente genérico
Reporta problema resolvido pra melhorar o doctorEnviar nome, e-mail, chave de licença ou path completo

Roda local (kasy mcp setup instala kasy-mcp global na sua máquina). Não há servidor hospedado pela Kasy no meio. O pacote já traz a kasy-cli pro assistente. Detalhe em Instalar o Kasy.

Tools

Cada tool é um pedido que o assistente pode fazer. Você não chama pelo nome: fala em português e o modelo escolhe.

Preparar e consertar a máquina

ToolPor baixoQuando usar
prepare_machinekasy doctor"Prepara minha máquina com o Kasy"
run_setup_commandum comando de shellO assistente instala o que falta (Homebrew, choco, apt, npm -g…)
check_kasy_updateschecagem npm + versão da sessão MCPAntes de create_project: tem versão nova?
upgrade_kasynpm install -g kasy-cli@latest kasy-mcp@latestInstala a versão nova (depois reinicie o app do assistente)

O loop esperado: prepare_machine → se faltar algo, run_setup_command → check_kasy_updates → se precisar, upgrade_kasy e reinício do app do assistente → prepare_machine de novo, até passar. O assistente não deve só diagnosticar e parar.

Criar e gerenciar o projeto

ToolPor baixoQuando usar
create_projectkasy new (modo Rápido)"Cria um projeto Kasy com Firebase"
create_project_status(poll)Depois de create_project ou timeout -32001: ver se o scaffold terminou
configure_backendkasy backendConecta Firebase/Supabase depois de create_project com configureLater: true (ou projeto criado com kasy new --configure-later)
list_featureskasy featuresVer o que existe antes de adicionar
add_featurekasy add <feature>"Adiciona drive no meu projeto" (também funciona para revenuecat, ads, onboarding, sentry, kanban...)
list_flowskasy add flowsLista os Kasy Flows (telas e fluxos prontos) que dá para instalar
add_flowkasy add flows <id>"Instala o flow de login por telefone": instala uma tela ou fluxo pronto do catálogo, já no design system do projeto
remove_featurekasy remove <feature>"Remove ads do meu projeto"
check_statuskasy statusBackend, features e credenciais pendentes
check_projectkasy checkDiagnóstico de push/config (fix opcional)
configure_statuskasy configure --statusLista o que falta preencher (só leitura)
update_projectkasy update [feature]"Atualiza meu projeto pro kit mais novo"
deploy_backendkasy deploy (em background)Deploy Firebase ou Supabase (pode levar vários minutos)
deploy_backend_status(poll)Depois de deploy_backend ou timeout -32001: ver se o deploy terminou
kanbankasy kanban <ação>"O que falta fazer nesse projeto?" / "Cria uma tarefa pra revisar o checkout"

create_project só cobre o caminho Rápido (não interativo). Antes de perguntar qualquer coisa, o assistente deve te oferecer a escolha entre Rápido (aqui, poucas perguntas) e Avançado (Passo a passo com todas as perguntas, só no terminal com kasy new). Recomenda Rápido, mas nos dois dá pra adicionar ou remover feature depois (kasy add/kasy remove, ou add_feature/remove_feature no chat).

No Rápido, se você já descreveu o produto (barbearia, estoque, delivery), o assistente trata como o app inteiro: resume com você até você dizer que está ok, mostra um plano e só então cria o projeto. O backend é escolhido agora e a conexão remota fica para depois. Se você só pediu o setup da Kasy, ele cria o projeto e para.

No Supabase/API, o assistente pergunta só push (não pergunta Google separado; Google vem ligado por padrão): sem push = sem Firebase companion (Google no scaffold; provedor Enabled no Supabase Auth; credenciais depois com configure_google_login); com push = projeto Firebase companion gratuito (FCM) e Google OAuth pode ser configurado automaticamente nesse passo.

Para não receber uma lista numerada gigante no chat:

  • Cursor / Claude Code: o assistente usa AskQuestion (quiz estruturado) e chama create_project com directory, backend, região e push já preenchidos. Não chame create_project sem esses campos no Cursor (retorna MISSING_PREFS).
  • Claude Desktop e outros sem quiz: create_project com useElicitationForm: true e sem directory/backend abre o formulário MCP.

Antes de create_project, confirme o alinhamento só se for criar projeto Firebase (backend Firebase, ou Supabase/API com push). O assistente checa com prepare_machine (kasy doctor avisa se as contas divergem). Contas diferentes costumam quebrar a criação nesse caminho; o fix é firebase login --reauth com a conta do gcloud auth login. Supabase/API sem push não precisa de gcloud/Firebase.

Depois de um update_project, se o kit sobrescrever um arquivo que você customizou, o assistente deve reconciliar a sua mudança com o código novo (não descartar em silêncio).

kanban lê e edita o board do projeto (o mesmo que a tela Kanban do app mostra) sem precisar de senha nova: no Firebase usa seu próprio login gcloud, no Supabase usa a service_role_key do projeto já linkado. Só Firebase e Supabase, backend API REST próprio não é suportado (não tem como assumir uma credencial de admin genérica). Veja Kanban.

Rodar e resetar o app

ToolPor baixoQuando usar
run_appkasy run (em background)"Rode o app"
reload_appdev bridge (/dev/reload ou /dev/restart)Depois de editar Dart com kasy run --web rodando (hot reload/restart)
clear_web_storagekasy clear-web"Limpa o navegador" / testar onboarding de novo na web
stop_apppara o pid do mcp-run"Para o app"
reset_appkasy resetTestar onboarding/push do zero (simulador ou web)

Quando você pede "rode o app". O assistente deve usar quiz estruturado (não lista em markdown) para:

  1. Plataforma: iOS, Android ou web
  2. Se for web:
    • Padrão: só devolve a URL http://localhost:5555
    • openBrowser=true: abre no navegador padrão do sistema (--open-browser)
    • flutterChrome=true: Chrome isolado do Flutter (--open)
    • freshStorage=true: limpa localStorage, sessionStorage e IndexedDB ao abrir (--fresh, inclui sessão Firebase Auth). Combine com openBrowser e device preview em aba iOS/Android/iPad pra testar onboarding como primeira vez

Para limpar com o app já rodando: clear_web_storage ou reset_app com platform=web.

Não use run_kasy_command pra kasy run. Essa tool espera o processo terminar e mataria a sessão.

Branding (Personalização)

ToolPor baixoQuando usar
set_primary_colorkasy color"Muda a cor principal pra #0553B1"
set_iconkasy icon --image"Troca o ícone do app"
set_splashkasy splash --light/--dark"Troca as logos da splash"
set_faviconkasy favicon --image"Troca o favicon"
rebrand_projectrebrand guiado: pergunta, mostra um preview e só aplica com o seu sim (kasy color + icon + splash + favicon + notifications text)"Faz o rebrand do app com essa cor e logo"
rename_appkasy rename (prévia primeiro, aplica com confirmed: true)"Troca o nome do app para Lanchonete Boa"

Orquestração

Três tools guiam a IA. As instruções longas saem pelo MCP, só com assinatura ativa, e melhoram sem você atualizar o kasy-mcp. Sem assinatura ou sem internet, a tool avisa e não entrega o texto. Elas não são uma página pública nem um arquivo do projeto.

ToolO que faz
rebrand_projectPergunta o essencial (documento de marca, logo, tipografia, arquivo Figma ou Pen), mostra um preview e só aplica depois do seu sim
create_screensCria uma ou várias telas e as navegações. Constrói na hora. Só pergunta se faltar um fato que impede a tela
finalize_projectParte de uma ideia, reescreve um resumo curto até você dizer que está ok, mostra um plano de execução e, com o seu sim, cria o projeto, abre o app no navegador ao lado e vai montando as telas na sua frente

O rebrand espera o sim do preview. Uma tela sozinha não espera um plano. O plano existe no finalize_project, quando o pedido é o app inteiro. Se você mandou uma imagem, ela vale para o app inteiro: boas-vindas, login, cadastro, perfil, o visual de configurações e o menu nascem dela. A tela de assinatura e o administrativo ficam como o kit. Sem imagem, essas telas base ficam como o kit e só entram as telas do produto. Na verificação (kasy-cli 1.91.0 e kasy-mcp 0.25.0), a ferramenta abre o app, troca claro e escuro, celular e largura larga, compara a cor com a imagem, aperta os toques do plano e roda o analyzer. Um arquivo dizendo que a tela foi vista não passa. A cada tela, o assistente diz o que está fazendo.

Credenciais e integrações

ToolPor baixoQuando usar
configure_apple_webkasy apple-webLiga o Sign in with Apple na web (Firebase ou Supabase)
configure_facebook_loginkasy facebookConfigura o Facebook Login (nativo + backend)
configure_google_loginkasy googleGoogle Sign-In (Supabase/API). Depois do create sem push, ou quando o usuário pedir
setup_social_loginkasy google / kasy facebook / kasy apple-webPasso a passo do login social no Supabase/API (guia único com o que é automático e o que é manual)
setup_phone_loginkasy phoneLogin por telefone (OTP): check mostra o que falta, enable liga o botão e o provedor Phone, disable esconde o botão. Veja Login por telefone
set_notification_textskasy notifications textMuda o texto da notificação demo e do lembrete
configure_ios_signingkasy ios configureInstala a API key da App Store Connect (Key ID + Issuer ID + .p8)
configure_android_signingkasy android configureSalva android/key.properties a partir de um keystore já existente
configure_codemagickasy codemagic configureLiga o token do Codemagic e o app ID do projeto
configure_project_keyskasy configure --setPreenche credenciais (RevenueCat, Sentry, Mixpanel, AdMob, Stripe, App Store ID…), uma ou várias de uma vez
configure_licensekasy license <chave>Salva e valida sua chave de licença do Kasy, sem essa tool, create_project/add_feature/etc. falham pedindo a chave

Essas nove viviam presas ao terminal porque o MCP fecha o stdin (não dá pra responder pergunta por pergunta). O jeito que passou a funcionar: o assistente coleta os valores com quiz estruturado (AskQuestion) ou formulário MCP, depois chama a tool uma vez só com tudo, nada fica esperando resposta no meio do processo. Chaves de licença e OAuth são texto livre, não quiz de múltipla escolha. Nenhuma delas gera credencial nova (keystore, chave de API, app no Meta/Apple/Codemagic): isso continua manual, feito uma vez nos respectivos painéis. configure_license é a exceção: a chave em si vem por email na hora da compra em kasy.dev, não é gerada pela tool.

Publicar (lojas e web)

ToolPor baixoQuando usar
release_ioskasy ios release"Publica o iOS" (Mac, com configure + Xcode já feitos)
build_ioskasy ios buildIPA sem upload
clean_ioskasy ios cleanLimpar build iOS
release_androidkasy android releaseAAB assinado local + abre o Play Console
build_aabkasy android build-aabSó o AAB, sem abrir console
build_apk_signedkasy android build-apk-signedAPK release assinado, sideload, lojas alternativas (Amazon, Samsung, F-Droid)
build_apkkasy android build-apkAPK de debug, sem assinatura, testar rápido no celular
codemagic_releasekasy codemagic release"Publica no Codemagic" (iOS e/ou Android)
codemagic_statuskasy codemagic status <id>Acompanhar o build na nuvem
manage_domainkasy domain list|add|removeDomínios autorizados do Auth (web)
set_release_versionkasy release-versionVersão live nas lojas / force update

Consertar o projeto (Referência)

ToolPor baixoQuando usar
fix_projectkasy fix pub-get|pods|clean"Roda pub get" / "reinstala pods" / "faz clean"

Design system e tela

ToolPor baixoQuando usar
list_componentslê lib/components/ ao vivoAntes de criar ou editar qualquer tela

A lista vem do projeto atual, não de um cache. Depois de um rebrand ou kasy update, o conjunto pode mudar. O assistente não deve inventar Material cru (Scaffold, AlertDialog, TextField…) se existir equivalente Kasy.

Validar no navegador (Browser QA)

ToolPor baixoQuando usar
browser_qa_guideconfere a ponte de semantics no projeto + devolve o roteiro de validaçãoDepois de implementar ou mudar uma tela, antes de dar como pronto

Flutter Web pinta em canvas, sem a árvore de semantics ligada, um agente de navegador (Cursor, Claude, Playwright) não enxerga botão nem campo, só pixels. O kit já liga isso em debug/profile (ver Guia Web); browser_qa_guide confirma a ponte em lib/main.dart e devolve docs/agent-browser-qa.md. Mapa completo dos arquivos de IA: Orientação para IA.

Importante: o MCP é um processo headless, não abre navegador sozinho. A tool só devolve o roteiro; quem executa é o navegador que o próprio agente já tem (o Browser pane do Claude Code, o navegador do Cursor, etc.).

Qualquer outro comando da CLI

ToolPor baixoQuando usar
list_commandskasy --help / kasy <cmd> --helpDescobrir flags antes de rodar
run_kasy_commandkasy <comando> <args>prepare e outras flags raras (nunca license nem upgrade)
read_kasy_docsbusca kasy.dev/docs ao vivoLer a doc oficial de qualquer página antes de chutar um passo

Prefira a tool dedicada quando existir. run_kasy_command é o canivete: só roda o binário kasy, nunca shell arbitrário. Nunca use pra kasy run.

read_kasy_docs busca a doc publicada (não a base de treino, que pode estar desatualizada) em markdown limpo, em pt/en/es. Serve pra confirmar uma flag rara, ler o guia completo de uma feature (ex.: funcionalidades/stripe) antes de configurar, ou consultar referencia/troubleshooting quando algo falha de um jeito não familiar.

Telemetria (o assistente chama, não você)

ToolPor baixoQuando usar
report_issuePOST pra edge da KasyDepois de tentar consertar de verdade

Corrigir é obrigatório; reportar sozinho não resolve nada pra você. O caminho normal é resolved: true com o comando exato que funcionou. Isso vira melhoria no kasy doctor. Sem PII: sem nome, e-mail, chave ou path completo.

Resources

Além das tools, o MCP expõe dois resources que o assistente lê sozinho:

URIO que é
kasy://design-system-guideDESIGN_SYSTEM.md e AGENTS.md do projeto aberto
kasy://architectureConvenção feature-first: api → repository → provider → ui

Nada de cor ou fonte fixa no pacote do MCP. Depois de um rebrand, a fonte da verdade continua sendo o projeto no disco.

Pedidos típicos

Com o MCP ligado, dá pra falar assim:

Prepara minha máquina com o Kasy
Cria um projeto chamado meu-app com Firebase, modo rápido
Adiciona revenuecat no meu projeto
Publica o iOS
Publica no Codemagic o Android e me diz o status
Adiciona app.meudominio.com nos domínios autorizados

O assistente escolhe a tool (prepare_machine, create_project, run_app, release_ios, codemagic_release…). Você não precisa lembrar o nome.

Limitação conhecida (v1)

Tools e resources sem directory explícito resolvem relativo ao diretório de trabalho do processo do MCP.

  • Cursor / Claude Code: confiável (cwd = projeto aberto).
  • Claude Desktop: não tem conceito de "projeto aberto". Depois do create_project, o assistente precisa passar directory explícito em list_components, check_status, etc.

MCP do Kasy vs MCP de terceiros

São coisas diferentes:

MCPPra quê
Kasy (kasy-mcp)Criar/gerenciar o app Flutter gerado pelo kit
RevenueCatMontar catálogo (produtos, entitlements, offerings) no painel deles
StripeCriar produto e preços na conta Stripe

Dá pra usar os três juntos: o MCP do Kasy liga a feature no código; o da Stripe/RevenueCat monta o catálogo no painel.

Próximo passo

  1. Instalar o MCP (se ainda não instalou)
  2. Preparar a máquina
  3. Criar o primeiro app

Atualizado em 03/11/2026