MCP server for Dart VM and Flutter
🔍 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 official MCP Server for Flutter from Flutter team which exposes Dart tooling.
The main goal of this project is to bring power of MCP server tools by creating them in Flutter app, using dynamic MCP tools registration . See how it works in short YouTube video. See Quick Start for more details. See original motivation behind the idea.
Also, secondary goal is to stabilize and polish tools which are useful in development (so it would be specifically targeted for AI Assistants, 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
Please share your feedback, ideas and suggestions in issues!
Hope it will be useful for you,
Have a nice day!
New Features:
Added --await-dnd
flag to wait until DND connection is established. By default --no-await-dnd
will be applied.
There will be 5 seconds timeout for DND connection and then server will start without DND connection.
This is workaround for MCP Clients which don't support tools updates. Important: some clients doesn't support it. Use with caution. (disable for Windsurf, works with Cursor)
Major Changes in v2.2.0:
mcp_server_dart
is the main server.See more details 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 --dumps
flag.
See more details about command line options in mcp_server_dart README.
(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:
Tested on: ✅ macOS, ✅ iOS Not tested on: 🚧 Android, 🤔 Windows, 🤔 Linux, ❌ Web See issue
view_screenshot
[Resource|Tool] - Captures screenshots of the running application.
Configuration:
--images
flagget_view_details
[Resource|Tool] - size of screen, pixel ratio. May unlock ability for an Agent to use widget selection. Will return details about each view in the app.
Dynamic Registration Features:
Flutter apps can now register custom tools and resources at runtime. See how it works in short YouTube video. See Dynamic Tools Registration Docs for more details.
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
AI Tool Not Detecting Inspector
Dynamic Tools Not Appearing
mcp_toolkit
package is properly initialized in your Flutter appMCPToolkitBinding.instance.addEntries()
listClientToolsAndResources
to verify registrationThe 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 Dart │
│ (Debug Mode) │ │ Extensions + Dynamic │ │ │
│ │ │ Tool Registration) │ │ │
└─────────────────┘ └───────────────────────┘ └─────────────────┘
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!
MIT - Feel free to use in your projects!
Flutter and Dart are trademarks of Google LLC.
No configuration available
This service may require manual configuration, please check the details on the left
Related projects feature coming soon
Will recommend related projects based on sub-categories