SuperAPI AI 工具集

flutter-mcp-automation-chain

编程与开发

查看项目

更新于 10-19 17:36

技能介绍

用途

这个技能用于为 Flutter 应用接入自动化能力,并把多个自动化入口组织成一条链,而不是让它们彼此竞争。应用通过 mcp_toolkit 注册 ext.mcp.toolkit.* 服务扩展;交互式 MCP 的 fmt_* 工具、CLI(flutter-mcp-toolkit / fmtk)、动态应用工具和 flutter_mcp_harness 等入口,都遵循同一个 AutomationDriver 契约来驱动这些扩展,形成“观察 → 动作 → 验证”的统一语法。

主要能力与入口选择

文档按需求列出可用入口:

  • 聊天驱动调试(例如询问“点击 X 后发生了什么变化”)使用 MCP fmt_* 工具。
  • 脚本或 CI 一次性命令(快照、exec、批量操作)使用 CLI(flutter-mcp-toolkit / fmtk)。
  • 可重复、可提交为 Dart 代码、带 CI 退出码的场景使用 flutter_mcp_harness。
  • Android/iOS 设备的构建、安装、启动与进程生命周期使用 oka(独立仓库)。
  • 浏览器层(Web 演示、WebMCP)使用基于 CDP 的 CdpDriver。
  • 需要按意图进行驱动路由而不硬编码传输方式时,使用 IntentDriverRouter 与 intentcall 提示(MCP _meta 上的 IntentAutomationHint)。

使用方式(据文档示例)

交互式 MCP 的首个循环:

curl -fsSL https://raw.githubusercontent.com/Arenukvern/mcp_flutter/main/install.sh | bash
cd my-flutter-app
flutter-mcp-toolkit codegen-init        # adds mcp_toolkit + emits main.dart snippet
flutter-mcp-toolkit init claude-code    # or: cursor | codex | cline | all
flutter run --debug

以 Dart 拥有生命周期的第二个循环:

# pubspec.yaml (hosted package)
dependencies:
  flutter_mcp_harness: ^0.1.0
final app = await MacosAppTarget(projectDir: '.', binaryPath: binary).launch();
final driver = ToolkitDriver(await app.vm());
final ref = await driver.findRef('login');      // snapshot refs are stable ids
// …perform click/type, re-snapshot, read values…
await app.stop();                                // scenarios stop what they started

设备构建与生命周期(oka,独立仓库,需 dart pub global activate oka):

oka init            # scaffolds tool/oka_pipeline.dart — project-owned targets
oka build apk       # no-Gradle Android pipeline, cached artifacts
oka run device      # install → launch → failure-signature scan
oka dev             # owning dev session; agents: oka dev --watch --json (JSON events + stdin control)

oka 拥有会话时,MCP fmt_* 工具照常 attach;服务器读取 .flutter_mcp/runner-session.json,并将重载/重启委派给运行器(ADR-0014 spec v2)。

适用场景

聊天驱动的交互调试;CI 中的快照、exec、批量命令;可提交到仓库、带退出码的端到端场景;桌面/Android/iOS/Chrome 等目标的应用启动与停止;浏览器层自动化;以及通过 intent 提示实现的声明式自动化路由。

限制与边界

  • 每个应用最多一个拥有所有权的 attach 会话;观察者(MCP 工具、harness 驱动)不得另起一个可编译的 attach。
  • 工具包从不导入运行器;运行器身份来自发现文件,而非代码。
  • 这里不提供声明式 YAML 场景;组合根位于消费项目代码中。
  • 新的工具包动词先在 mcp_toolkit 落地,harness 扩展再镜像该列表。
  • 文档未提供价格、收费、具体平台覆盖范围等更多细节。