flutter-mcp
- Repo stars 0
- Author updated Live
- Author repo skills-registry
- Domain
- AI
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 88 / 100 · community maintained
- Author / version / license
- @tomevault-io · no license declared
- Token usage
- Lean
- Setup complexity
- Plug-and-play
- External API key
- Not required
- Operating systems
- macOS
- Runtime requirements
- No special requirements
- Permissions
-
- Read-only
- Write / modify
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: flutter-mcp
description: Use this skill whenever inspecting, interacting with, or live-editing a running Flutter app via…
category: ai
runtime: no special runtime
---
# flutter-mcp output preview
## PART A: Task fit
- Use case: Use this skill whenever inspecting, interacting with, or live-editing a running Flutter app via the Flutter MCP toolkit server (`mcpServers` key **`flutter-mcp-toolkit`**, or legacy **`flutter-inspector`**). Covers preflight, snapshot/tap/enter/scroll loop, hot-reload validation, and error envelope parsing..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “When to use / Preflight (always first) / Tool naming (v3.0.0+)” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Use this skill whenever inspecting, interacting with, or live-editing a running Flutter app via the Flutter MCP toolkit server (`mcpServers` key **`flutter-mcp-toolkit`**, or legacy **`flutter-inspector`**). Covers preflight, snapshot/tap/enter/scroll loop, hot-reload validation, and error envelope parsing.”.
- **02** When the source has headings, the agent prioritizes “When to use / Preflight (always first) / Tool naming (v3.0.0+)” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files.
Start with a small task and check whether the result follows “When to use / Preflight (always first) / Tool naming (v3.0.0+)”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: flutter-mcp
description: Use this skill whenever inspecting, interacting with, or live-editing a running Flutter app via…
category: ai
source: tomevault-io/skills-registry
---
# flutter-mcp
## When to use
- Use this skill whenever inspecting, interacting with, or live-editing a running Flutter app via the Flutter MCP toolki…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “When to use / Preflight (always first) / Tool naming (v3.0.0+)” and keep inference separate from source facts.
- read files, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "flutter-mcp" {
input -> user goal + target files + boundaries + acceptance criteria
context -> When to use / Preflight (always first) / Tool naming (v3.0.0+)
rules -> SKILL.md triggers / order / output contract
runtime -> no special runtime | read files, write/modify files | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} Flutter MCP
Golden path for agents driving a live Flutter app via the flutter-mcp-toolkit MCP server entry. Older configs may use the legacy flutter-inspector mcpServers registry id for the same binary (that id is not the Claude subagent flutter-mcp-toolkit-runtime).
When to use
- User references a running Flutter app (debug mode) and wants to inspect, screenshot, interact with, or hot-reload it.
- User pastes a VM service URI (
ws://127.0.0.1:8181/.../ws) or mentions port 8181. - You need runtime proof (before/after screenshots) that a code edit took effect.
Preflight (always first)
Before any VM-dependent call:
- Call
doctor(or runflutter-mcp-toolkit doctor --json) — parses env, ports, app reachability. - Confirm required toolkit extensions exist on the target:
ext.mcp.toolkit.app_errorsext.mcp.toolkit.view_detailsext.mcp.toolkit.view_screenshotsext.mcp.toolkit.inspect_widget_at_point
If missing, stop and report the instrumentation gap — do not guess:
- Add
mcp_toolkittopubspec.yaml. - Ensure
MCPToolkitBinding.instance..initialize()..initializeFlutterToolkit();runs beforerunApp. - Hot restart (not reload) — reload is often insufficient for extension registration.
Tool naming (v3.0.0+)
All MCP tools surface under the fmt_ capability prefix
(fmt_tap_widget, fmt_hot_reload_and_capture, etc.). The prefix is
mandatory in tools/call. Skill-local references below use the bare name
for readability — when invoking, prepend fmt_. Dynamic-registry host
tools (fmt_list_client_tools_and_resources, fmt_client_tool,
fmt_client_resource) use the same prefix for a single consistent surface.
Interaction loop (Playwright-style)
fmt_semantic_snapshot→ returnss_0..s_Nrefs +snapshot_id.fmt_tap_widget/fmt_enter_text/fmt_scroll/fmt_swipe/fmt_long_press/fmt_drag— act on a ref. Always passsnapshotId— you get a structuredstale_snapshoterror if the tree moved, instead of a silent wrong tap.fmt_evaluate_dart_expression— read state directly (e.g.AgentState.instance.counter).fmt_hot_reload_and_capture— after a code edit, returns reload status + screenshot + fresh snapshot + errors in one response. Prefer this over manual reload + separate capture.
Error envelope contract
Errors are {code, message, details, descriptor, recovery}. Parse error.descriptor (not the top-level object) for the machine-readable shape. Strict schemas default to additionalProperties: false — unknown params reject.
Common codes and recovery:
connection_selection_required— retry witharguments.connection.targetIdor exactarguments.connection.urifromapp.debugPort.wsUri.target_not_found— refresh targets, then prefer exactarguments.connection.uri.stale_snapshot— callfmt_semantic_snapshotagain, then retry the action with the newsnapshot_id.tool_not_found— confirm the prefixed name (fmt_<tool>); v3.0.0 dropped legacy unprefixed names.- Empty screenshot output — verify the server was not started with
--no-images. - Missing view resource/tool — verify the server was not started with
--no-resources.
Visual QA
- Before/after screenshots are the proof artifact for any UI claim. Capture before with
fmt_capture_ui_snapshot(or one of thevisual://localhost/...resources), edit,fmt_hot_reload_and_capture, compare. - For each reported visual issue, attach coordinate +
fmt_inspect_widget_at_pointoutput. - Map defects to source via
fmt_get_app_errorstop stack frame (file,line,column) when available. - Do not use
fmt_debug_dump_*unless explicitly requested (server must be started with--dumps; high token cost).
Permissions (macOS)
Screen Recording permission belongs to the process running flutter-mcp-toolkit (or the MCP server host). If visual capture is denied:
flutter-mcp-toolkit permissions status
flutter-mcp-toolkit permissions request
flutter-mcp-toolkit permissions open-settings
Non-modifiable apps
If the target app cannot be instrumented (third-party binary, restricted env), report flutter-mcp as unavailable for that app. Do not claim screenshot/layout/error inspection success.
Related
- For the dynamic-tools side (registering custom MCP tools from inside the Flutter app), see the
flutter-mcp-toolkit-custom-toolsskill. - For routing across setup / inspect / control / debug skills, see
flutter-mcp-toolkit-guide.
Source: Arenukvern/mcp_flutter — distributed by TomeVault.
Decide Fit First
Design Intent
How To Use It
Boundaries And Review