Conectar uma ferramenta de IA
Conecte Claude Code, Codex, Gemini CLI e outros clientes MCP para criar e editar projetos de screenshots com IA, revisá-los com ferramentas do navegador e exportá-los no editor do site.
Conectar uma ferramenta de IA
Quando o MCP está ativado nesta implantação do AppScreenshots, conecte uma ferramenta compatível a:
https://appscreenshots.net/api/mcpEscolha HTTP/Streamable HTTP e OAuth. Entre com sua conta do AppScreenshots no navegador, selecione os projetos e recursos que a ferramenta pode usar e decida se ela pode criar projetos. Não é necessário acesso ao banco de dados nem chave de API.
Para uma visão geral com prompts de exemplo, veja a página do MCP.
Conecte seu cliente
Os comandos abaixo registram o endpoint em cada cliente. Depois de conectar, conclua o login no navegador quando o cliente apresentá-lo.
claude mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpDepois execute /mcp dentro do Claude Code e autorize. Para uma conexão com escopo de projeto, mescle um arquivo .mcp.json em vez de registrar o escopo de usuário; não configure os dois sem intenção de sobrescrever o escopo.
codex mcp add appscreenshots --url https://appscreenshots.net/api/mcp
codex mcp login appscreenshotsComo alternativa, mescle uma seção [mcp_servers.appscreenshots] com url = "..." no config.toml do cliente.
gemini mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpDentro do Gemini CLI, execute /mcp auth appscreenshots. A variante com arquivo de configurações usa httpUrl para Streamable HTTP com "oauth": {"enabled": true}.
Abra /mcp-config, adicione um servidor HTTP com o endpoint e use /mcp-config login appscreenshots. O arquivo de configuração é ~/.kimi-code/mcp.json:
{
"mcpServers": {
"appscreenshots": {
"url": "https://appscreenshots.net/api/mcp"
}
}
}Reinicie a sessão depois de adicionar a configuração. Distribuições antigas do kimi-cli usam kimi mcp add --transport http --auth oauth.
Mescle o servidor em ~/.zcode/cli/config.json sob mcp.servers, ou adicione o serviço HTTP chamado appscreenshots em Settings → MCP:
{
"mcp": {
"servers": {
"appscreenshots": {
"type": "http",
"url": "https://appscreenshots.net/api/mcp",
"oauth": {
"type": "authorization_code",
"scope": "projects:read projects:write assets:read offline_access"
}
}
}
}
}Reinicie a sessão e conclua o login OAuth quando o cliente apresentá-lo. Faça isso rapidamente: o cliente desktop cancela uma autorização pendente após cerca de 180 segundos.
Use a entrada de conexão MCP personalizada disponível na sua conta ou workspace e escolha OAuth com o endpoint acima. A disponibilidade depende dos controles da conta e do workspace — um repositório público do GitHub não cria automaticamente uma entrada no diretório do ChatGPT.
A integração de clientes está documentada a partir das referências oficiais e de um teste de ponta a ponta em nível de protocolo concluído (OAuth, criação de projetos, edição, pré-visualização no site, exportação). As certificações individuais de clientes estão pendentes; veja a matriz de verificação do kit de conexão para o status atual.
Kit de conexão
O repositório público appscreenshots-mcp traz arquivos de configuração prontos para todos os clientes acima, um Skill de agente opcional que ensina o fluxo de screenshots e um comando doctor que verifica o servidor pelo seu terminal:
git clone https://github.com/horace68/appscreenshots-mcp.git
node bin/appscreenshots.mjs config claude # imprime um trecho de configuração
node bin/appscreenshots.mjs install-skill claude
node bin/appscreenshots.mjs doctorO auxiliar apenas imprime configuração e instala o Skill. Ele não é um servidor stdio local — use a conexão remota nativa do seu cliente.
Ferramentas
As nove ferramentas abaixo são expostas via Streamable HTTP. Os clientes podem prefixar os nomes. O servidor hospedado é a fonte da verdade para os esquemas de entrada e as permissões da conta.
| Ferramenta | Tipo | Função |
|---|---|---|
get_capabilities | Leitura | Direitos, limites de design (100–5000 px), dispositivos, tipos de elemento, maxFrames (20), maxElementsPerFrame (100), modos de pré-visualização/exportação |
search_templates | Leitura | Pesquisa metadados de templates públicos (query, offset) |
get_template | Leitura | Lê um template com direito por id |
list_projects | Leitura | Lista projetos autorizados, 25 por página |
get_project | Leitura | Lê a revisão atual e o design editável, com o editorUrl |
get_project_preview | Leitura | Link do editor, revisão, quadros e instruções de revisão no navegador — texto, não uma imagem |
list_assets | Leitura | Lista recursos compartilhados e de projetos autorizados, 50 por página |
create_project | Escrita | Cria a partir de template ou tela em branco (name, templateId opcional, width, height, idempotencyKey) |
update_project | Escrita | Aplica 1–100 operações estruturadas por chamada com expectedRevision e idempotencyKey |
Operações de edição
O update_project aceita uma lista discriminada de operações:
set_name— renomeia o projetoadd_frame/remove_frame/reorder_frames— gerencia quadrosupsert_element— insere ou substitui um elemento; exige geometria completa e preserva campos omitidos do mesmo tipopatch_element— edição parcial poriddo elemento; não é permitido mudar o tiporemove_element— remove um elementoset_background— define o fundo de um quadro; fundos compartilhados são materializados por quadroset_locales— define 1–20 idiomas e o idioma padrãoset_canvas— tamanho da tela (100–5000) e modo (separateoucontinuous)
Os elementos carregam tipografia, campos de mockup de dispositivo, referências assetId de imagem, formas, ícones, rotation e stackOrder. Imagens são referenciadas por assetId autorizado — nunca por URL ou caminho local, e as referências existentes ficam no servidor, então não as reenvie.
Cada escrita lógica deve usar uma chave de idempotência nova; reutilize-a apenas em uma repetição idêntica. Após um conflito de revisão, leia a versão mais recente e reconcilie. Nunca use SQL, HTML ou scripts como instruções de edição.
Erros
Os erros retornam um corpo JSON {code, message} com isError: true:
| Código | Significado |
|---|---|
REVISION_CONFLICT | O projeto mudou desde expectedRevision — releia e tente de novo |
ASSET_NOT_AUTHORIZED | O recurso não foi selecionado na página de consentimento |
FRAME_NOT_FOUND / ELEMENT_NOT_FOUND | O quadro ou elemento referenciado não existe |
ELEMENT_TYPE_CHANGE_NOT_ALLOWED | patch_element não pode mudar o tipo de um elemento |
INVALID_FRAME_ORDER / INVALID_DEFAULT_LOCALE | Ordem de quadros ou idioma padrão inválidos |
DUPLICATE_ID | Um id colide com um existente |
PROJECT_SIZE_LIMIT | Limite de quadros, elementos ou payload excedido |
RATE_LIMITED | Muitas chamadas — HTTP 429 com Retry-After |
Autorização e limites
O servidor usa OAuth 2.1 com PKCE e login no navegador:
- Escopos:
projects:read,projects:write(somente se você permitir criar ou editar),assets:readeoffline_access. - Tokens de acesso duram uma hora; tokens de refresh duram 30 dias.
- Tokens de acesso exigem uma concessão ativa: se você revogar a conexão, os tokens existentes param de funcionar imediatamente.
- Limites de uso: 60 chamadas MCP por minuto no plano gratuito e 120 por minuto nos pagos. Exceder retorna HTTP 429 com
Retry-After: 60. - Corpos de requisição têm limite de 2 MB; projetos têm limite de 20 quadros e 100 elementos por quadro.
Os direitos do plano seguem valendo: as restrições de projetos, templates pagos, fontes personalizadas e exportação em lote não mudam, e não há cobranças de IA hospedada — o design e os textos vêm da IA conectada.
Comece com seus screenshots
Envie os screenshots originais no editor do site. Autorize esse projeto ou selecione recursos individuais na página de consentimento. O MCP não expõe ferramentas de upload binário; um arquivo anexado num chat não fica automaticamente acessível a este serviço.
Experimente este prompt:
Crie um projeto de screenshots em inglês para a App Store a partir de um template disponível usando meus recursos autorizados. Use títulos curtos e um layout limpo. Abra o editor com as ferramentas de navegador disponíveis, inspecione os screenshots, corrija os problemas visuais e me entregue o link do projeto para exportar no site.
A IA conectada fornece o design e os textos; o MCP salva projetos editáveis. O get_project_preview retorna o link do editor e instruções de revisão, não bytes de imagem. Um agente com ferramentas de navegador pode abrir o editor, inspecionar os screenshots, corrigir o design via MCP e recarregar com segurança para revisar a versão mais recente. O login do navegador é separado do OAuth do MCP, e alterações não salvas devem ser preservadas antes de recarregar. A pré-visualização e a exportação ficam com você, no editor do site.
Gerenciar o acesso
Abra Settings → Connected AI tools para alterar os projetos/recursos selecionados ou revogar uma conexão. A ferramenta não pode acessar projetos não selecionados. Se o site e uma ferramenta de IA editarem o mesmo projeto ao mesmo tempo, recarregue a versão mais recente antes de salvar alterações conflitantes.
A revisão no navegador não exige Browserless nem uma fila de renderização em segundo plano. Este MCP expõe ferramentas de projeto e orientação de revisão no navegador, não renderização na nuvem. Sem ferramentas de navegador/imagem, o agente deve devolver o link do editor e informar que a revisão visual está pendente, em vez de afirmar que verificou.
Solução de problemas
| Sintoma | Correção |
|---|---|
invalid_redirect_uri: web clients require https redirect URIs | Use um redirecionamento de loopback (http://127.0.0.1:<porta>/callback ou http://localhost:<porta>/callback) e deixe os registros de loopback seguirem o cliente nativo por padrão |
401 com WWW-Authenticate: Bearer resource_metadata=… | Resposta de descoberta normal para chamadas não autenticadas — conclua o fluxo OAuth no seu cliente |
| A autorização expira repetidamente | Reconecte pelo cliente; uma concessão revogada ou expirada invalida os tokens de refresh |
| O cliente cancela o login no navegador | Conclua o login rapidamente (alguns clientes cancelam após ~180 segundos) e reinicie a conexão |
Respostas 429 RATE_LIMITED | Aguarde o Retry-After (60 s) antes de tentar de novo; passe para um plano pago para 120 chamadas/min |
Para notas específicas por cliente e a matriz de verificação atual, consulte o guia de solução de problemas do kit de conexão.
Documentação do AppScreenshots