AI代理交互协议实现

DartMCP是一个用于构建可互操作AI/LLM工具和服务的Model Context Protocol (MCP)实现,提供服务器和客户端组件。

  • by G1Joshi
  • Dart
  • 本地部署
  • 更新于
在 GitHub 查看 G1Joshi/DartMCP

使用说明

DartMCP

用于AI代理交互的模型上下文协议(MCP)的Dart实现。

概述

DartMCP是Dart中的模型上下文协议(MCP)实现,为构建可互操作的AI/LLM工具和服务提供服务器和客户端组件。

需求

  • Dart SDK 3.9.2+
  • 适用于Dart支持的任何平台(macOS、Linux、Windows)

项目结构

该项目分为两个主要部分:

  • lib/src/server.dart:服务器实现
  • lib/src/client.dart:客户端实现

依赖项

安装

  1. 将DartMCP添加到您的项目中:
dependencies:
  dart_mcp: ^0.3.3
  1. 安装依赖项:
dart pub get

服务器

DartMCP服务器组件在Dart中提供了一个模型上下文协议服务器实现。它使AI代理和工具能够使用标准MCP协议与Dart应用程序进行交互。

特性

  • 使用Dart 3.9.2构建+
  • 通过标准I/O或自定义通道实现MCP协议
  • 包括对日志记录、提示、资源和工具的支持
  • 与跨平台支持

入门指南

  1. 使用实现服务器逻辑 Server 从 lib/src/server.dart.
  2. 将服务器作为Dart应用程序运行:
dart run path/to/your_server.dart

服务器组件详细信息

服务器组件负责:

  • 处理传入的MCP连接
  • 管理模型上下文和状态
  • 处理客户端请求
  • 保持状态同步

地点: lib/src/server.dart

客户端

DartMCP客户端组件允许Dart应用程序连接到MCP兼容的AI代理和服务器并与之交互。

特性

  • 使用Dart 3.9.2构建+
  • 通过标准I/O或自定义通道实现MCP客户端
  • 用于初始化MCP服务器并与之通信的简单API
  • 服务器通知流(工具、资源、日志等)

入门指南

  1. 使用 Client 类从 lib/src/client.dart 在您的Dart应用程序中。
  2. 示例用法:
import 'package:dartmcp/dartmcp.dart';

void main() {
  var client = Client();
  client.main();
}

客户端组件详细信息

客户端组件提供:

  • MCP服务器的连接管理
  • 模型上下文同步
  • 实时更新处理
  • 客户端状态管理

地点: lib/src/client.dart

示例

看 example/dartmcp_example.dart 作为最小使用示例。