Chuyển đến nội dung chính

dart-lang/ai: Dart's official MCP packages

dart-lang/ai is where the Dart team keeps its AI and GenAI work. It is not a framework and not a product — it is a monorepo of three focused packages, and one of them is probably the single highest-leverage thing a Flutter developer can install this year. 279★, BSD-3-Clause, last pushed 2026-08-28.

What is in the repository?

Three published packages, each with its own scope:

PackageWhat it does
dart_mcpA library for building MCP servers and clients in Dart
dart_mcp_serverA finished MCP server that exposes Dart project tooling to AI models
skillsA CLI for managing skills shipped in packages and from git repos

The Model Context Protocol is the plumbing that lets an AI assistant call real tools instead of guessing. dart_mcp is the Dart implementation of both halves of that protocol.

Why it matters in 2026

Most “AI in your editor” setups are still working from text alone. The model reads your files, predicts what the analyzer would say, and is wrong often enough to be annoying. An MCP server closes that loop: the agent stops predicting the analyzer’s output and starts running it.

dart_mcp_server is the practical version of that for Dart and Flutter. Point an agent at it and the agent gains real access to your project’s tooling rather than a plausible impression of it. Analysis errors are actual analysis errors. A test result is an actual test result.

That it comes from dart-lang rather than a third party matters more than it might sound. Tooling that shells out to dart and flutter breaks whenever the SDK changes its output format. A server maintained next to the SDK does not have that problem.

Getting started

The server is the thing most people want first, and there is nothing to install — it ships inside the Dart SDK from 3.9 onwards and runs as dart mcp-server. You only have to register it with your client. For Gemini CLI or Cursor, that is a block in .gemini/settings.json or .cursor/mcp.json:

{
  "mcpServers": {
    "dart": {
      "command": "dart",
      "args": ["mcp-server"]
    }
  }
}

For GitHub Copilot in VS Code there is a shortcut — one setting, and the Dart extension registers the server for you:

"dart.mcpServer": true

Any MCP client that speaks stdio will work; the server needs Tools and Resources support, and behaves best with Roots. Once it is connected you can usually just ask the agent to connect to your running app — it discovers Dart Tooling Daemon instances on your machine and finds the Flutter or Dart applications registered with them.

To build your own server, depend on the library:

dart pub add dart_mcp

When should you use these?

  • you want your coding agent to run the analyzer and the test suite for real, not imagine them
  • you are building a Dart or Flutter tool and want AI clients to drive it through a standard protocol
  • you maintain internal tooling and would rather expose it once over MCP than write an integration per assistant
  • you are packaging reusable agent skills and want them versioned with the package that owns them

Where it falls short

The three packages are at very different maturities, and the server’s own README opens by calling itself experimental and likely to evolve quickly. Take that at face value: the tool list and flags still move between releases. skills is newer still and the least settled — read its README rather than assuming its interface will hold.

The repository also carries 81 open issues, which is a fair reflection of how quickly the MCP surface is changing rather than any neglect. If you pin versions anywhere, pin them here.

And a scoping note: this is Dart AI tooling, not Flutter UI AI tooling. For generating interfaces from a model, see genui; for driving a running app, see flutter-skill.

Alternatives worth comparing

Frequently asked questions

What is the difference between dart_mcp and dart_mcp_server?

dart_mcp is a library — you use it to write your own MCP servers and clients in Dart. dart_mcp_server is a finished server built with it, which exposes Dart and Flutter developer tooling to an AI model. If you want an agent that can analyse and test your project, you want dart_mcp_server. If you want to expose your own domain to an agent, you want dart_mcp.

Is this an official Dart team project?

Yes. It lives under the dart-lang organisation alongside the SDK and core packages, and all three packages are published to pub.dev under the same BSD-3-Clause licence as the rest of Dart.

Which AI tools can use dart_mcp_server?

Any MCP client that speaks stdio. The README gives setup steps for Gemini CLI, Gemini Code Assist, Cursor and GitHub Copilot in VS Code, but the protocol is the interface — the server does not care which client connects, as long as it supports Tools and Resources.

What is the skills package for?

It is a CLI for managing skills shipped inside packages and pulled from git repositories. It is the newest of the three and the least settled, so check its own README before depending on its interface.


