跳转至正文

Dart 与 Flutter MCP server

了解 Dart 与 Flutter MCP server 工具,它向兼容的 AI 助手客户端与智能体暴露 Dart 与 Flutter 工具。

本指南介绍 Dart 与 Flutter MCP server。

概述

#

Dart 与 Flutter MCP server 向兼容的 AI 助手客户端暴露 Dart 与 Flutter 开发工具操作。 MCP(model context protocol,模型上下文协议)使开发工具与 AI 助手能够通信,让助手理解代码上下文并代表开发者执行操作。

Dart 与 Flutter MCP server 可与任何以标准 I/O(stdio)为传输介质的 MCP 客户端配合。要访问其全部功能,MCP 客户端须支持 ToolsResources。为获得最佳开发体验,MCP 客户端还应支持 Roots

若客户端声称支持 roots 却未实际设置,请传入 --force-roots-fallback 标志以启用管理 roots 的工具。

Dart 与 Flutter MCP server 提供不断增长的工具列表,为 AI 助手提供对项目的深入洞察。它能做的一些事包括:

  • 分析并修复项目代码中的错误。

  • 将符号解析为元素以确认其存在,并获取文档与签名信息。

  • 内省并与运行中的应用交互。

  • pub.dev 站点 搜索最适合场景的 package。

  • 管理 pubspec.yaml 中的 package 依赖。

  • 运行测试并分析结果。

  • 使用与 dart format 及 Dart 分析服务器相同的格式化器与配置格式化代码。

设置 MCP 客户端

#

使用 dart mcp-server 命令运行服务器,并须在你偏好的客户端中配置。

本节说明如何在 Antigravity、Gemini CLI、Cursor、GitHub Copilot 等常用工具中设置 Dart 与 Flutter MCP server。

Antigravity 工具

#

要配置 Google Antigravity 使用 Dart 与 Flutter MCP server,可从可用服务器列表安装,或 将其连接为自定义 MCP server

  1. 导航到或打开 Agent 侧边面板。

    若已关闭,可通过以下方式打开:

    • Cmd/Ctrl + L

    • 依次进入 View > Open View... > Agent

  2. Agent 面板右上角,点按 Additional options...)菜单按钮。

  3. 选择 MCP Servers

  4. Agent 面板右上角,点按 Manage MCP Servers

此后可从 内置 MCP 商店 安装,或通过 手动配置

从 MCP 商店安装

#
  1. 在可用 MCP server 列表中查找或搜索 Dart,然后点按 Install

手动连接

#
  1. Manage MCPs 编辑器视图右上角,点按 View raw config

  2. mcpServers 映射中添加以下 dart-mcp-server 条目:

    mcp_config.json
    json
    {
      "mcpServers": {
        "dart-mcp-server": {
          "command": "dart",
          "args": [
            "mcp-server"
          ],
          "env": {}
        }
      }
    }
    

安装扩展

#

建议同时安装 Dart 与 Flutter 扩展:

  1. 通过以下方式打开 Extensions 视图:

    • Shift + Cmd/Ctrl + P

    • 依次进入 View > Extensions

  2. Search Extensions 输入框中输入 Flutter

  3. 在扩展列表中选择 Flutter

  4. 在打开的 Extension: Flutter 视图中点按 Install 按钮。

    这将同时安装 Dart 与 Flutter 扩展。

有关 Dart 与 Flutter 扩展的更多信息,请参阅 在 VS Code 中开发 Flutter 应用

Gemini CLI

#

要配置 Gemini CLI 使用 Dart 与 Flutter MCP server,在 Gemini 配置的 mcpServers 部分添加 Dart 条目。

  • 要为设备上所有项目启用服务器,请编辑主目录中的 ~/.gemini/settings.json

  • 要为特定项目启用服务器,请编辑项目根目录中的 .gemini/settings.json

.gemini/settings.json
json
{
  "mcpServers": {
    "dart": {
      "command": "dart",
      "args": [
        "mcp-server"
      ]
    }
  }
}

更多信息请参阅 Gemini CLI 关于 设置 MCP server 的官方文档。

VS Code 中的 Gemini Code Assist

#

Gemini Code AssistAgent mode 集成 Gemini CLI,在 IDE 中直接提供强大的 AI 智能体。若尚未设置 Gemini Code Assist 或其 agent 模式,请遵循其 开始前的说明 入门。

要配置 Gemini Code Assist 使用 Dart 与 Flutter MCP server,请遵循配置 Gemini CLI 的说明。

可在 Agent 模式的聊天窗口中输入 /mcp 验证 MCP server 是否已正确配置。

更多信息请参阅 Gemini Code Assist 关于 使用 agent 模式 的官方文档。

VS Code 中的 GitHub Copilot

#

