乐于分享
好东西不私藏

Dart 也能玩 AI Agent?这个新工具让函数一键变 MCP 服务

Dart 也能玩 AI Agent?这个新工具让函数一键变 MCP 服务

最近社区中,有开发者分享了一个很有意思的工具:easy_mcp

它的核心能力非常直接,但意义不小:

把 Dart 函数,自动转换成 MCP(Model Context Protocol)服务。

听起来抽象,但其实它正在解决一个非常现实的问题——
如何让 AI(如 Claude、ChatGPT)直接调用你的代码能力。


一、这个工具到底做了什么?

根据原帖介绍:

“easy_mcp 是一个 Dart 代码生成工具,可以把带注解的函数转换成 MCP 服务器。”

简单理解就是:

  • 你写普通 Dart 函数
  • 加上注解(annotation)
  • 自动生成一个 AI 可调用的接口(MCP Server)

二、为什么这件事很重要?

先说结论:

它把“函数 → AI工具”的成本降到了极低

过去如果你想让 AI 调用你的能力,需要:

  • 写 API
  • 定义 schema
  • 处理调用逻辑
  • 适配 AI 工具调用格式

现在变成:

  • 写函数
  • 加注解
  • 自动生成

三、代码长什么样?

开发方式非常简单:

 1import'package:easy_mcp_annotations/mcp_annotations.dart';
 2
 3@Mcp(transport: McpTransport.stdio)
 4classMyServer{
 5
 6@Tool(description: 'Create a new user')
 7  Future<bool> createUser(String name, String email) async {
 8returntrue;
 9  }
10}

然后执行:

1dart run build_runner build

直接生成一个完整的 MCP 服务。


四、核心能力拆解

这个工具提供了几项关键能力:

1. 注解驱动(最核心)

只需要:

  • @Mcp
  • @Tool

就能完成服务定义。


2. 自动生成 JSON Schema

工具会根据 Dart 类型自动生成:

  • 参数结构
  • 类型定义
  • 校验规则

不需要手写 schema。


3. 支持两种通信方式

  • stdio(JSON-RPC)
     → 适合 CLI 工具
  • HTTP(基于 shelf)
     → 适合 Web 服务

4. 丰富的参数描述能力

支持:

  • 参数说明
  • 示例
  • 校验规则

让 AI 更容易理解如何调用你的工具。


5. 文档自动继承

如果没有写 description:

  • 会自动读取代码注释作为说明

五、什么是 MCP?为什么大家都在做?

如果你最近关注 AI Agent,一定听过 MCP。

简单来说:

MCP 是一种标准协议,让 AI 可以调用外部工具和服务

一个很直白的解释:

“它是 AI 与外部系统之间的桥梁。”

比如:

  • AI 调数据库
  • AI 操作 GitHub
  • AI 控制系统

都可以通过 MCP 实现。


六、这个工具解决了什么痛点?

传统方式:

步骤
成本
写 API
写文档
接 AI
更高

而 easy_mcp:

步骤
成本
写函数
加注解
极低
自动生成
几乎为零

七、适合哪些场景?

1. AI Agent 工具开发

比如:

  • 自动创建用户
  • 查询数据
  • 执行业务逻辑

2. 内部工具 AI 化

把已有系统能力:

→ 直接暴露给 AI 使用


3. Flutter + AI 项目

如果你本身就在用 Dart:

  • 无需切换语言
  • 直接接入 AI 能力

八、行业趋势:从 API 到 Agent

从技术演进来看:

  • 过去:API 驱动
  • 现在:AI Agent 驱动

而 MCP 的定位是:

API 的下一层抽象(给 AI 用的 API)

而 easy_mcp 做的事情是:

把 Dart 直接接入这个体系


九、需要理性看待的地方

这个方向很新,但也有一些现实问题:

1. MCP 生态还在早期

  • 标准在发展
  • 工具链不稳定

2. 并不是所有场景都需要 MCP

有开发者也指出:

  • 在某些情况下,直接 API 或 CLI 更简单 

3. Agent 能力依赖模型

工具再好,也要看:

  • AI 是否能正确调用
  • Prompt 是否设计合理

十、总结

easy_mcp 的价值,不只是一个工具,而是一种方向:

让 Dart 成为 AI Agent 生态的一部分

它的核心意义在于:

  • 降低 AI 集成门槛
  • 简化工具暴露流程
  • 加速 Agent 应用开发

如果你正在做:

  • Flutter + AI
  • Agent 系统
  • 自动化工具

那么这个方向,值得重点关注。