Dart MCP Server Template について
Dart MCP Server Templateは、MCP対応のDartサーバーアプリを作る開発者向けのテンプレートです。複数のトランスポート用エントリーポイント、基本構成、Docker設定を備えています。
主な機能
- 01stdio、SSE、HTTPストリーミングの起動点
- 02基本的なMCPサーバー実装
- 03mcp_dartとの連携
- 04Docker設定を同梱
活用シーン
- 01Dart MCPサーバープロジェクトの開始
- 02選択したトランスポートでのサーバー実行
- 03Dockerによるビルドと実行
MCP 対応
MCPクライアントがstdio、SSE、HTTPストリーミング経由で接続できるMCPサーバー実装を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dart MCP サーバーテンプレート
MCP(Model Control Protocol)と互換性のある Dart サーバーアプリケーションを作成するためのテンプレートリポジトリです。このテンプレートには、Docker 設定、サーバー実装、基本的なプロジェクト構成が用意されています。
このテンプレートについて
このテンプレートには、以下が含まれています。
- MCP 用のストリーム可能な HTTP サーバー実装
- デプロイを簡単にする Docker 設定
- lib、bin、test ディレクトリを含む基本的なプロジェクト構成
- mcp_dart パッケージとの統合
プロジェクト構成と機能
サーバー実装
-
bin/ - さまざまなトランスポート方式でサーバーを起動する実行可能な Dart ファイルが含まれています。
dart bin/stdio_server.dart:標準入出力トランスポートでサーバーを起動します。dart bin/sse_server.dart:Server-Sent Events トランスポートでサーバーを起動します。dart bin/streamable_http_server.dart:HTTP ストリーミングトランスポートでサーバーを起動します。- これらの実行ファイルはすべて、
lib/src/server.dartで定義されているコアサーバー実装を使用します。
-
lib/src/server.dart - 基本的な MCP サーバーをセットアップします。カスタムコードの大部分はここに記述します。
メモリ内ストリームトランスポート
IOStreamTransport を使用すると、Dart クライアントとサーバーをすべてメモリ内で接続できます。エンドツーエンドの例はこちらをご覧ください。
このテンプレートの使用方法
このリポジトリをクローンし、パッケージ名を手動で更新します。
git clone https://github.com/jhgaylor/dart-mcp-server-template.git my_new_mcp_server
cd my_new_mcp_server
# Update the package name throughout the codebase
find . -type f -name "*.dart" -o -name "pubspec.yaml" | xargs sed -i 's/dart_mcp_server_template/my_new_mcp_server/g'
# Update the package name in the repository URL
find . -type f -name "*.md" -o -name "Dockerfile" | xargs sed -i 's/dart-mcp-server-template/my-new-mcp-server/g'
# Rename the files
find . -type f -name "*dart_mcp_server_template*" | while read file; do mv "$file" "${file//dart_mcp_server_template/my_new_mcp_server}"; done
# Remove the .git directory to start fresh
rm -rf .git
# Initialize a new git repository
git init
次に、pubspec.yaml とコードベース全体でパッケージ名を更新します。
はじめに
このテンプレートからプロジェクトを作成したら、次の手順を実行します。
- プロジェクトの詳細に合わせて
pubspec.yamlを更新します - 必要に応じて
lib/src/config.dartの設定を変更します - カスタムサーバーロジックを実装します
- 以下のいずれかのエントリーポイントを使用してサーバーを実行します。
dart bin/stdio_server.dart(標準入出力)dart bin/sse_server.dart(Server-Sent Events)dart bin/streamable_http_server.dart(HTTP ストリーミング)
Docker によるデプロイ
このテンプレートには、コンテナ化を簡単にする Dockerfile が含まれています。
# Build the Docker image
docker build -t my-mcp-server .
# Run the container
docker run -p 3000:3000 my-mcp-server
ライセンス
このテンプレートは MIT License の下で公開されています。このテンプレートから独自のアプリケーションを生成する場合、プロジェクトには任意のライセンスを自由に選択できます。テンプレートが生成されたコードに特定のライセンスを課すことはありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。