默认情况下,Dart 扩展使用 VS Code MCP API 注册 Dart 与 Flutter MCP server,并提供获取活动 Dart Tooling Daemon URI 的工具。

通过在 VS Code 设置中配置 dart.mcpServer 显式启用或禁用 Dart 与 Flutter MCP server。

要全局更改,请更新用户设置:

  1. 在 VS Code 中点按 View > Command Palette,搜索 Preferences: Open User Settings (JSON)

  2. 添加以下设置:

    json
    "dart.mcpServer": true
    

若仅希望对特定工作区生效,请将条目添加到工作区设置:

  1. 在 VS Code 中点按 View > Command Palette,搜索 Preferences: Open Workspace Settings (JSON)

  2. 添加以下设置:

    json
    "dart.mcpServer": true
    

更多信息请参阅 VS Code 关于 启用 MCP 支持 的官方文档。

Cursor

#

在 Cursor 中配置 Dart 与 Flutter MCP server 最简便的方式是点按 Add to Cursor 按钮:

Add to Cursor Add to Cursor

也可手动配置服务器:

  1. 进入 Cursor > Settings > Cursor Settings > Tools & Integrations

  2. 根据是否已配置其他 MCP server,点按 Add Custom MCPNew MCP Server

  3. 编辑本地项目中的 .cursor/mcp.json(仅对本项目生效),或编辑主目录中的全局 ~/.cursor/mcp.json(对所有项目生效),以配置 Dart 与 Flutter MCP server:

    .cursor/mcp.json
    json
    {
      "mcpServers": {
        "dart": {
          "command": "dart",
          "args": [
            "mcp-server"
          ]
        }
      }
    }
    

更多信息请参阅 Cursor 关于 安装 MCP server 的官方文档。

OpenCode

#

要配置 OpenCode 使用 Dart 与 Flutter MCP server,在 OpenCode 配置中添加 dart-mcp-server 条目。

OpenCode 配置通常位于 ~/.opencode/config.json 或项目的 opencode key 配置中。

~/.opencode/config.json
json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dart-mcp-server": {
      "type": "local",
      "command": [
        "dart",
        "mcp-server"
      ],
      "enabled": true,
      "environment": {}
    }
  }
}

Claude Code

#

要为当前项目配置 Claude Code 使用 Dart 与 Flutter MCP server,请使用 claude mcp add CLI 命令:

claude mcp add --transport stdio dart -- dart mcp-server

要了解在 Claude Code 中配置 MCP server 的更多内容,请参阅其关于 安装 MCP server 的文档。

Codex CLI

#

要为当前项目配置 Codex CLI 使用 Dart 与 Flutter MCP server,请使用 codex mcp add CLI 命令:

codex mcp add dart -- dart mcp-server --force-roots-fallback

要了解在 Codex CLI 中配置 MCP server 的更多内容,请参阅其关于 连接到 MCP server 的文档。

使用 MCP 客户端

#

配置好客户端后,Dart 与 Flutter MCP server 不仅能让客户端推理项目上下文,还能通过工具采取行动。

大语言模型(LLM) 决定使用哪些工具及何时使用,你只需用自然语言描述目标。下面通过 VS Code 中 GitHub Copilot 的 Agent 模式示例说明。

修复 Flutter 应用中的运行时布局错误

#

我们都遇到过:做好漂亮 UI、运行应用后,却看到 RenderFlex 溢出错误那标志性的黄黑条纹。现在无需手动调试 widget 树,可用类似以下的提示词向 AI 助手求助:

Check for and fix static and runtime analysis issues. Check for and fix any layout issues.

幕后,AI 智能体使用 Dart 与 Flutter MCP server 的工具:

  • 查看错误:使用工具从运行中的应用获取当前运行时错误。

  • 检查 UI:访问 Flutter widget 树以了解导致溢出的布局。

  • 应用修复:结合上下文应用修复并再次检查是否仍有错误。

随后你可保留或撤销代码变更。

#

假设你要为应用添加图表。该用哪个 package?如何添加并编写样板代码? Dart 与 Flutter MCP server 可用类似以下的提示词简化整个流程:

Find a suitable package to add a line chart that maps the number of button presses over time.

AI 智能体现在真正成为助手:

  • 找到合适工具:使用 pub_dev_search 工具查找流行且高评分的图表库。

  • 管理依赖:在你确认选择(如 package:fl_chart)后,使用工具将 package 添加为依赖。

  • 生成代码:生成含折线图样板的新 widget 代码并放入 UI,甚至能自行纠正过程中引入的语法错误。你可在此基础上继续定制。

以往需要调研、阅读文档、编辑 pubspec.yaml 并在应用中编写代码的多步流程,现在只需一次请求。

提供反馈

#

若遇到问题或对 Dart 与 Flutter MCP server 有反馈,请在 dart-lang/ai issue 跟踪器 上提交 issue。