Saltar para o conteúdo principal
Todas as ferramentas devolvem um array content de blocos de conteúdo MCP. Ferramentas de texto devolvem { type: "text", text: "<json-string>" }. Ferramentas de imagem devolvem { type: "image", data: "<base64>", mimeType: "image/png" }. Em caso de erro, isError: true é definido e o bloco de texto contém a mensagem de erro.

Ferramentas de ficheiros

list-files

Lista os ficheiros do Flowstep do utilizador atual. Entrada Saída — Array JSON de objetos de ficheiro.

get-file

Obtém um único ficheiro por ID. O conteúdo do ficheiro é propositalmente omitido — use get-screen ou get-screen-image para inspecionar ecrãs, e get-design-guidelines para recuperar as diretrizes anexadas. Entrada Saída — Objeto JSON do ficheiro.

create-file

Cria um novo ficheiro do Flowstep. Entrada Saída — Objeto JSON do ficheiro com o id do novo ficheiro.
Use o id devolvido como fileId em chamadas de ferramentas subsequentes.

update-file

Renomeia um ficheiro. Entrada Saída — Objeto de ficheiro atualizado na mesma forma que get-file.

delete-file

Elimina permanentemente um ficheiro. O name que passa é verificado contra o nome real do ficheiro antes da eliminação — se não corresponder, a eliminação é abortada. Isto evita eliminar acidentalmente o ficheiro errado. Entrada Saída"File deleted successfully"
Isto é irreversível. Todos os ecrãs no ficheiro são eliminados.

Ferramentas de ecrã

list-screens

Lista todos os ecrãs gerados para um ficheiro. Use os valores screenId devolvidos para referenciar ecrãs em get-screen, get-screen-image, upload-attachment, e como targets em edit-design, regenerate-design, ou expand-design. Entrada Saída — Array JSON de resumos de ecrã.
name é o nome do ecrã atribuído pelo utilizador, ou null se não tiver nome.

get-screen

Obtém o código JSX de um ecrã permitindo-lhe editar ou usar o código fora do Flowstep. Use get-screen-image para uma pré-visualização visual. Entrada Saída — O ecrã como código (JSX). Note o comentário da primeira linha que é necessário ao usar a ferramenta add-screen.

add-screen

Adiciona um novo ecrã a um ficheiro do Flowstep a partir de uma string JSX bruta. Entrada Nota — Um comentário semelhante ao abaixo DEVE estar presente como a primeira linha do JSX pois é usado para adicionar o ecrã corretamente. screenType, name, e screenId são todos opcionais — screenId é usado (internamente) se presente (por exemplo, ao passar JSX copiado de saída get-screen) mas não é obrigatório. O nome do ecrã é retirado do campo name do comentário (apresentado como “Copy of <name>”), ou “Untitled” se ausente. <!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" --> Saída — O ID do ecrã recém-adicionado.

get-screen-image

Renderiza um ecrã para PNG e devolve-o como uma imagem inline. Requer um cliente que suporte blocos de conteúdo de imagem. Entrada Saída — Bloco de conteúdo de imagem MCP (image/png).

Ferramentas de IA

regenerate-design, expand-design, e edit-design requerem contexto de design que só está presente em ecrãs originalmente gerados com um array designs. Ecrãs gerados sem contexto de design devolverão um erro. Solução alternativa: use upload-attachment para renderizar o ecrã como uma imagem, depois chame create-new-design com a imagem em attachments e uma mensagem descrevendo as alterações desejadas.

create-new-design

Gera um ou mais designs de ecrã a partir de um prompt de texto. Omita fileId para criar um novo ficheiro automaticamente. Bloqueia até que a geração se conclua ou expire (180 segundos). Entrada Saída{ fileId, screenIds }. Passe cada screenId para get-screen-image para ver resultados.

regenerate-design

Refaz ecrãs existentes do zero ou com uma variação de estilo. Requer pelo menos um screenId em targets. Bloqueia até que a geração se conclua ou expire (180 segundos). Entrada Saída{ fileId, screenIds }. Passe cada screenId para get-screen-image para ver resultados.

expand-design

Adiciona ecrãs de acompanhamento a um design existente. Requer pelo menos um screenId em targets e um operationVariant obrigatório. Bloqueia até que a geração se conclua ou expire (180 segundos). Entrada Saída{ fileId, screenIds }. Passe cada screenId para get-screen-image para ver resultados.

edit-design

Modifica ecrãs existentes via um prompt. Requer pelo menos um screenId em targets. Bloqueia até que a geração se conclua ou expire (180 segundos). Entrada Saída{ fileId, screenIds }. Passe cada screenId para get-screen-image para ver resultados.

upload-attachment

Carrega um ficheiro para usar como anexo em create-new-design ou edit-design. Devolve { id, path, type, mimeType } — passe este objeto diretamente no array attachments. Dois modos: Modo 1 — Ecrã por ID Passe screenId e fileId. O servidor obtém o estado do ecrã da base de dados e renderiza-o como uma imagem. Modo 2 — Ficheiro externo Passe conteúdo de ficheiro diretamente. Ficheiros binários devem ser codificados em base64; ficheiros de texto (incluindo código-fonte) são passados como strings UTF-8 simples. Tamanho máximo do ficheiro: 3 MB. Para imagens grandes, prefira image/jpeg em vez de image/png. Saída
type é "image" para uploads de imagem/PDF e "document" para ficheiros de texto/código.

Ferramentas de chat

get-chat-history

Obtém o histórico de mensagens de chat de um ficheiro. Entrada Saída — Objeto JSON com um array messages. Cada mensagem tem um type ("request" ou "response"), author ("human" ou "ai"), e content_type ("text", "summary", ou "followup").

Ferramentas de design

get-design-guidelines

Obtém as diretrizes de design armazenadas para um ficheiro. Entrada Saída
guidelines é null se nenhuma diretriz tiver sido definida.

update-design-guidelines

Define ou substitui as diretrizes de design para um ficheiro. As diretrizes são passadas como uma string de texto simples no formato design.md do Google — não passe um objeto ou JSON. O servidor realiza validação suave e pode devolver uma secção Warnings: na resposta listando problemas (chaves desconhecidas, cores não-hex) que foram aceitos mas podem ser ignorados pela IA. Apresente-os ao utilizador. Entrada Regras de validação
  • Frontmatter deve ser aberto e fechado corretamente
  • Linhas de frontmatter devem ser YAML válido no estilo de bloco
  • Corpo Markdown não deve conter cabeçalhos de secção ## duplicados
Saída"Design guidelines updated successfully", opcionalmente seguido de uma secção Warnings:.

delete-design-guidelines

Limpa as diretrizes de design para um ficheiro. Entrada Saída"Design guidelines deleted successfully"

Ferramentas de faturação

get-plan-details

Obtém o plano atual do utilizador, estado da subscrição e quota restante. Não requer entrada. Saída
Os limites variam por plano. Chame esta ferramenta antes de um lote de gerações para verificar quota disponível.