Skip to content

[Tracking Issue] AI assistance in Dart & Flutter DevTools #9570

@elliette

Description

@elliette

Introduction

This is a tracking issue for adding AI assistance in DevTools.

The proposed architecture is to leverage the Dart Tooling Daemon (DTD) to communicate with the Dart MCP Server. This change will allow for bidirectional communication, specifically enabling DevTools to send "sampling requests" to the AI agent that launched the MCP server.

This allows DevTools to interoperate with the user's preferred AI agent and model.

Context

Currently, the Dart IDE Plugin bootstraps the tooling environment (launching DTD and DevTools), while the AI Agent initializes the Dart MCP Server. The MCP Server connects to DTD to expose hooks (MCP "tools") that the AI agent can invoke (e.g., get_widget_tree).

However, this communication is correctly unidirectional:

  • Current: AI Agent -> MCP Server -> DTD -> DevTools.
  • Missing: DevTools -> DTD -> MCP Server -> AI Agent.

To support AI-assisted features directly within DevTools, we need the communication to be bidirectional, so that DevTools can send queries to the AI agent. By utilizing the "sampling" feature of the Model Context Protocol, DevTools can send user queries and context (e.g., network failure details) to the user's AI agent.

Scope

The scope of this feature is large. It is expected to be a multi-month project, involving work and coordination outside of the DevTools repo.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1high priority issues at the top of the work list, actively being worked on.ai-assistsLabel for issues relating to AI Assistance in DevToolscost: highHigh engineering cost to implementcross-screenIssues that affect multiple DevTools screens, i.e. shared functionality and widgetstracking-issueIssue that is used to track multiple sub-issues, all part of a larger project.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions