mcpField
M
MCP Server + Flutter MCP Toolkit

MCP Server + Flutter MCP Toolkit

本地服务
docs.page开发工具3942 周前更新

关于 MCP Server + Flutter MCP Toolkit

flutter-mcp-toolkit 是面向 Flutter 应用的 MCP 工具包,包含 Dart MCP 服务和 Flutter 包。它让 AI Agent 检查正在运行的应用、执行点击和输入、热重载并读取日志,适合 Flutter 开发者进行闭环调试。

主要功能

  1. 01语义快照与截图,检查运行中的应用状态
  2. 02点击、滚动、输入和表单填充等交互操作
  3. 03热重载、热重启与应用日志读取
  4. 04应用在运行时注册自定义 MCP 工具与资源
  5. 05提供 fmt_* 系列工具与 CLI 命令

适用场景

  1. 01让 AI 助手在调试时检查 Flutter 界面状态并复现问题
  2. 02通过自动化脚本在 CI 中对 Flutter 应用执行操作
  3. 03将应用内的业务操作暴露为 Agent 可调用的工具

MCP 相关

该项目既是 MCP 服务,向客户端暴露 fmt_* 系列工具;Flutter 应用引入 mcp_toolkit 包后,还能在运行时注册自定义 MCP 工具与资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

flutter-mcp-toolkit

MCP Toplist

通过 AI 助手检查和操控正在运行的 Flutter 应用。

skills.sh pub: mcp_toolkit Contract Gates intentcall eval gates skill-assets-drift Docs Ask DeepWiki License: MIT Flutter smithery badge Official MCP Registry All Contributors README 配图 maintained with Skill Steward

flutter-mcp-toolkit 是一个面向 AI Agent(Codex、Zed、Cursor、Intent、Claude Code、Cline 等)的 Dart MCP 服务和 Flutter 软件包。Agent 可以检查正在运行的 Flutter 应用、获取语义快照、点击组件、在表单中输入内容、热重载以及读取日志。应用还可以通过 MCP Toolkit 在运行时注册自己的 MCP 工具和资源,整个过程无需离开对话。由此,Agent 与应用之间形成了一个闭环反馈。

更进一步:该工具包正发展为一套声明式自动化 API 链——同一套观察/操作/验证词汇贯穿交互式 MCP(fmt_*)、命令行、程序化 Dart 场景(flutter_mcp_harness),以及 oka 等声明式构建与生命周期运行器,并统一基于通用的 AutomationDriver 契约。请参阅自动化链。(OpenAI 将这一模式称为构建环境工程。)

水彩漫画信息图,介绍 flutter-mcp-toolkit:安装 fmtk、将其添加到 Flutter 应用、连接 AI Agent,然后在闭环反馈中检查、点击、重新加载并验证更改。 这张图片讲述的故事:该工具包为 AI 助手提供了一个共享窗口和控制循环,使其能够连接到正在运行的 Flutter 应用,从而检查状态、像用户一样操作、热重载、读取验证结果,并使用应用中的自定义工具,而不是靠猜测。

查看截图

4 步快速入门

# 1. Install the binary
curl -fsSL https://raw.githubusercontent.com/Arenukvern/mcp_flutter/main/install.sh | bash
# Installs flutter-mcp-toolkit plus the short fmtk alias for repeated CLI loops.

# 2. Add the toolkit to your Flutter app
cd my-flutter-app
flutter-mcp-toolkit codegen-init   # adds mcp_toolkit + emits main.dart snippet

# 3. Install skills for your AI agent
flutter-mcp-toolkit init claude-code   # or: cursor | codex | cline | agents-skills | all
# Alternative (skills only): npx skills add Arenukvern/mcp_flutter -a cursor -y

# 4. Run
flutter run --debug

就是这么简单。现在,你的 AI Agent 可以检查并操控正在运行的应用,而你的应用也可以在运行时公开自定义 MCP 工具(请参阅下文的动态工具注册)。

📰 新闻

  • 2026-10-02 — 发布 6.0.0:调用层(ADR-0017)——应用的意图注册表是唯一的操作来源;harness driver 会列出它(driver.actions()),并通过带有经过 schema 验证的参数调用它(InvokeAction);IntentAutomationAction.custom 会路由提示;任何 Web 界面(Jaspr、纯 JS)都可以通过 window.__mcpActions 组合。flutter_mcp_harness 0.2.x 已发布到 pub.dev;服务端 6.0.0 已发布到 MCP registry。

  • 2026-10-01 — 该工具包正逐步发展为一系列声明式自动化 API:通用 AutomationDriver 契约(universal_automation_*)、程序化的 flutter_mcp_harness 包,以及作为构建和生命周期运行器的 oka。新增:自动化链指南和 flutter-mcp-automation-chain 技能。

  • 2026-07-11 - v4 新增现场演示录制:使用 Grok Build CLI 演示 v4 语义快照等功能、展示 v4 的 IntentCall 能力——WebMCP 投影

  • 2026-05-26 — v3.1.0:平台视图捕获路由、macOS/iOS Simulator 主机截图、Web CDP 标签页捕获(SCK → CDP → flutter_layer),以及跨平台展示平台视图。

