用途:本技能用于验证 flutter-mcp-toolkit(短名 fmtk)的安装,运行 doctor 预检,并排查连接问题,适用于首次安装、doctor --json 出现 fail、MCP 服务器连接失败或工具返回 vm_not_connected/connect_failed,以及可视化捕获或 toolkit-bridge 报错等场景。
主要能力:验证安装(flutter-mcp-toolkit --help、fmtk --help);运行 fmtk doctor --json 做 VM 与工具包预检;按错误码(binary_not_found、vm_not_connected、connect_failed、connection_selection_required、hot_reload_failed、visual_capture_unsupported)给出恢复步骤;处理端口冲突(默认 8181,可用 flutter run --debug --host-vmservice-port=8182 覆盖);识别 debug/release 模式限制;排查未初始化 mcp_toolkit;处理多应用目标选择;以及 validate-runtime 端到端冒烟测试。doctor 输出中 criticalFailures 大于 0 表示 VM/环境阻塞,而非所有工具都坏;错误应读 error.descriptor 而非顶层字段,各检查含 fix_command 可直接执行。
使用方式:二进制未在 PATH 时可 export PATH="$PATH:/path/to/mcp_flutter/mcp_server_dart/build" 或 cd /path/to/mcp_flutter && make build。运行 fmtk doctor --json 或带目标 fmtk doctor --json --target ws://127.0.0.1:8181/<token>/ws。CLI 子命令包括 exec、batch、schema、capabilities、serve、snapshot create/diff、bundle create、permissions status/request/open-settings、validate-runtime、init <agent> 与 codegen-init。全局标志置于子命令前:--dart-vm-port、--dart-vm-host、--vm-service-uri、--log-level、--dumps。-h/--help。目标冲突时 --target 优先。init 支持 claude-code、cursor、codex、cline、agents-skills、all,模式可用 --mode mcp|cli|auto 指定。codegen-init 在 Flutter 项目根目录执行,添加依赖并输出 main.dart 样板;可用 --no-pub-add 跳过。重装可重跑 install.sh,安装脚本幂等。
适用场景:Flutter 项目首次接入 MCP、CI 或本地排障、热重启后 URI 失效、可视化捕获权限问题,以及需要按错误码快速恢复连接的日常开发。
限制:需 Flutter 应用以 --debug 运行才能暴露 VM service,release/profile 不可用;macOS 可视化捕获需授予屏幕录制权限;添加 mcp_toolkit 后需热重启而非热重载;不提供通用 MCP run_tool,MCP 保持类型化的 fmt_* 工具面;可复用流程应升级为 flutter_harness 场景而非新增工具包专用场景语言。其余事实暂未提供。