Flutter Inspector MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (debug, info, notice, warning, error, critical, alert, emergency) | critical |
| DART_VM_HOST | No | Dart VM server observablity host | localhost |
| DART_VM_PORT | No | Server port | 8181 |
| MCP_SERVER_HOST | No | This server host | localhost |
| MCP_SERVER_PORT | No | This server port | 3535 |
| FORWARDING_SERVER_HOST | No | Forwarding server host to connect Flutter Devtools Extension with MCP Server | localhost |
| FORWARDING_SERVER_PORT | No | Forwarding server port to connect Flutter Devtools Extension with MCP Server | 8143 |
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_active_portsA | Utility: Get list of ports where Flutter/Dart processes are listening. This is a local utility, not a Flutter RPC method. |
| get_supported_protocolsB | Utility: Get supported protocols from a Flutter app. This is a VM service method, not a Flutter RPC. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| get_vm_infoB | Utility: Get VM information from a Flutter app. This is a VM service method, not a Flutter RPC. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| get_extension_rpcsB | Utility: List all available extension RPCs in the Flutter app. This is a helper tool for discovering available methods. |
| debug_dump_render_treeB | RPC: Dump the render tree (ext.flutter.debugDumpRenderTree). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| debug_dump_layer_treeB | RPC: Dump the layer tree (ext.flutter.debugDumpLayerTree). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| debug_dump_semantics_treeA | RPC: Dump the semantics tree (ext.flutter.debugDumpSemanticsTreeInTraversalOrder). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| debug_dump_semantics_tree_inverseC | RPC: Dump the semantics tree in inverse hit test order (ext.flutter.debugDumpSemanticsTreeInInverseHitTestOrder) |
| debug_paint_baselines_enabledB | RPC: Toggle baseline paint debugging (ext.flutter.debugPaintBaselinesEnabled). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| debug_dump_focus_treeB | RPC: Dump the focus tree (ext.flutter.debugDumpFocusTree) |
| debug_disable_physical_shape_layersC | RPC: Toggle physical shape layers debugging (ext.flutter.debugDisablePhysicalShapeLayers) |
| debug_disable_opacity_layersB | RPC: Toggle opacity layers debugging (ext.flutter.debugDisableOpacityLayers). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_screenshotA | RPC: Take a screenshot of the Flutter app (ext.flutter.inspector.screenshot). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_get_layout_explorer_nodeB | RPC: Get layout explorer information for a widget (ext.flutter.inspector.getLayoutExplorerNode). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_track_rebuild_dirty_widgetsB | RPC: Track widget rebuilds to identify performance issues (ext.flutter.inspector.trackRebuildDirtyWidgets). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_set_selection_by_idC | RPC: Set the selected widget by ID (ext.flutter.inspector.setSelectionById). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_get_parent_chainB | RPC: Get the parent chain for a widget (ext.flutter.inspector.getParentChain). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_get_children_summary_treeB | RPC: Get the children summary tree for a widget (ext.flutter.inspector.getChildrenSummaryTree). Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_get_children_details_subtreeC | RPC: Get the children details subtree for a widget (ext.flutter.inspector.getChildrenDetailsSubtree) |
| inspector_get_root_widget_summary_treeC | RPC: Get the root widget summary tree (ext.flutter.inspector.getRootWidgetSummaryTree) |
| inspector_get_root_widget_summary_tree_with_previewsC | RPC: Get the root widget summary tree with previews from the Flutter app. This provides a hierarchical view of the widget tree with preview information. |
| inspector_get_details_subtreeB | RPC: Get the details subtree for a widget. This provides detailed information about the widget and its descendants. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_get_selected_widgetB | RPC: Get information about the currently selected widget in the Flutter app. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_get_selected_summary_widgetB | RPC: Get summary information about the currently selected widget in the Flutter app. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| inspector_is_widget_creation_trackedB | RPC: Check if widget creation tracking is enabled in the Flutter app. |
| dart_io_socket_profiling_enabledB | RPC: Enable or disable socket profiling. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| dart_io_http_enable_timeline_loggingB | RPC: Enable or disable HTTP timeline logging. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| dart_io_get_versionC | RPC: Get Flutter version information (ext.dart.io.getVersion) |
| dart_io_get_open_filesC | RPC: Get list of currently open files in the Flutter app |
| dart_io_get_open_file_by_idC | RPC: Get details of a specific open file by its ID |
| stream_listenA | RPC: Subscribe to a Flutter event stream. This is a VM service method for event monitoring. Connects to the default Flutter debug port (8181) unless specified otherwise. |
| dart_io_get_http_profile_requestC | RPC: Get details of a specific HTTP request from the profile |
| flutter_core_invert_oversized_imagesB | RPC: Toggle inverting of oversized images for debugging |
| debug_allow_bannerC | RPC: Toggle the debug banner in the Flutter app |
| flutter_core_did_send_first_frame_eventC | RPC: Check if the first frame event has been sent |
| flutter_core_did_send_first_frame_rasterized_eventC | RPC: Check if the first frame has been rasterized |
| flutter_core_platform_overrideC | RPC: Override the platform for the Flutter app |
| flutter_core_brightness_overrideC | RPC: Override the brightness for the Flutter app |
| flutter_core_time_dilationB | RPC: Set the time dilation factor for animations in the Flutter app |
| flutter_core_evictC | RPC: Evict an asset from the Flutter app's cache |
| flutter_core_profile_platform_channelsB | RPC: Enable or disable profiling of platform channels |
| debug_disable_clip_layersC | RPC: Toggle disabling of clip layers in the Flutter app |
| debug_disable_physical_shape_layersC | RPC: Toggle physical shape layers debugging (ext.flutter.debugDisablePhysicalShapeLayers) |
| debug_disable_opacity_layersB | RPC: Toggle opacity layers debugging (ext.flutter.debugDisableOpacityLayers) |
| repaint_rainbow | RPC: Toggle repaint rainbow debugging (ext.flutter.repaintRainbow) |
| inspector_structured_errors | RPC: Enable or disable structured error reporting in the Flutter app. |
| inspector_show | RPC: Show specific widget details in the Flutter app inspector. |
| inspector_widget_location_id_map | RPC: Get a mapping of widget IDs to their source code locations (ext.flutter.inspector.widgetLocationIdMap) |
| inspector_track_repaint_widgets | RPC: Track widget repaints to identify rendering performance issues (ext.flutter.inspector.trackRepaintWidgets) |
| inspector_dispose_all_groups | RPC: Dispose all inspector groups to free up memory (ext.flutter.inspector.disposeAllGroups) |
| inspector_dispose_group | RPC: Dispose a specific inspector group to free up memory (ext.flutter.inspector.disposeGroup) |
| inspector_is_widget_tree_ready | RPC: Check if the widget tree is ready for inspection (ext.flutter.inspector.isWidgetTreeReady) |
| inspector_dispose_id | RPC: Dispose a specific widget ID to free up memory (ext.flutter.inspector.disposeId) |
| inspector_set_pub_root_directories | RPC: Set the root directories for pub packages (ext.flutter.inspector.setPubRootDirectories) |
| inspector_add_pub_root_directories | RPC: Add additional root directories for pub packages (ext.flutter.inspector.addPubRootDirectories) |
| inspector_remove_pub_root_directories | RPC: Remove root directories from pub packages (ext.flutter.inspector.removePubRootDirectories) |
| inspector_get_pub_root_directories | RPC: Get the list of root directories for pub packages (ext.flutter.inspector.getPubRootDirectories) |
| layout_set_flex_fit | RPC: Set the flex fit property of a flex child widget (ext.flutter.inspector.setFlexFit) |
| layout_set_flex_factor | RPC: Set the flex factor of a flex child widget (ext.flutter.inspector.setFlexFactor) |
| layout_set_flex_properties | RPC: Set multiple flex properties of a flex child widget (ext.flutter.inspector.setFlexProperties) |
| performance_profile_render_object_paints | RPC: Enable or disable profiling of render object paint operations (ext.flutter.profileRenderObjectPaints) |
| performance_profile_render_object_layouts | RPC: Enable or disable profiling of render object layout operations (ext.flutter.profileRenderObjectLayouts) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arenukvern/mcp_flutter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server