arenukvern / flutter-mcp-toolkit-guide
Entry point for inspecting or driving a running Flutter app from your AI assistant — routes to the right task skill (inspect / control / debug / custom app surfaces) and runs preflight.
<!-- @FMTMODEPRELUDE -->
When to use
Use this skill when the user wants to inspect or drive a running Flutter app
from this conversation. Examples:
- "Tap the login button in my app"
- "Why is the home screen blank?"
- "Take a screenshot and tell me what's broken"
- "Expose my cart / flags / internal state to the agent via MCP"
If the user is asking about Flutter concepts unrelated to a running app
(architecture questions, package selection), this skill does not apply.
Step 1: Preflight
Always run flutter-mcp-toolkit doctor --json first. Parse the output:
status: "ok"— proceed to Step 2.status: "error"anderror.code: "binary_not_found"— loadflutter-mcp-toolkit-setupand follow its install instructions.status: "error"anderror.code: "vm_not_connected"— loadflutter-mcp-toolkit-setupand follow its troubleshooting section.Any other error — load
flutter-mcp-toolkit-debugand read the error
envelope playbook.
Step 2: Pick the right skill for the user's intent
| User intent | Load skill |
|---|---|
| Read state ("what's on screen?", "show me errors", "screenshot") | flutter-mcp-toolkit-inspect |
| Drive UI ("tap X", "type into Y", "scroll to Z", "hot reload") | flutter-mcp-toolkit-control |
| Diagnose ("why is X failing?", "show recent logs", "evaluate expression") | flutter-mcp-toolkit-debug |
Register app-specific MCP tools/resources (AgentCallEntry, addEntries) | flutter-mcp-toolkit-custom-tools |
| Upgrade from removed legacy call-entry APIs | flutter-mcp-toolkit-intentcall-migration |
| Audit CLI/MCP/schema/dynamic-registry parity before changing tool surfaces | flutter-mcp-boundary-audit |
Maintain showcase/flutter_test_app web / WebMCP showcase hooks; agent list/execute via Chrome DevTools MCP (list_webmcp_tools / execute_webmcp_tool) | flutter-mcp-toolkit-maintain-web |
Maintain showcase/flutter_test_app macOS / native IntentCall hooks | flutter-mcp-toolkit-maintain-macos |
| Score dogfood iterations or route dogfood evidence | flutter-mcp-toolkit-dogfood-iterations |
Write repeatable E2E scenarios as Dart (flutter_mcp_harness: build/launch/attach/drive/assert, showcase launcher) | flutter-mcp-e2e-harness |
| Wire automation for an app across surfaces (MCP / CLI / harness / oka), first loops, runner sessions | flutter-mcp-automation-chain |
| Release, version, or plugin skill bundle maintenance | flutter-mcp-toolkit-repo-maintainer |
Harness Script lint/run/Maestro and promo/video capture live in their owner
repositories. Do not look for flutter-mcp-semantic-test,flutter-mcp-capture, or hyperframes-video in this plugin.
If the task spans more than one (e.g. "tap the button and show me what
changed"), load inspect AND control. Skills are additive.
Step 3: Execute
Each task skill has the tool list, parameter shapes, and example calls. Follow
the prelude at the top of the skill — it tells you whether you're calling MCP
tools or shelling out to the CLI.
Tool taxonomy reference
The core toolkit tools fall into these categories. The full list with
parameter shapes lives in the task skills.
Inspection (read-only):
discover_debug_apps,get_app_errors,get_screenshots,get_view_details,get_vm,get_extension_rpcs,semantic_snapshot,inspect_widget_at_point,capture_ui_snapshot,connect_debug_app. →flutter-mcp-toolkit-inspect.Interaction (mutating):
tap_widget,long_press,enter_text,reveal_search,fill_form,scroll,swipe,drag,hover,focus_widget,press_key,wait_for,navigate,handle_dialog,hot_reload_flutter,hot_restart_flutter,hot_reload_and_capture. →flutter-mcp-toolkit-control.Debug:
get_recent_logs,evaluate_dart_expression. →flutter-mcp-toolkit-debug.Dynamic registry (app-defined): after registration in the Flutter app,
MCP calls usefmt_list_client_tools_and_resources, thenfmt_client_tool/fmt_client_resource. When shelling out to the CLI,
command names appear only asexec --name <name>values; do not call barelist_client_tools_and_resources,client_tool, orclient_resourceas
MCP tools. →flutter-mcp-toolkit-custom-tools.Boundary/proof maintenance: use
flutter-mcp-boundary-auditbefore
changing catalog/schema/registry surfaces; useflutter-mcp-toolkit-maintain-web
orflutter-mcp-toolkit-maintain-macosfor showcase platform hooks; useflutter-mcp-toolkit-repo-maintainerfor release, version, and generated
skill-bundle work.True WebMCP (browser): with Chrome DevTools MCP
(--categoryExperimentalWebmcp), uselist_webmcp_tools/execute_webmcp_toolafter navigating to the web app. Details influtter-mcp-toolkit-maintain-web.
When in doubt
If doctor is green but a tool call fails, read the returned error.code
and error.recovery fields. The full code → recovery table is influtter-mcp-toolkit-debug.