ultra_flutter

In-app Flutter binding mixin for the flutter-ultra-mcp Claude Code plugin.

Exposes ext.flutter.ultra.* VM service extensions (gesture dispatch, screenshot, widget inspection, screencast, log collection) that the plugin's MCP servers consume. Composable with Sentry and other WidgetsFlutterBinding subclasses via the mixin form.

Usage

import 'package:flutter/foundation.dart';
import 'package:ultra_flutter/ultra_flutter.dart';

void main() {
  if (!kReleaseMode) {
    UltraFlutterBinding.ensureInitialized();
  } else {
    WidgetsFlutterBinding.ensureInitialized();
  }
  runApp(const MyApp());
}

With Sentry

class AppBinding extends WidgetsFlutterBinding
    with SentryWidgetsBindingMixin, UltraFlutterBinding {}

void main() async {
  if (!kReleaseMode) {
    AppBinding();
  } else {
    WidgetsFlutterBinding.ensureInitialized();
  }
  await SentryFlutter.init((options) { /* ... */ });
  runApp(const MyApp());
}

Registered extensions

Extension Purpose
ultra.tap Tap element by key, text, or type
ultra.doubleTap Double-tap gesture
ultra.longPress Long-press gesture
ultra.enterText Enter text into a field
ultra.clearText Clear a text field
ultra.swipe Swipe/drag gesture
ultra.pinchZoom Pinch zoom gesture
ultra.scrollTo Scroll until element is visible
ultra.interactiveElements Discover tappable elements
ultra.takeScreenshots Multi-view screenshot capture
ultra.startScreencast / ultra.stopScreencast Live frame streaming
ultra.getLogs Structured log collection
ultra.pressBackButton Back navigation
ultra.getVersion Binding version

License

Apache-2.0 - see LICENSE.

Libraries

ultra_flutter
In-app Flutter binding mixin that exposes ext.flutter.ultra.* VM service extensions used by the flutter-ultra-mcp Claude Code plugin (gesture, screenshot, inspector, screencast, log collection).