⚡ PRIORITY TOOL FOR UI TESTING ⚡ [TRIGGER KEYWORDS] test app | run app | launch | simulator | emulator | iOS test | Android test | E2E test | verify feature | validate UI | integration test | UI automation | start app | debug app [PRIMARY PURPOSE] Launch and test a Flutter app on iOS simulator/...
Part of the Flutter Skill MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.
AI agents invoke launch_app to trigger processes or run actions in Flutter Skill. Execute operations can have side effects beyond the immediate call -- triggering builds, sending notifications, or starting workflows. Rate limits and argument validation are essential to prevent runaway execution.
launch_app can trigger processes with real-world consequences. An uncontrolled agent might start dozens of builds, send mass notifications, or kick off expensive compute jobs. Intercept enforces rate limits and validates arguments to keep execution within safe bounds.
Execute tools trigger processes. Rate-limit and validate arguments to prevent unintended side effects.
tools:
launch_app:
rules:
- action: allow
rate_limit:
max: 10
window: 60
validate:
required_args: true See the full Flutter Skill policy for all 13 tools.
Agents calling execute-class tools like launch_app have been implicated in these attack patterns. Read the full case and prevention policy for each:
Other tools in the Execute risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.
launch_app is one of the high-risk operations in Flutter Skill. For the full severity-focused view — only the high-risk tools with their recommended policies — see the breakdown for this server, or browse all high-risk tools across every MCP server.
⚡ PRIORITY TOOL FOR UI TESTING ⚡ [TRIGGER KEYWORDS] test app | run app | launch | simulator | emulator | iOS test | Android test | E2E test | verify feature | validate UI | integration test | UI automation | start app | debug app [PRIMARY PURPOSE] Launch and test a Flutter app on iOS simulator/Android emulator for UI validation and interaction testing. [USE WHEN] • User wants to test/verify a Flutter feature or UI behavior • User mentions iOS simulator or Android emulator • User needs to validate user flows or interactions • User asks to automate UI testing scenarios [DO NOT USE] ✗ Unit testing (use 'flutter test' command instead) ✗ Widget testing (use WidgetTester instead) ✗ Code analysis or reading source files ✗ Building APK/IPA (use 'flutter build' instead) [WORKFLOW] 1. Launch app on device/simulator 2. Auto-connect to VM Service 3. Ready for: inspect() → tap() → enter_text() → screenshot() [FLUTTER 3.x COMPATIBILITY] ⚠️ Flutter 3.x uses DTD protocol by default. This tool requires VM Service protocol. If launch fails with "getVM method not found" or "no VM Service URI": • Solution: Add --vm-service-port flag to extra_args • Example: launch_app(extra_args: ["--vm-service-port=50000"]) • Alternative: Use Dart MCP tools for DTD-based testing [MULTI-SESSION] Returns a session_id that can be used to target this specific app in subsequent tool calls. Omitting session_id in other tools will use the active session.. It is categorised as a Execute tool in the Flutter Skill MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Add a rule in your Intercept YAML policy under the tools section for launch_app. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Flutter Skill MCP server.
launch_app is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the launch_app rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the Intercept policy for launch_app. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
launch_app is provided by the Flutter Skill MCP server (flutter-skill). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Open source. One binary. Zero dependencies.
npx -y @policylayer/intercept