Skip to main content
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 — utiliza get-screen ou get-screen-image para inspecionar ecrãs, e get-design-guidelines para recuperar as diretrizes anexadas. Entrada Saída — Objeto JSON de ficheiro.

create-file

Cria um novo ficheiro Flowstep. Entrada Saída — Objeto JSON de ficheiro com o id do novo ficheiro.
Utiliza o id devolvido como fileId nas chamadas de ferramenta subsequentes.

update-file

Muda o nome de um ficheiro. Entrada Saída — Objeto de ficheiro atualizado com a mesma forma que get-file.

delete-file

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

Ferramentas de ecrã

list-screens

Lista todos os ecrãs gerados para um ficheiro. Utiliza os valores de 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 sem nome.

get-screen

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

add-screen

Adiciona um novo ecrã a um ficheiro Flowstep a partir de uma string JSX bruta. Entrada Nota - Um comentário semelhante ao abaixo TEM de estar presente como a primeira linha do JSX já que é utilizado para adicionar o ecrã corretamente. screenType, name, e screenId são todos opcionais — screenId é utilizado (internamente) se presente (por exemplo, ao passar JSX copiado da saída de get-screen) mas não é obrigatório. O nome do ecrã é tirado 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 em linha. 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: utiliza upload-attachment para renderizar o ecrã como uma imagem, depois chama create-new-design com a imagem em attachments e uma mensagem descrevendo as mudanças desejadas.

create-new-design

Gera um ou mais designs de ecrã a partir de um prompt de texto. Omite fileId para criar um novo ficheiro automaticamente. Bloqueia até a geração estar completa ou até expiração do tempo (180 segundos). Entrada Saída{ fileId, screenIds }. Passa 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é a geração estar completa ou até expiração do tempo (180 segundos). Entrada Saída{ fileId, screenIds }. Passa cada screenId para get-screen-image para ver resultados.

expand-design

Adiciona ecrãs de seguimento a um design existente. Requer pelo menos um screenId em targets e um operationVariant obrigatório. Bloqueia até a geração estar completa ou até expiração do tempo (180 segundos). Entrada Saída{ fileId, screenIds }. Passa cada screenId para get-screen-image para ver resultados.

edit-design

Modifica ecrãs existentes através de um prompt. Requer pelo menos um screenId em targets. Bloqueia até a geração estar completa ou até expiração do tempo (180 segundos). Entrada Saída{ fileId, screenIds }. Passa cada screenId para get-screen-image para ver resultados.

upload-attachment

Envia um ficheiro para utilizar como um anexo em create-new-design ou edit-design. Devolve { id, path, type, mimeType } — passa este objeto diretamente no array attachments. Dois modos: Modo 1 — Ecrã por ID Passa 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 Passa o conteúdo do ficheiro diretamente. Ficheiros binários têm de estar 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, prefere image/jpeg em relação a 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 para 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 não foram definidas diretrizes.

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 passes um objeto ou JSON. O servidor realiza validação branda e pode devolver uma secção Warnings: na resposta listando problemas (chaves desconhecidas, cores não-hex) que foram aceites mas podem ser ignoradas pela IA. Mostra estes ao utilizador. Entrada Regras de validação
  • O frontmatter tem de estar aberto e fechado corretamente
  • As linhas frontmatter têm de ser YAML válido em estilo de bloco
  • O corpo Markdown não deve conter cabeçalhos ## duplicados
Saída"Design guidelines updated successfully", opcionalmente seguido por uma secção Warnings:.

delete-design-guidelines

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

Ferramentas de Figma

import-figma

Importa um frame do Figma para um ficheiro Flowstep como elementos editáveis na sua tela. Re-importar o mesmo frame actualiza-o no local. A organização do ficheiro tem de ter o Figma ligado nas definições do Flowstep. Entrada Saída{ fileId, screenId }. screenId é o id do elemento de ecrã importado — passa-o para get-screen-image para ver o resultado. Quando uma URL de página importa múltiplos frames, screenId é null e frameCount é devolvido em vez disso.

Ferramentas de faturação

get-plan-details

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