flutter-mcp-toolkit

An MCP server and package for Flutter: the agent sees the running app, taps widgets, types text, hot-reloads and reads logs

  • 397 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The agent taps widgets, types text and evaluates Dart expressions in the running app, so connect it only to a debug build
  • The binary is installed by a script downloaded from GitHub and run in the shell
All reasons and checks

arenukvern/mcp_flutter

Install

Manual install

curl -fsSL https://raw.githubusercontent.com/Arenukvern/mcp_flutter/main/install.sh | bash

Installs the flutter-mcp-toolkit binary and the short name fmtk. Then in the project run flutter-mcp-toolkit codegen-init and flutter-mcp-toolkit init with the agent name.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent taps widgets, types text and evaluates Dart expressions in the running app, so connect it only to a debug build
  • The binary is installed by a script downloaded from GitHub and run in the shell

This is third-party code. Review the repository files before installing.

What it does

flutter-mcp-toolkit closes the loop between an agent and a running Flutter app. A Dart server connects to the app in debug mode, and the agent captures its state, taps widgets, scrolls, fills in forms, hot-reloads code and reads the log without leaving the conversation. The default surface has 31 tools with the `fmt_` prefix, and 35 with the `--dumps` flag. They fall into inspection (semantic snapshot, tree details, errors, screenshots, VM data), interaction (tap, scroll, type, fill forms, navigate, wait), debugging (the log and evaluating Dart expressions) and lifecycle (finding running apps, hot reload, hot restart). Heavy render tree dumps are off by default because they produce huge output. The app can register its own MCP tools and resources at runtime through the mcp_toolkit package, so the agent gets commands that know your project's structure. The same capabilities are available from the command line as `flutter-mcp-toolkit` and the short name `fmtk`, and the flutter_mcp_harness package covers repeatable scenarios written in Dart.

Who it is for. For Flutter developers who want the agent to run the app, walk through screens, verify a change and read errors instead of guessing from source code.

Good fit when

  • An agent edits a Flutter screen and you want it to open the app, press a button and show the result in a screenshot
  • You are hunting for the cause of an error: the agent reads the log and errors of the running app and matches them against the code
  • A sign-up form has to be walked through step by step, typing text and moving between screens, with no manual checking
  • The app needs its own commands for the agent, such as resetting test data, which it registers at runtime
  • UI checks must run in scripts and CI from the command line, not only in a conversation

Not a fit when

  • You only need Dart tooling such as analysis, formatting and running tests: the Flutter team has an official server for that, which the author links to
  • The app is not running in debug mode: the server works through the debug services and cannot connect without them
  • You want to test with real users in production: the tool is built for debug builds
  • The task has nothing to do with Flutter: the server is tuned to its widget tree and the Dart virtual machine

Example request

Run the app in debug mode, open the sign-in screen, type a test email, press Sign in and show a screenshot with the error if one appears.

MCP

Transport
stdio
Authentication
not required

Limitations

The app must run in debug mode: a release build will not accept the server's connection. The connection needs the debug services port. When several apps are running, the server may answer with the code connection_selection_required, and then the request must name a target by address or ID. The author's most reliable advice is to pass the exact WebSocket address from Flutter's machine output.

Render tree dumps are off by default and turned on with the `--dumps` flag: the output is huge and spends many tokens. The server binary is installed from GitHub releases, and pub.dev holds only the packages for the app itself. The README badge gives Flutter 3.44 as the minimum version. Availability from Russia does not depend on third-party services, but the install script is downloaded from GitHub.

How to disable. Remove the flutter-mcp-toolkit server from the MCP client configuration and restart the client. In the app, delete the mcp_toolkit dependency and the initialization call that codegen-init added. Skills are removed from the agent's skills directory.

FAQ

How do I install flutter-mcp-toolkit in Claude Code?

Either add the plugin catalog with /plugin marketplace add Arenukvern/mcp_flutter and install flutter-mcp-toolkit, or install the binary with the install script and run flutter-mcp-toolkit init claude-code. The second command registers the server and skills for you.

What do I add to the Flutter app itself?

The mcp_toolkit package. The command flutter-mcp-toolkit codegen-init adds it to the project and prints a snippet for main.dart. After that, run the app with flutter run --debug.

How does flutter-mcp-toolkit differ from the official Flutter MCP server?

The Flutter team's official server exposes Dart tooling. This project drives the running app itself: it captures semantic state, taps widgets, types text, and also lets the app register its own MCP tools at runtime.

How do I run the server in Docker?

In the MCP configuration give the docker command with the arguments run, -i, --rm, --network=host and the image ghcr.io/arenukvern/flutter-mcp-toolkit at the version you want. The image is listed in the official MCP registry.

Can I use it without MCP, from the command line?

Yes. The same set of actions is available through flutter-mcp-toolkit and the short name fmtk, for example for one-off commands in scripts and CI. For repeatable scenarios the author offers the flutter_mcp_harness package.

Discussion

No questions or reviews yet.

Official

The Flutter team's agent plugin: Flutter and Dart skills, the Dart MCP server and a hot reload rule for Claude Code, Cursor and Codex

PluginExtended access3.2KRepository stars
Official

Buoy MCP lets an agent read a running React Native or Flutter app, tap its screen and inspect the network

MCP serverBroad access696Repository stars

Mobile Device MCP controls iOS and Android: taps, typing, screenshots and the element tree, with several devices at once

MCP serverBroad access53Repository stars

An MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots

MCP serverBroad access10.5KRepository stars
Official

An MCP server exposes Android screens, element search, taps, input and screenshots to agents testing authorized applications.

MCP serverBroad access525Repository stars
Official

An Android debugging app for macOS with an MCP server: an agent reads Reactotron data from React Native on localhost

MCP serverExtended access64Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
flutter-mcp-toolkit (this card)nonot required397
Marionette MCP: an agent inside a Flutter appnonot required503also drives a running Flutter app, but without tools the app registers itself
Flutter Agent Pluginsyes3,172the Flutter team's plugin with Dart skills and the Dart tooling server

README in short

The README walks through four steps: installing the binary, adding the package to the app, installing skills for the agent and running. It then describes the chain of automation tiers, from interactive MCP to Dart scenarios and the oka build runner, and the showcase folder with two demo apps that test the whole stack. The news section records release 6.0.0 of October 2, 2026.

README badge

Report a problem