Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Arenukvern/mcp_flutter --skill flutter-mcpgit clone --depth 1 https://github.com/Arenukvern/mcp_flutterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/arenukvern/mcp_flutter/flutter-mcp)<a href="https://agentmods.dev/skills/arenukvern/mcp_flutter/flutter-mcp"><img src="https://agentmods.dev/badge/skills/arenukvern/mcp_flutter/flutter-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/arenukvern/mcp_flutter/flutter-mcp"><img src="https://agentmods.dev/badge/skills/arenukvern/mcp_flutter/flutter-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00075 | $0.01249 |
| Opus 5.5 | $0.00030 | $0.00500 |
| Sonnet 5.5 | $0.00015 | $0.00250 |
| Haiku 4.5 | $0.00007 | $0.00125 |
Grade A, and why
flutter-mcp scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 15d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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_reveal_search— for off-screen semantic targets, bounded snapshot/search/scroll that returns a freshref+snapshotId.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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 15d ago Changed · +1 lines 23764ab97632
- 1mo ago First seen · 90 lines · 75 tokens per session scan A 63e8612aae50
flutter-mcp is a skill published in the GitHub repository Arenukvern/mcp_flutter (389 stars, last pushed 5d ago), licensed MIT. It adds 75 tokens to every session and 1,249 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
at_client_skills-sdk
Use this skill when a developer is building a Dart or Flutter app that depends on atclient or atclientflutter from pub.dev, stores or shares data via the Atsign Protocol, needs onboarding (CRAM new-atsign, atKeys file, keychain, APKAM) or APKAM enrollment, asks how to open, own, stop or switch an AtClient or read its…
flutter-pre-caching
Use when preloading fonts, asset/network images, Lottie/Rive animations, local JSON/config, warming initial API data, or optimizing Flutter Web startup.
firebase-messaging
Use when setting up Firebase Cloud Messaging, managing permissions and tokens, handling background/foreground notification taps, or dispatching messages server-side (HTTP v1).
bloc
Use when creating a Cubit or Bloc, modeling state with sealed classes or status enums, wiring BlocBuilder/BlocListener/BlocProvider, writing bloc tests, or choosing between Cubit and Bloc.
firebase-database
Use when syncing real-time data, structuring JSON trees, reading/writing, creating listeners, enabling offline persistence, managing presence, sharding, or writing security rules.
flutter-app-architecture
Use when scaffolding a project, refactoring into layers, creating view models/repositories, configuring dependency injection, or implementing unidirectional data flow (MVVM).