从市场安装

平台命令 / 链接
任意 Agent(推荐)flutter-mcp-toolkit init <agent> — 查看 AI Agent 设置
Claude Code(Git 目录)/plugin marketplace add Arenukvern/mcp_flutter 然后安装 flutter-mcp-toolkit
Codex(Git 目录)codex plugin marketplace add Arenukvern/mcp_flutter
Cursor(本地插件)flutter-mcp-toolkit init cursor
仅安装技能npx skills add Arenukvern/mcp_flutter -a <agent> -y(通过 init 或手动配置 JSON 添加 MCP)
MCP 注册表官方 MCP 注册表 — 服务 io.github.Arenukvern/flutter-mcp-toolkit(OCI 镜像:ghcr.io/arenukvern/flutter-mcp-toolkit)、Smithery、MseeP
Docker / MCP 注册表安装

官方注册表通过 GHCR 提供 OCI 镜像。将任意 MCP 客户端指向该镜像:

{
  "mcpServers": {
    "flutter-mcp-toolkit": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--network=host",
        "ghcr.io/arenukvern/flutter-mcp-toolkit:6.0.0"
      ]
    }
  }
}

有关标志、版本固定和网络说明,请参阅 Docker 指南。

向官方商店提交内容的维护者请参阅:市场提交操作手册。完整列表:市场分发。

文档

已发布的软件包

软件包Pub.dev角色
mcp_toolkitpub package pub points用于运行时 MCP 工具、资源和工具包引导的 Flutter 应用软件包。
flutter_mcp_toolkit_corepub package pub points纯 Dart 共享命令/结果/能力类型。
flutter_mcp_toolkit_capability_kernelpub package pub points用于可组合 MCP 单元的能力内核契约。
flutter_mcp_toolkit_capability_corepub package pub points服务端 fmt_* 能力实现。

服务端二进制文件位于 mcp_server_dart,并通过 GitHub Release 工件以 flutter-mcp-toolkit、fmtk 和 flutter-mcp-toolkit-server 的名称发布;它不是 pub.dev 软件包。

自动化链路

不同的界面负责生命周期中的不同环节,但它们都会通过通用的 AutomationDriver 契约(universal_automation_* 系列)驱动相同的 ext.mcp.toolkit.* 扩展:

层级界面适用场景
交互式 MCPfmt_* 工具通过聊天进行调试和验证
CLIflutter-mcp-toolkit / fmtk在脚本和 CI 中执行一次性命令
Dart 编程接口packages/harness — pub.dev 上的 flutter_mcp_harness将可重复的场景作为代码纳入版本控制
构建 + 生命周期oka声明式设备构建、自主管理的开发会话

指南:自动化链路 · 技能:flutter-mcp-automation-chain。

showcase/ 文件夹中包含端到端测试整个技术栈的示例——一个经过最小化埋点的 Flutter 应用 (showcase/flutter_demo)和一个静态网页 (showcase/web_demo)——两者都由纳入版本控制的组合根实时驱动:

make drive-flutter   # instrumented tier: ToolkitDriver over the VM service
make drive-web       # browser tier: CdpDriver over CDP (headless Chrome)

packages/harness 为 Flutter 层实现了共享契约 (ToolkitDriver), 因此,一套统一的观察/操作/验证词汇可适用于 Flutter 应用、浏览器和 操作系统原生目标——采用与 oka 相同的流水线组合风格。

开发支持

需求从这里开始
贡献代码或文档CONTRIBUTING.md · 贡献指南
添加或致谢贡献者贡献者指南 · .all-contributorsrc
报告安全漏洞SECURITY.md
验证本地更改steward probe --json --profile quick · make check-contracts
维护发布流程发布流程说明 · flutter-mcp-toolkit-repo-maintainer
安装或更新 Agent 技能AI Agent 设置 · 市场分发

功能说明

默认工具包界面在四个类别下,通过 fmt_* 能力前缀提供 31 个 MCP 工具(启用 --dumps 调试工具后为 35 个):

  • 检查 — 语义快照、视图详情、错误、屏幕截图、VM 信息
  • 交互 — 点击、滚动、输入、填写表单、热重载、导航、wait_for
  • 调试 — 最近的日志、求值 Dart 表达式
  • 生命周期 — 发现应用、热重载、热重启

完整参考请参阅 flutter-mcp-toolkit-{guide,inspect,control,debug} 技能(通过 flutter-mcp-toolkit init 或 npx skills add Arenukvern/mcp_flutter 安装)。 安装选项:AI Agent 设置。

