Echo MCP Server について
Echo MCP Server は、メッセージを設定した形式で呼び出し元に返す軽量な .NET Core サーバーです。基本的なエコー機能や MCP サーバーの実装例として使えます。
主な機能
- 01メッセージを呼び出し元に返す
- 02応答形式を設定
- 03ローカルまたは Docker で実行
活用シーン
- 01クライアントのメッセージ往復をテスト
- 02シンプルな MCP サーバーの実装例
MCP 対応
MCP クライアントに `echo` ツールを公開します。メッセージを受け取り、設定された形式で返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Echo MCP Server
Model Context Protocol(MCP)を実装したシンプルなエコーサーバーです。このサーバーは、MCP インターフェースを通じて基本的なエコー機能を提供します。
概要
Echo MCP サーバーは、Model Context Protocol C# SDK(github.com/modelcontextprotocol/csharp-sdk)を使用して .NET Core で構築されています。クライアントにメッセージを返すツールを提供します。軽量に設計されており、シンプルな機能を備えたカスタム MCP サーバーの作成方法を示します。マシンに直接デプロイすることも、Docker コンテナーとしてデプロイすることもできます。
特長
- 任意のメッセージをクライアントに返します
- 設定によりメッセージ形式をカスタマイズできます
- Model Context Protocol 標準に基づいて構築されています
はじめに
前提条件
- .NET 10.0(ローカルでの開発/デプロイ用)
- Docker(コンテナーへのデプロイ用)
ビルド手順(開発用)
ソースからプロジェクトをビルドする場合:
-
このリポジトリをクローンします:
git clone https://github.com/yourusername/echo-mcp-server.git -
プロジェクトのルートディレクトリに移動します:
cd echo-mcp-server -
次のコマンドでプロジェクトをビルドします:
dotnet build src/echo.sln -
テストを実行します:
dotnet test src/echo.sln
.NET ツール
Echo MCP Server は、NuGet の .NET グローバルツールとして利用できます。
インストール
dotnet tool install --global Ave.McpServer.Echo
実行
ave-mcpserver-echo
1 回限りの実行(恒久的なインストールなし)
.NET 10 SDK では、dotnet tool exec を使用すると、グローバルにインストールせずにツールを実行できます。
dotnet tool exec -y ave.mcpserver.echo
-y フラグを指定すると、プロンプトに自動的に応答します。ツールはローカルにキャッシュされますが、PATH には追加されません。
Docker のサポート
Docker イメージの手動ビルド
Docker イメージを自分でビルドするには:
# Navigate to the repository root
cd echo-mcp-server
# Build the Docker image
docker build -f src/Core.Infrastructure.McpServer/Dockerfile -t echo-mcp-server:latest src/
# Run the locally built image
docker run -d --name echo-mcp echo-mcp-server:latest
MCP プロトコルの使用方法
クライアントとの統合
アプリケーションから Echo MCP Server に接続するには:
- Model Context Protocol C# SDK、または MCP 互換クライアントを使用します
- サーバーのエンドポイントに接続するようクライアントを設定します
- 以下で説明する利用可能なツールを呼び出します
利用可能なツール
echo
メッセージをクライアントに返します。
パラメーター:
message(必須):返すメッセージです。
リクエストの例:
{
"name": "echo",
"parameters": {
"message": "Hello, world!"
}
}
レスポンスの例:
Echo: Hello, world!
設定
MessageFormat
MessageFormat 設定は、エコーされるメッセージの形式を指定します。入力メッセージに置き換えられる {message} プレースホルダーを含むテンプレート文字列を使用します。
MessageFormat は次の 2 つの方法で設定できます。
- appsettings.json ファイル(ローカルデプロイ用):
{
"MessageFormat": "Server says: {message}"
}
- 環境変数(コンテナー化されたデプロイ用):
Claude で MCP サーバーを使用する場合、環境変数は、以下の「Claude Desktop の設定」セクションに示すように Claude Desktop の設定を通じて渡されます。
指定しない場合、サーバーはデフォルトで「Echo: {message}」を使用します。
Claude Desktop/Claude Code の設定
設定ファイルの mcpServers セクションにサーバー設定を追加します。
.NET ツールを使用する場合
.NET 10 SDK が必要です。この方法では、初回使用時にツールが自動的にダウンロードされ、以降の実行時には最新バージョンに更新されます。
"echo": {
"command": "dotnet",
"args": [
"tool",
"exec",
"-y",
"ave.mcpserver.echo"
],
"env": {
"MessageFormat": "Claude says: {message}"
}
}
グローバルインストールを使用する場合
.NET 10 SDK が必要です。ツールを一度インストールすると、その後は直接使用できます。
dotnet tool install --global Ave.McpServer.Echo
"echo": {
"command": "ave-mcpserver-echo",
"env": {
"MessageFormat": "Claude says: {message}"
}
}
更新するには、dotnet tool update --global Ave.McpServer.Echo を実行します。
Docker を使用する場合
.NET 10 SDK は必要ありません。
"echo": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "MessageFormat=Claude says: {message}",
"aadversteeg/echo-mcp-server:latest"
]
}
カスタム設定ファイルを使用して Docker を実行する場合
ホストシステムのカスタム設定ファイルを使用するには:
- ホストマシンにカスタム設定ファイルを作成します(例:
echo-appsettings.json):
{
"MessageFormat": "My Custom Format: {message}",
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning"
}
}
}
- このファイルをマウントするよう設定を更新します:
"echo": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v", "C:/path/to/echo-appsettings.json:/app/appsettings.json",
"aadversteeg/echo-mcp-server:latest"
]
}
重要な注意事項:
- コンテナーを起動する前に、設定ファイルがホストシステム上に存在している必要があります
- ホスト上では任意のファイル名(例:
echo-appsettings.json)を使用できますが、コンテナー内の/app/appsettings.jsonにマウントする必要があります - オペレーティングシステムに合ったパスを指定してください(Windows ではバックスラッシュまたはスラッシュ、Linux/macOS ではスラッシュを使用します)
- 設定ファイルを変更した後、変更を適用するために Claude Desktop を再起動してください
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細については、LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。