flutter_agent_lens 1.6.0
flutter_agent_lens: ^1.6.0 copied to clipboard
Agent-first MCP server to debug, profile, and optimize running Flutter apps.
1.6.0 #
Changed #
- Grouped 41 granular tools into 21 action-based composite tools to reduce context token usage.
- Enabled dynamic tool registration, showing debugging tools only after establishing a connection.
- Replaced individual format parameters with a server-wide response format configuration.
Added #
- Added response limit and list size configurations (
limitandtopN) for memory, profiling, and network logs. - Added tool annotations (
readOnlyHint,destructiveHint,idempotentHint) to tool schemas.
1.5.5 #
- Replaced flaky HTTP capture stream listeners with VM Service snapshot diffing, resolving silent failures and returning 0 requests on Android/AOT runtimes.
- Added platform compatibility safety checks and fallback parsing logic for differing VM Service versions.
1.5.4 #
- Resolved memory leaks and background process accumulation when disconnecting from debug sessions.
- Lowered memory consumption during long debugging sessions by adding caps to path-resolution caches.
- Standardized tool arguments and connection schemas for more reliable tool actions (like screenshots, breakpoints, and widget trees).
- Improved port and process scanning reliability on Windows, Mac, and Linux environments.
1.5.3 #
- Filtered out system isolates when connecting to the VM service to avoid selecting non-user code.
- Implemented automatic recovery and retry logic when encountering sentinel or collected isolate ID errors.
1.5.2 #
- Deprecated and removed the redundant
dualformat option across all tools to optimize token usage.
1.5.1 #
- Split the monolithic server file into 12 separate class mixins for better maintainability.
- Consolidated the tool list in the README file.
1.5.0 #
- Subscribed to
onServiceEventbefore callingstreamListen(EventStreams.kService)inconnection_handlers.dartto resolve a VM service discovery race condition. - Routed
handleHotReloadandhandleHotRestartthrough DTD service calls if DTD is active, VM service callbacks (s1.reloadSourceswithisolateIdands1.hotRestart) if available, or isolate-level extensions as a fallback. - Added dependency on
dtdpackage to support direct Dart Tooling Daemon communication.
1.4.1 #
- Refactored and optimized internal MCP tool handlers for widget tracking, memory diffing, and network capturing.
- Parameterized location map parsers (
_parseLocationsMapand_parseNewLocationsMap) to remove local duplicates and share code across rebuild tracking handlers. - Standardized class allocation diff tables and sorted delta logic into shared helpers in
memory_handlers.dart. - Converted local size formatting (
formatSize) innetwork_handlers.dartandmemory_handlers.dartto a library-wide unified_formatByteshelper onFlutterAgentLensServer. - Consolidated rebuild tracking availability checks under
_isTrackRebuildSupported().
1.4.0 #
- Added a
formatparameter (markdown,json,dual) to verbose tools so clients can drop JSON and base64 payloads when they're not needed. get_cpu_profilenow filters out functions with 0 ticks before returning results, cutting payload size by ~99% on typical profiles.- Added
includeRawNodetoinspect_widgetandincludeRawResponsetoget_object_referrersandstop_network_capture. Both default to false, skipping large raw VM payloads unless requested. diff_heap_allocationsnow returns only the top 50 classes with allocation changes instead of the full list.stop_tracking_rebuildsandget_widget_rebuild_countscap rebuild lists to the top N active widgets.- Added
includeExtensionstoget_app_info(defaults to false). Omits the 60+ registered Flutter service extensions, saving ~3-4 KB per call. - Removed decorative separators (
===,---), markdown headings (###,**bold**), backtick wrapping, and column-alignment padding (.padLeft(),.padRight()) from all tool response output paths. Plain text labels replace them throughout. - Migrated
compare_snapshotsto the_serializeDualFormatpath, addingformatparameter support and structured JSON output. - All tool response sizes reduced by 15-40% with no semantic information removed.
1.3.0 #
- Added stateful tracking tools:
start_tracking_rebuilds/stop_tracking_rebuilds,start_profiling/stop_profiling, andstart_network_capture/stop_network_capture. - Added the
get_memory_snapshottool to list active class allocations. - Added connection warnings when a Dart Tooling Daemon (DTD) URI is passed to
connect. - Fixed hot reload and hot restart hangs by dynamically checking service namespaces.
- Fixed isolate ID and library cache clearing after a hot restart.
1.2.0 #
- Added
take_screenshottool to capture native or Skia device screenshots, with automatic fallback to native captures when Impeller is active. - Added
hot_restarttool to trigger application state resets, with improved diagnostic messages when running without a host connection. - Added
get_widget_treetool to recursively retrieve the active widget tree with local project widget filtering. - Added memory snapshot tools (
save_snapshot,compare_snapshots,list_snapshots) to cache and calculate class allocation differences.
1.1.0 #
- Added the
compare_layout_screenshotstool to capture, verify, and highlight visual differences in layout screens. - Added parameters to select the capture type (
deviceorskia) and specify target devices.
1.0.0 #
- Initial version.