Developers · Model Context Protocol

Mobile QA for
coding agents.

FlyTrap MCP is the QA layer your Cursor or Claude agent calls before a mobile build ships. It grounds agents in real catalog data: SDKs, permissions, genre benchmarks, and rankings across thousands of analyzed apps. That covers what Playwright MCP does not handle for native apps.

8 catalog tools Live now

Why a separate mobile QA MCP?

Most MCP servers in mobile today are device drivers: tap, swipe, screenshot, read the accessibility tree. That is essential infrastructure, but it leaves the hard QA work to the agent: deciding what to test, keeping suites current, running across a device matrix, and proving reproducibility.

Server What it does Gap
Playwright MCP Browser automation via accessibility snapshots No native iOS / Android apps
mobile-mcp Device control: tap, type, list devices You author every flow and maintain scripts
Maestro MCP Record and replay YAML flows Still manual flow authoring
FlyTrap MCP Genre benchmarks, SDK and permission intel Grounds agents in real app catalog data

FlyTrap MCP sits above device drivers in the agent stack: your coding agent plans the feature, then calls catalog tools to learn what SDKs, permissions, and flows matter for the app's genre before writing tests or shipping.

Quick start

Add FlyTrap to Cursor or Claude Desktop. Catalog intelligence tools work with a read token against the live App Catalog API.

{
  "mcpServers": {
    "flytrap": {
      "command": "npx",
      "args": ["-y", "@flytrap/mcp@latest"],
      "env": {
        "FLYTRAP_API_KEY": "your-api-key"
      }
    }
  }
}

Example agent prompt: "lookup_app for com.example.shop, then get_genre_benchmark for shopping and list_genre_priority_flows to plan coverage."

Tools

Each tool is backed by the FlyTrap App Catalog API and build-time insights. Use them to ground mobile QA and development agents in real SDK, permission, and genre data.

Catalog intelligence

8 tools

lookup_app

Resolve a catalog app by store URL, package name, or slug.

Description
Returns the FlyTrap catalog profile for a mobile app: name, genre, framework, platforms, SDK count, and permission summary. Use before scanning to ground an agent in real app context.
Parameters
  • query (required) : string: Store URL, package name (com.example.app), or catalog slug.
Returns
App profile with slug, genre, buildWith, platforms, sdkIds, permission tiers.
Value to QA / mobile devs
Coding agents stop guessing stack and genre. A fix prompt can reference the actual framework (React Native vs Flutter) and bundled SDKs.
Data backing
GET /app-catalog/packages. Live catalog API, same data as /app-catalog pages.

get_app_profile

Full technical breakdown for one catalog app.

Description
Detailed app record: frameworks, SDK list with vendors, permission breakdown (normal / dangerous / signature), store metadata, and last analyzed date.
Parameters
  • slug (required) : string: Catalog slug from lookup_app.
Returns
App object with sdks[], permissions[], genreLabel, tagline, developer.
Value to QA / mobile devs
QA can ask 'what does this app bundle?' without downloading the binary. Security reviews start from detected permissions and trackers.
Data backing
Catalog package detail + permission enrichment endpoints used by /app-catalog/[slug].

get_genre_benchmark

Signature SDKs, frameworks, and permission norms for a Play genre.

Description
Genre-level benchmarks: signature SDK stack (lift-ranked), top frameworks, average SDKs per app, and typical permission patterns. Grounds test planning in what similar apps actually ship.
Parameters
  • genre (required) : string: Play genre slug, e.g. finance, shopping, game_puzzle.
Returns
CategoryInsight: signatureSdks, frameworks, appCount, avgSdksPerApp.
Value to QA / mobile devs
Agents prioritize flows and risk areas by genre: finance apps need KYC flows; shopping needs checkout; games need IAP. Removes generic test plans.
Data backing
Derived at build time from loadCategoryInsights(). Smoothed lift scoring over the full catalog.

list_genre_priority_flows

Recommended E2E flows to cover for a genre.

Description
Returns the high-value user journeys FlyTrap prioritizes when exploring apps in a given genre: onboarding, auth, paywall, checkout, deeplinks, offline, etc.
Parameters
  • genre (required) : string: Play genre slug.
  • limit : number: Max flows to return (default 12).
Returns
Ordered list of flow names with priority tier (P1-P3) and rationale.
Value to QA / mobile devs
Replaces 'what should we test?' with a genre-trained checklist. Mobile devs get coverage intent without writing Maestro YAML.
Data backing
Genre-trained catalog from FlyTrap exploration models + category insights (signature SDKs imply flows: Adapty/RevenueCat → subscription, Branch → deeplinks).

compare_app_to_genre

How one app differs from its genre baseline.

Description
Diffs an app's SDK stack and permission profile against genre norms: over-indexed trackers, missing expected auth SDKs, permission outliers vs category median.
Parameters
  • slug (required) : string: Catalog app slug.
Returns
Diff report: outlier SDKs, permission deltas, framework rarity, suggested focus areas.
Value to QA / mobile devs
Surfaces 'test this first' signals: a finance app without expected encryption SDKs, or a shopping app with unusual location permissions.
Data backing
Derived: app profile cross-referenced with get_genre_benchmark() for the app's genre.

lookup_sdk

SDK profile and which catalog apps bundle it.

Description
Returns SDK vendor, category, description, adoption count, and links to apps in the catalog that fingerprint it.
Parameters
  • sdk_id (required) : string: Catalog SDK id, e.g. firebase-analytics.
Returns
Sdk record with vendor, category, usage count, sample apps.
Value to QA / mobile devs
When a regression touches a third-party SDK, agents pull vendor context and co-install patterns without leaving the IDE.
Data backing
GET /app-catalog/sdks + sdk-descriptions.js copy on /sdk-catalog/[slug].

get_sdk_adoption

Vendor reach and co-install stats for an SDK or vendor.

Description
Adoption metrics: catalog reach %, top co-installed SDKs, genre penetration, and apps using the SDK.
Parameters
  • vendor : string: Vendor slug, e.g. google, meta.
  • sdk_id : string: Specific SDK id (optional if vendor set).
Returns
VendorInsight: sdkCount, appReachShare, topSdks, genre breakdown.
Value to QA / mobile devs
Helps QA assess blast radius when an SDK updates. Example: 'Adjust is in 40% of our genre, test attribution flows.'
Data backing
vendor-insights.ts derived from catalog at build time. Same data as /vendor/[slug].

list_app_rankings

Available catalog rankings and the app's position.

Description
Lists FlyTrap rankings (most SDKs, permission-hungry, tracking SDKs, etc.) and optionally where a specific app ranks.
Parameters
  • ranking : string: Ranking slug, e.g. most-sdks. Omit to list all.
  • slug : string: Optional app slug to fetch rank for.
Returns
Ranking definition + top apps or single-app rank and metric value.
Value to QA / mobile devs
Privacy and compliance QA can flag tracker-heavy builds against catalog baselines before release.
Data backing
rankings.ts metrics over loadApps()/loadSdks(). Same formulas as /rankings pages.

Get MCP access

Catalog intelligence tools are live today. Join the waitlist for API keys and early access to test execution tools.