Part of FlutterCook — hands-on guides to the best open-source Flutter libraries, UI kits, and apps. Explore the live GitHub trends or browse YouTube guides.


Originally published on FlutterCook. Read the latest version there — that copy is the one kept up to date.

Nhận xét

Bài đăng phổ biến từ blog này

5 concepts every Flutter dev should know

  Phụ lục: State management architecture Testing IDE Shortcuts Platform channel Maintaining a project Tôi đã làm việc với Flagship trong một thời gian dài, và đây là những điều mà tôi phát hiện ra là điều cần phải có đối với bất kỳ nhà phát triển Flagship nào, về tổng thể nó sẽ khiến bạn trở thành một nhà phát triển Flagship giỏi trong thời gian dài. 1. State management architecture Đây là một trong những chủ đề quan trọng nhất trong cộng đồng thiết bị rung, nó khá quan trọng nếu bạn muốn duy trì một dự án rung kích thước trung bình hoặc lớn. Nó sẽ giúp tạo một dự án suôn sẻ và thêm các tính năng mới một cách hoàn hảo.  2. Testing Đây là một chủ đề duy nhất mà tôi không hiểu tại sao nó lại quan trọng trước đó trong sự nghiệp của tôi, nhưng khi tôi tiến lên trong sự nghiệp của mình và có kinh nghiệm với nhiều dự án và vấn đề xảy ra trong môi trường sản xuất. Tôi đã nhận ra một cách khó khăn, tại sao điều này lại quan trọng như vậy. Nếu bạn vẫn muốn có thêm lý do để cân nhắc thử...

Thiết kế giao diện với DotNetBar (Phần 1)

Đây là phiên bản DotNetBar hỗ trợ C# và Visual Basic https://www.dropbox.com/s/wx80jpvgnlrmtux/DotNetBar.rar  , phiên bản này hỗ trợ giao diện Metro cực kỳ “dễ thương” Các bạn load về và cài đặt, khi cài đặt xong sẽ có source code mẫu của tất cả các control. Để sử dụng được các control của DotNetBar các bạn nhớ add item vào controls box. Thiết kế giao diện với DotNetBar, giao diện sẽ rất đẹp. Link các video hướng dẫn chi tiết cách sử dụng và coding: http://www.devcomponents.com/dotnetbar/movies.aspx Hiện tại DotNetBar có rất nhiều công cụ cực mạnh, trong đó có 3 công cụ dưới đây: DotNetBar for Windows Forms Requires with Visual Studio 2003, 2005, 2008, 2010 or 2012.   DotNetBar for WPF Requires with Visual Studio 2010 or 2012 and Windows Presentation Foundation.   DotNetBar for Silverlight Requires with Visual Studio 2010 or 2012 and Silverlight. Dưới đây là một số hình ảnh về các control trong DotnetBar.   Metro User Interface  controls with Metro Tiles, toolba...

Announcing Flutter 2

  Phụ lục: Flutter on the web Flutter 2 on desktops, foldables, and embedded devices The growing Flutter ecosystem Dart: The secret sauce behind Flutter Flutter 2: Available now Hôm nay, chúng tôi sẽ công bố Flutter 2: một bản nâng cấp lớn cho Flutter cho phép các nhà phát triển tạo các ứng dụng đẹp, nhanh chóng và di động cho bất kỳ nền tảng nào. Với Flutter 2, bạn có thể sử dụng cùng một cơ sở mã để gửi các ứng dụng gốc cho năm hệ điều hành: IOS, Android, Windows, macOS và Linux; cũng như trải nghiệm web nhắm mục tiêu các trình duyệt như Chrome, Firefox, Safari hoặc Edge. Flutter thậm chí có thể được nhúng vào ô tô, TV và thiết bị gia dụng thông minh, mang đến trải nghiệm di động và lan tỏa nhất cho thế giới điện toán xung quanh. Mục tiêu của chúng tôi là thay đổi cơ bản cách các nhà phát triển nghĩ về việc xây dựng ứng dụng, bắt đầu không phải với nền tảng bạn đang nhắm mục tiêu mà là với trải nghiệm bạn muốn tạo. Flutter cho phép bạn tạo ra những trải nghiệm tuyệt đẹp trong đó ...