FlyTrap MCP

Permite que agentes de codificação leiam resultados de rastreamento de QA mobile do FlyTrap: bugs com capturas de tela e logs, gráficos de telas, hosts de rede, SDKs, permissões e diffs de build para apps Android e iOS.

Documentação

@flytrap-qa/mcp

Servidor MCP para FlyTrap. Ele permite que o agente de codificação que você já usa (Cursor, Claude Code, Codex, Windsurf, Zed, VS Code) leia os resultados dos crawls do FlyTrap: os bugs que o FlyTrap encontrou no seu aplicativo com capturas de tela, XML da interface, logcat e chamadas de rede com falha, o grafo de telas, os hosts com os quais seu build se comunica, SDKs e permissões detectados, e diffs entre dois builds.

O FlyTrap executa seu build real de Android ou iOS em dispositivos reais e registra tudo. Este pacote apenas lê esses resultados. Ele não executa aplicativos, descompila binários nem toca na sua árvore de código-fonte.

Início rápido

  1. Entre em dashboard.flytrap.dev, abra Configurações > Chaves de API e crie uma chave. Escolha o escopo read a menos que você queira que o agente possa enfileirar novos crawls.
  2. Adicione o servidor ao seu agente:
{
  "mcpServers": {
    "flytrap": {
      "command": "npx",
      "args": ["-y", "@flytrap-qa/mcp@latest"],
      "env": {
        "FLYTRAP_API_KEY": "ft_live_..."
      }
    }
  }
}

Claude Code: claude mcp add flytrap -e FLYTRAP_API_KEY=ft_live_... -- npx -y @flytrap-qa/mcp@latest

Codex CLI (~/.codex/config.toml):

[mcp_servers.flytrap]
command = "npx"
args = ["-y", "@flytrap-qa/mcp@latest"]
env = { FLYTRAP_API_KEY = "ft_live_..." }
  1. Faça perguntas como:
  • "Por que a integração quebra no meu aplicativo? Mostre as evidências."
  • "Com quais hosts de terceiros o build 1184 se comunica antes da tela de consentimento?"
  • "O que mudou entre o build 1180 e o 1184: SDKs, permissões, bugs?"
  • "Quais SDKs o com.booking distribui no Android?" (catálogo público, sem necessidade de chave)

Sem FLYTRAP_API_KEY, as ferramentas do catálogo público ainda funcionam.

Ferramentas

Seus projetos (precisam de FLYTRAP_API_KEY):

FerramentaO que retorna
whoamiA conta à qual a chave pertence
list_projectsProjetos que o dono da chave pode ler, com a execução de crawl selecionada
get_projectUm projeto mais seu status de crawl ao vivo
list_buildsBuilds de um projeto com SHA-256 do binário e proveniência
get_build_summaryVersão, tamanho, contagens de SDK/permissões, contagens de bugs e testes, telas, totais de rede e desempenho
get_sdksSDKs detectados com confiança e fontes de evidência, permissões declaradas, deep links
list_bugsBugs da execução selecionada, ordenados por severidade
get_bug_evidenceCenário, etapa com falha, capturas de tela e XML (URLs assinadas), janela de erro do logcat, chamadas de rede com falha, picos de desempenho, um ai_prompt pronto
get_screen_graphTelas alcançadas e as bordas de toque entre elas
get_network_hostsHosts contatados com contagens de chamadas, bytes e taxas de erro
search_appsDescreva um aplicativo em linguagem simples e obtenha os aplicativos públicos rastreados cujos recursos observados o cobrem, com requisitos correspondentes e ausentes
get_ux_benchmarkOs recursos do seu build ao lado dos mesmos recursos em aplicativos concorrentes e do mesmo gênero, com capturas de tela
list_competitorsConcorrentes fixados no benchmark de UX de um projeto
find_competitorsPesquise aplicativos públicos rastreados e o Google Play para aplicativos a fixar
add_competitorFixe um aplicativo rastreado, ou crie um projeto de loja a partir de um pacote do Google Play e fixe-o (escopo crawl, confirm: true para criar)
remove_competitorDesfixe um concorrente (escopo crawl)
compare_buildsDiff de SDK, permissão, deep link, host, bug e tela entre dois builds
start_crawlEnfileira um novo crawl do build atual. Precisa do escopo crawl e confirm: true

Catálogo público (sem chave): lookup_app, get_app_profile, lookup_sdk, lookup_permission.

Habilidade do agente

skills/flytrap/SKILL.md diz a um agente quando usar qual ferramenta e como citar evidências. Copie-o para a pasta de habilidades do seu projeto (por exemplo, .claude/skills/flytrap/SKILL.md ou .cursor/rules/) ou aponte seu agente para ele.

Configuração

A única configuração é FLYTRAP_API_KEY: sua chave pessoal de Configurações > Chaves de API (ft_live_...). É opcional para as ferramentas do catálogo público. O servidor sempre fala com https://api.flytrap.dev.

Segurança

  • A chave é enviada apenas para https://api.flytrap.dev como um cabeçalho Bearer, via https. Ela nunca é gravada em disco nem registrada em logs.
  • As chaves têm escopo. Uma chave read não pode iniciar crawls, criar chaves ou alterar cobrança, mesmo que o agente peça. Revogue chaves a qualquer momento no painel.
  • As chaves herdam as permissões de projeto do usuário que as criou. Uma chave nunca vê os projetos privados de outra conta.
  • A saída das ferramentas é limitada (janelas de log, limites de chamadas, 4 MiB por resposta) e marcada como dados de aplicativo não confiáveis, pois títulos de bugs, linhas de log e URLs se originam do aplicativo rastreado e de seu tráfego.
  • start_crawl, add_competitor e remove_competitor são as únicas ferramentas que alteram algo; elas precisam de uma chave criada com o escopo crawl. Enfileirar um crawl (start_crawl, ou add_competitor com um pacote do Google Play) também exige um confirm: true explícito.

REST em vez de MCP

Cada ferramenta mapeia para um endpoint REST, então um agente que pode executar curl pode fazer o mesmo sem este pacote:

curl -H "Authorization: Bearer $FLYTRAP_API_KEY" https://api.flytrap.dev/project/projects
curl -H "Authorization: Bearer $FLYTRAP_API_KEY" https://api.flytrap.dev/project/projects/1248/bugs
curl -H "Authorization: Bearer $FLYTRAP_API_KEY" https://api.flytrap.dev/project/projects/1248/bugs/BUG-102/evidence

Referência da API: https://api.flytrap.dev/docs

Desenvolvimento

npm install
npm test
FLYTRAP_API_KEY=ft_live_... npm run inspect   # MCP Inspector UI

Requer Node 20 ou mais recente. Publicado a partir do GitHub Actions em tags (v*) com proveniência npm.