flutterflow-mcp 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -140,25 +140,55 @@ Ask your AI assistant to list your FlutterFlow projects, inspect pages, or explo
|
|
|
140
140
|
- *"What API endpoints are configured?"*
|
|
141
141
|
- *"Show me the theme colors"*
|
|
142
142
|
|
|
143
|
-
##
|
|
143
|
+
## How It Works Under the Hood
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
This MCP is designed to make AI agents as effective as possible when working with FlutterFlow. Here's what makes it work well:
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
### Smart Local Caching
|
|
148
148
|
|
|
149
|
-
|
|
150
|
-
- **Review before pushing** — Ask your AI assistant to show you the exact YAML changes before they are pushed. Understand what will change.
|
|
151
|
-
- **FlutterFlow has no undo for API changes** — Changes pushed through the API are applied immediately. There is no built-in undo button for API-pushed edits. You can revert using FlutterFlow's version history, but it's better to prevent bad edits than to fix them.
|
|
152
|
-
- **Start with read-only exploration** — Get comfortable using the read tools (`get_page_summary`, `find_component_usages`, etc.) before attempting edits.
|
|
153
|
-
- **Node-level edits are safer** — Edit individual widgets via node-level file keys instead of replacing entire page YAML. This reduces the blast radius of mistakes.
|
|
149
|
+
Instead of hitting the FlutterFlow API for every question, the MCP downloads your entire project once (`sync_project`) and caches it locally. After that, most tools read from the cache — making them **instant and free of API rate limits**. If you've made changes in FlutterFlow, just re-sync to refresh the cache.
|
|
154
150
|
|
|
155
|
-
###
|
|
151
|
+
### Built-in Documentation
|
|
156
152
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
153
|
+
AI models don't natively understand FlutterFlow's internal structure. This MCP ships with **21 reference documents** covering every widget type, action, variable, theme setting, and editing pattern. The AI can look up exactly how a Button, Column, or Navigation action is structured — so it doesn't have to guess.
|
|
154
|
+
|
|
155
|
+
### Guided Editing Workflow
|
|
156
|
+
|
|
157
|
+
Before making any change, the AI can call `get_editing_guide` with a plain-English description of what it wants to do (e.g., *"change the button color on the login page"*). The MCP returns the exact steps, relevant documentation, and rules to follow — reducing the chance of mistakes.
|
|
158
|
+
|
|
159
|
+
### 25 Purpose-Built Tools
|
|
160
|
+
|
|
161
|
+
Rather than one generic "read project" tool, the MCP provides **25 specialized tools** — each designed for a specific task. Want to know where a component is used? There's a dedicated tool for that. Want to see all navigation actions pointing to a page? There's one for that too. This means the AI always picks the right tool for the job instead of downloading everything and searching through it.
|
|
162
|
+
|
|
163
|
+
## Limitations and Cautions
|
|
164
|
+
|
|
165
|
+
### Be Careful with Edits
|
|
166
|
+
|
|
167
|
+
This MCP can make changes to your FlutterFlow project, but **edits should be treated with care**:
|
|
168
|
+
|
|
169
|
+
- **Always review before pushing** — Ask your AI assistant to show you exactly what it plans to change before it pushes anything. Make sure you understand the change.
|
|
170
|
+
- **There's no undo button for API changes** — Changes are applied immediately to your project. You can roll back using FlutterFlow's version history, but it's better to prevent a bad edit than to fix one.
|
|
171
|
+
- **Start with read-only tasks** — Get comfortable asking questions about your project (page summaries, component usage, theme inspection) before asking the AI to modify anything.
|
|
172
|
+
- **Smaller edits are safer** — Editing a single widget is safer than replacing an entire page. The AI knows to make targeted changes, but it's good to be aware.
|
|
173
|
+
|
|
174
|
+
### What the FlutterFlow API Can't Do
|
|
175
|
+
|
|
176
|
+
These are limitations in FlutterFlow's own API. They affect any tool that connects to FlutterFlow, not just this MCP.
|
|
177
|
+
|
|
178
|
+
- **Custom code can be read but not edited** — The AI can read your custom actions, custom functions, and custom widgets, but it **cannot push code changes** back to FlutterFlow. The API doesn't support it properly — attempting to push code corrupts the FlutterFlow editor. Instead, the AI will show you the modified code and you copy-paste it into the FlutterFlow code editor.
|
|
179
|
+
- **Unlocked `main.dart` can't be updated** — If you've unlocked `main.dart` for raw Dart editing, the AI can read it but can't push code changes. Startup/shutdown action lists can still be modified.
|
|
180
|
+
- **Platform config files are indirect** — You can't directly edit `AndroidManifest.xml`, `Info.plist`, or `build.gradle`. Instead, you configure hooks and settings in FlutterFlow, which generates those files for you. The AI can read and modify those hooks.
|
|
181
|
+
- **Editing platform config files requires extra care** — FlutterFlow groups all platform config files together internally. If the AI pushes a change to just one (e.g., Android Manifest), FlutterFlow may delete the others (e.g., ProGuard rules, Gradle config). The MCP handles this by always including all existing files in the same push, but it's something to be aware of.
|
|
182
|
+
- **Disabling conditional actions works differently** — In the FlutterFlow editor, you can toggle a conditional action on/off with a switch. The API handles this slightly differently, so the AI uses a workaround that achieves the same result.
|
|
183
|
+
- **Validation isn't perfect** — The validation step catches most errors, but occasionally something that passes validation can still fail when pushed. This is rare, but it's why reviewing changes before pushing is important.
|
|
184
|
+
|
|
185
|
+
### General Limitations
|
|
186
|
+
|
|
187
|
+
- **No live sync** — The MCP works with a snapshot of your project. It doesn't watch for changes you make in the FlutterFlow editor in real time. If you've been editing in FlutterFlow, re-sync before asking the AI to make changes.
|
|
188
|
+
- **Very large pages** — Some extremely large pages may fail to load. The AI can work around this by loading individual widgets instead of the whole page.
|
|
189
|
+
- **Cache can go stale** — If you edit your project in FlutterFlow after syncing, the AI's local copy is outdated. Re-run the sync (the AI will tell you when it detects stale data).
|
|
190
|
+
|
|
191
|
+
> For the full technical details on each API limitation, see [`docs/flutterflow-api-limitations.md`](docs/flutterflow-api-limitations.md).
|
|
162
192
|
|
|
163
193
|
## Tools
|
|
164
194
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flutterflow-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "MCP server for the FlutterFlow Project API — AI-assisted FlutterFlow development through Claude and other MCP-compatible clients",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|