flutter_copilot_mcp 1.0.6
flutter_copilot_mcp: ^1.0.6 copied to clipboard
MCP server for AI agents to inspect and control running Flutter apps through VM Service and Flutter Copilot.
Changelog #
1.0.6 #
Shared release with flutter_copilot_claw. The MCP server itself is unchanged; this version bump ships to keep flutter_copilot_claw and flutter_copilot_mcp aligned (they share a single version line via tool/version.dart).
Breaking changes (flutter_copilot_claw) #
FlutterCopilotBinding.ensureInitialized()now returnsvoidinstead ofFlutterCopilotBinding. Callers that ignored the return value (the common pattern) need no change.FlutterCopilotBinding.runAppWithConfig(...)has been removed. Use the newcaptureLogs+runApppattern (seeflutter_copilot_claw1.0.6 release notes).
New API (flutter_copilot_claw) #
FlutterCopilotBinding.captureLogs<R>(R Function() body, {void Function(Object, StackTrace)? onError})— independentrunZonedGuardedwrapper that forwardsprint()and uncaught async errors intoget_logs.ensureInitialized(),captureLogs(...), andaddLog(...)all short-circuit to no-ops in release builds, so the samemain()is safe to ship withoutkDebugModebranching.
Migration #
// Before
void main() => FlutterCopilotBinding.runAppWithConfig(const MyApp());
// After — single path, release-safe
void main() {
FlutterCopilotBinding.captureLogs(() async {
FlutterCopilotBinding.ensureInitialized();
runApp(const MyApp());
});
}
1.0.5 #
Bug fixes (flutter_copilot_claw) #
flutter_copilot.longPress: fixTypeError: 'String' is not a subtype of 'num?'when a caller suppliesduration. VM service extension params arrive asMap<String, String>; the previousas num?cast always threw for non-null values. Now uses the existing_parseDoublehelper, matchingdrag/swipe/distancehandling.flutter_copilot.navigate: fixargumentsbeing silently dropped. The nested map arrives as a JSON string via the VM service extension transport, so theparams['arguments'] is Map<String, dynamic>check was always false. Now decodes the JSON string via a new_parseArgumentshelper that accepts both direct maps and JSON-encoded strings.
Tooling (workspace) #
- Add
flutter_copilot_cli(npm,fcc) as a third published package alongsideflutter_copilot_clawandflutter_copilot_mcp. All three share one version line managed by the new unifiedtool/version.dart(which replaces the oldtool/generate_version.dart+tool/bump_version.sh). - New publish orchestrator
tool/publish.shsupports single-package or one-shot three-package releases via--cli / --mcp / --claw / --allplus--version X.Y.Zto bump first.
Tests (flutter_copilot_mcp) #
- Add integration regression tests for
VmServiceConnector.longPress/navigatethat assertdurationandargumentscross the JSON-RPC wire, and are omitted when the caller passes null. Uses a mock WebSocket VM service so the tests run without a real Flutter app.
1.0.3 #
- Add demo preview assets and updated release documentation for the published packages.
- Showcase the demo flow with GIF preview and video links in the repository and package docs.
- MCP tools: connect, disconnect, get_interactive_elements, tap, enter_text, scroll_to, get_logs, get_rebuild_snapshot, take_screenshots, hot_reload, flutter_copilot_drag, swipe, long_press, double_tap, navigate.
1.0.2 #
- Update pub.dev metadata, topics, and package descriptions for discoverability.
- MCP tools: connect, disconnect, get_interactive_elements, tap, enter_text, scroll_to, get_logs, get_rebuild_snapshot, take_screenshots, hot_reload, flutter_copilot_drag, swipe, long_press, double_tap, navigate.
1.0.0 #
- Initial stable release.
- MCP server for Flutter app interaction via VM service.
- Tools: connect, tap, enter_text, scroll_to, drag, swipe, long_press, double_tap.
- Tools: get_interactive_elements, take_screenshots, get_logs, hot_reload.
- Tools: get_rebuild_snapshot, navigate.
- VM service connector with auto-reconnect support.