DartMCP について
DartMCP はサーバーとクライアントの両方を備えた Dart 製 MCP 実装です。ツール、プロンプト、リソース、通知に対応し、Dart ベースの AI エージェント連携を開発する方向けです。
主な機能
- 01Dart MCP サーバーとクライアント
- 02stdio とカスタムチャネルでの通信
- 03ツール、プロンプト、リソースへの対応
- 04ストリームによるサーバー通知の受信
- 05Dart 対応プラットフォームでの動作
活用シーン
- 01Dart アプリ向け MCP サーバーの構築
- 02Dart アプリから MCP サーバーへの接続
- 03ツール、リソース、ログの更新受信
MCP 対応
MCP のサーバーとクライアントの両方を実装します。サーバーはクライアント接続とリクエストを処理し、クライアントは MCP サーバーに接続して通知を受信します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DartMCP
AI エージェントとのやり取りのための、Model Context Protocol(MCP)の Dart 実装です。
概要
DartMCP は、Dart による Model Context Protocol(MCP)の実装です。相互運用可能な AI/LLM ツールやサービスを構築するための、サーバーとクライアントの両方のコンポーネントを提供します。
要件
- Dart SDK 3.9.2+
- Dart がサポートするすべてのプラットフォーム(macOS、Linux、Windows)で動作します
プロジェクト構成
プロジェクトは、次の 2 つの主要コンポーネントで構成されています。
lib/src/server.dart:サーバーの実装lib/src/client.dart:クライアントの実装
依存関係
インストール
- DartMCP をプロジェクトに追加します。
dependencies:
dart_mcp: ^0.3.3
- 依存関係をインストールします。
dart pub get
サーバー
DartMCP のサーバーコンポーネントは、Dart による Model Context Protocol サーバーの実装を提供します。標準の MCP プロトコルを使用して、AI エージェントやツールが Dart アプリケーションとやり取りできるようにします。
機能
- Dart 3.9.2+ で構築
- 標準入出力またはカスタムチャネルを介した MCP プロトコルを実装
- ログ、プロンプト、リソース、ツールをサポート
- クロスプラットフォームに対応
はじめに
lib/src/server.dartのServerを使用して、サーバーのロジックを実装します。- Dart アプリケーションとしてサーバーを実行します。
dart run path/to/your_server.dart
サーバーコンポーネントの詳細
サーバーコンポーネントは、次の処理を担います。
- 受信する MCP 接続の処理
- モデルコンテキストと状態の管理
- クライアントリクエストの処理
- 状態同期の維持
場所:lib/src/server.dart
クライアント
DartMCP のクライアントコンポーネントを使用すると、Dart アプリケーションから MCP 互換の AI エージェントやサーバーに接続して、やり取りできます。
機能
- Dart 3.9.2+ で構築
- 標準入出力またはカスタムチャネルを介した MCP クライアントを実装
- MCP サーバーの初期化と通信のためのシンプルな API
- サーバー通知(ツール、リソース、ログなど)用のストリーム
はじめに
- Dart アプリケーションで
lib/src/client.dartのClientクラスを使用します。 - 使用例:
import 'package:dartmcp/dartmcp.dart';
void main() {
var client = Client();
client.main();
}
クライアントコンポーネントの詳細
クライアントコンポーネントは、次の機能を提供します。
- MCP サーバーとの接続管理
- モデルコンテキストの同期
- リアルタイム更新の処理
- クライアント側の状態管理
場所:lib/src/client.dart
例
最小限の使用例については、example/dartmcp_example.dart を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。