mcpField
D
Dart MCP Server Template

Dart MCP Server Template

ローカル
github.com/jhgaylor開発ツール179 週間前に更新

Dart MCP Server Template について

Dart MCP Server Templateは、MCP対応のDartサーバーアプリを作る開発者向けのテンプレートです。複数のトランスポート用エントリーポイント、基本構成、Docker設定を備えています。

主な機能

  1. 01stdio、SSE、HTTPストリーミングの起動点
  2. 02基本的なMCPサーバー実装
  3. 03mcp_dartとの連携
  4. 04Docker設定を同梱

活用シーン

  1. 01Dart MCPサーバープロジェクトの開始
  2. 02選択したトランスポートでのサーバー実行
  3. 03Dockerによるビルドと実行

MCP 対応

MCPクライアントがstdio、SSE、HTTPストリーミング経由で接続できるMCPサーバー実装を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dart-mcp-server-template": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 とコードベース全体でパッケージ名を更新します。

はじめに

このテンプレートからプロジェクトを作成したら、次の手順を実行します。

  1. プロジェクトの詳細に合わせて pubspec.yaml を更新します
  2. 必要に応じて lib/src/config.dart の設定を変更します
  3. カスタムサーバーロジックを実装します
  4. 以下のいずれかのエントリーポイントを使用してサーバーを実行します。
    • 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 の下で公開されています。このテンプレートから独自のアプリケーションを生成する場合、プロジェクトには任意のライセンスを自由に選択できます。テンプレートが生成されたコードに特定のライセンスを課すことはありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。