动态工具注册

Flutter 应用可以在运行时注册自定义工具和资源。请观看这个简短的 YouTube 视频了解其工作原理。 CLI 的 exec、batch、守护进程 command/execute、守护进程 watch/start 以及快照步骤参数也支持相同的 arguments.connection 定向方式。

说明

Flutter 团队提供了官方的 Flutter MCP 服务,用于提供 Dart 工具。 本项目的主要目标是通过在 Flutter 应用中创建工具,借助动态 MCP 工具注册,为 AI Agent 带来 MCP 服务工具的强大能力,并形成紧密的反馈循环。请观看简短的 YouTube 视频了解其工作原理。更多详情请参阅快速入门。有关这一想法的最初动机,请参阅相关说明。

⚠️ 关于 Dump RPC 的说明

Dump RPC 方法(例如 dump_render_tree)可能会产生大量 Token 输出,默认处于禁用状态。使用 --dumps 启用。完整的标志说明请参阅 mcp_server_dart README。

🔒 安全

通常,由于你使用 MCP 服务连接到调试模式下的 Flutter 应用,因此应该可以安全使用。不过,我仍建议查看 ARCHITECTURE.md,了解其工作原理,以及在需要时如何修改以提升安全性。

此 MCP 服务已通过 MseeP.ai 验证。

MseeP.ai 安全评估徽章

🔧 故障排除

  1. 连接问题

    • 确保 Flutter 应用正在调试模式下运行
    • 确认 Flutter 应用和 MCP 服务中的端口一致
    • 检查端口是否未被其他进程占用
    • 最安全的显式定向方式:使用 arguments.connection.uri,并粘贴 Flutter machine 的 app.debugPort.wsUri 完整值
    • 如果响应包含 connection_selection_required,请使用 availableTargets 中的一个 URI,通过 arguments.connection.targetId 重试(或直接设置 arguments.connection.uri)
  2. AI 工具未检测到 Inspector

    • 更改配置后,重启 AI 工具
    • 确认配置 JSON 语法正确
    • 检查工具日志中是否存在连接错误
  3. 未显示动态工具

    • 确保 Flutter 应用已正确初始化 mcp_toolkit 包
    • 检查是否使用 MCPToolkitBinding.instance.addEntries() 注册了工具
    • 使用 fmt_list_client_tools_and_resources 验证注册情况
    • 添加新工具后,对 Flutter 应用执行热重载

Flutter MCP Server 已在 Smithery 注册表中注册,可通过标准化接口被其他 AI 工具发现和使用。

集成架构
┌─────────────────┐     ┌───────────────────────┐     ┌─────────────────┐
│                 │     │  Flutter App with     │     │                 │
│  Flutter App    │<--->│  mcp_toolkit          │<--->│ flutter-mcp-    │
│  (Debug Mode)   │     │  (VM Svc. Extensions  │     │ toolkit-server  │
│                 │     │  + Dynamic Tools)     │     │                 │
└─────────────────┘     └───────────────────────┘     └─────────────────┘

🤝 参与贡献

欢迎参与贡献!请参阅 CONTRIBUTING.md(维护者发布、二进制校验和)和贡献指南。拉取请求和问题反馈:GitHub。

✨ 贡献者

衷心感谢所有贡献者,让这个项目变得更好!

此名单由 all-contributors 维护。 如需添加贡献者,请更新 .all-contributorsrc 并 重新生成 README 表格,或在拉取请求中使用 all-contributors bot/CLI。 更多详情:docs/contributing/contributors.mdx。

Henry Mao
Henry Mao

🚇
Marwen
Marwen

📖
Lawrence Sinclair
Lawrence Sinclair

📖 🛡️
Frank Fiegel
Frank Fiegel

🚇
Harish Anbalagan
Harish Anbalagan

📓 🐛
Torben Keller
Torben Keller

📓 🐛
Isfun
Isfun

📓 🐛 🔬 💻
Cosy Studio
Cosy Studio

📓 🐛 🔬
Luke Memet
Luke Memet

📓 🔬 🚧 ✅
Commentatk Media
Commentatk Media

💻 🚧 📖
Umit Arslan
Umit Arslan

💻 🚧
Joel Kitching
Joel Kitching

💻 🚧
Jean-Luc Thumm
Jean-Luc Thumm

🚧
Miguel Casagrande
Miguel Casagrande

💻 🚧
drown0315
drown0315

💻 🚧 🐛
druyang
druyang

💻 🚧 🐛
dipsy
dipsy

💻 🚧 🐛
wenyue
wenyue

💻 🚧
Christophe
Christophe

📖 📦

📖 了解更多

Star 历史

Star 历史图表

📄 许可证

MIT - 欢迎在你的项目中使用!


Flutter 和 Dart 是 Google LLC 的商标。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。