π Model Context Protocol (MCP) server that connects your Flutter apps with AI coding assistants like Cursor, Claude, Cline, Windsurf, RooCode or any other AI assistant that supports MCP server
Note
There is a new experimental package in development from Flutter team which exposes Dart tooling development.
Therefore my current focus is
- to stabilize and polish tools which are useful in development (so it would be more plug & play, for example: it will return not only the errors, but prompt for AI how to work with that error) see more in MCP_RPC_DESCRIPTION.md
- fine-tune process of MCP server tools creation by making it customizable.
Hope it will be useful for you,
Have a nice day!
Now Flutter MCP server works without forwarding server and devtools extension. See more in CHANGELOG.md.
Dump RPC methods (like dump_render_tree
), may cause huge amount of tokens usage or overload context. Therefore now they are disabled by default, but can be enabled via environment variable DUMPS_SUPPORTED=true
.
See more details about environment variables in .env.example.
-
(Experimental) You can try to install MCP server and configure it using your AI Agent. Use the following prompt:
Please install MCP server using this link: https://github.com/Arenukvern/mcp_flutter/blob/main/llm_install.md
-
with Cursor: https://www.youtube.com/watch?v=pyDHaI81uts
-
with VSCode + Cline: use prompt
Please install MCP server using this link: https://github.com/Arenukvern/mcp_flutter/blob/main/llm_install.md
-
Quick Start is available in QUICK_START.md
-
Configuration options are available in CONFIGURATION.md
-
get_app_errors
[Resource|Tool] - Retrieves precise and condensed error information from your Flutter app Usage:- Uses only short description of the error. Should filter duplicate errors, to avoid flooding Agent context window with the same errors.
- Uses Error Monitor to capture Dart VM errors. All errors captured in Flutter app, and then available by request from MCP server.
Tested on: β macOS, β iOS Not tested on: π§ Android, π€ Windows, π€ Linux, β Web See issue
-
view_screenshot
[Resource|Tool] - Captures a screenshots of the running application. Configuration:- Enable with
--images
flag orIMAGES_SUPPORTED=true
environment variable - Will use PNG compression to optimize image size.
- Enable with
get_view_details
[Resource|Tool] - size of screen, pixel ratio. May unlock ability for an Agent to use widget selection.
All tools default to using port 8181 if no port is specified. You can override this by providing a specific port number.
π Please see more in MCP_RPC_DESCRIPTION
Generally, since you use MCP server to connect to Flutter app in Debug Mode, it should be safe to use. However, I still recommend to review how it works in ARCHITECTURE.md, how it can be modified to improve security if needed.
This MCP server is verified by MseeP.ai.
-
Connection Issues
- Ensure your Flutter app is running in debug mode
- Verify the port matches in both Flutter app and MCP server
- Check if the port is not being used by another process
-
AI Tool Not Detecting Inspector
- Restart the AI tool after configuration changes
- Verify the configuration JSON syntax
- Check the tool's logs for connection errors
The Flutter MCP Server is registered with Smithery's registry, making it discoverable and usable by other AI tools through a standardized interface.
βββββββββββββββββββ βββββββββββββββββββββββββ βββββββββββββββββββ
β β β Flutter App with β β β
β Flutter App β<--->β mcp_toolkit (VM Svc. β<--->β MCP Server β
β (Debug Mode) β β Extensions) β β β
β β β β β β
βββββββββββββββββββ βββββββββββββββββββββββββ βββββββββββββββββββ
Contributions are welcome! Please feel free to submit pull requests or report issues on the GitHub repository.
Huge thanks to all contributors for making this project better!
Henry Mao π |
Marwen π |
Lawrence Sinclair π π‘οΈ |
Frank Fiegel π |
Harish Anbalagan π π |
Torben Keller π π |
- Flutter DevTools Documentation
- Dart VM Service Protocol
- Flutter DevTools RPC Constants (I guess and hope they are correct:))
MIT - Feel free to use in your projects!
Flutter and Dart are trademarks of Google LLC.