mcpField
M
MCP Server Sample

MCP Server Sample

ローカル
developerscantina.com開発ツール1471 週間前に更新

MCP Server Sample について

MCP Server Sampleは、従業員の休暇残日数を管理する.NETおよびTypeScript製のMCPサンプルです。SSEと標準入出力の通信方式で、サーバーとクライアントの実装を示します。

主な機能

  1. 01休暇残日数の照会と更新
  2. 02SSE通信のサンプル
  3. 03標準入出力通信のサンプル
  4. 04.NETとTypeScriptの実装

活用シーン

  1. 01従業員の休暇残日数の確認
  2. 02取得済み休暇日数の記録

MCP 対応

従業員の休暇残日数の照会と更新を、ツールとしてMCPクライアントに公開します。SSEと標準入出力の通信方式を扱います。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MCP サーバーのサンプル

このプロジェクトでは、従業員の休暇日数を管理するための Model Context Protocol(MCP)サーバーとクライアントを .NET で実装する方法を紹介します。従業員の休暇残日数の追跡、照会、更新を行うバックエンドサービスを提供し、これらの機能を MCP ツールとして公開します。

コンポーネント

  • SSE フォルダーには、HTTP Streaming / SEE トランスポート層を使用した Model Context Protocol(MCP)のクライアントとサーバーの実装が含まれています。このソリューションは .NET Aspire をベースとしており、サーバー(ASP.NET Core をベースとしたもの)とクライアント(Blazor と Semantic Kernel で構築された Web アプリケーション)が含まれています。
  • Stdio フォルダーには、標準入出力トランスポート層を使用した Model Context Protocol(MCP)のクライアントとサーバーの実装が含まれています。サーバーはコンソールアプリケーションとして実装されています。

ドキュメント

このサンプルは、以下の一連のブログ記事で解説されています。

はじめに

このリポジトリには、同じサンプルの 2 つのバージョンが含まれています。1 つは C# と .NET で構築され、もう 1 つは TypeScript で構築されています。

.NET サンプルを実行するには、以下の前提条件をインストールする必要があります。

TypeScript サンプルを実行するには、以下の前提条件をインストールする必要があります。

どちらの言語でも、以下の前提条件をインストールする必要があります。

stdio サンプルの実行

.NET サンプルの実行
  1. アプリケーションバーのボタンをクリックするか、コマンドパレット(Ctrl+Shift+P)を開いて Azurite: Start Table Service を選択し、Azurite Table サービスエミュレーターを起動します。
  2. 以下の設定を使用して、任意のクライアントアプリケーション(Visual Studio Code、AI Toolkit、カスタムアプリケーション)を接続できます。
  • コマンド:dotnet
  • 引数:run --project src/csharp/Stdio/MCP.Stdio.Server/MCP.Stdio.Server.csproj
TypeScript サンプルの実行
  1. アプリケーションバーのボタンをクリックするか、コマンドパレット(Ctrl+Shift+P)を開いて Azurite: Start Table Service を選択し、Azurite Table サービスエミュレーターを起動します。
  2. 以下の設定を使用して、任意のクライアントアプリケーション(Visual Studio Code、AI Toolkit、カスタムアプリケーション)を接続できます。
  • コマンド:node
  • 引数:/src/ts/stdio/server/dist/app.js

使用する前に、以下のコマンドを実行して TypeScript コードをコンパイルしてください。

cd src/ts/stdio/server
npm run build

SSE サンプルの実行

SSE サンプルを実行するには、次の手順に従ってください。

  • リポジトリをローカルマシンにクローンします。

  • SSE フォルダー内の MCP.SSE.AppHost プロジェクトにある appsettings.json ファイルを開き、次の形式で Azure OpenAI の接続文字列を使用して openAiConnectionName プロパティを更新します。

    "openAiConnectionName": "Endpoint=https://<your-endpoint>.openai.azure.com/;Key=<your-key>"
    
  • アプリケーションバーのボタンをクリックするか、コマンドパレット(Ctrl+Shift+P)を開いて Azurite: Start Table Service を選択し、Azurite Table サービスエミュレーターを起動します。

  • 次のコマンドを使用して MCP.SSE.AppHost プロジェクトを実行します。

    dotnet run --project MCP.SSE.AppHost/MCP.SSE.AppHost.csproj
    
  • プロジェクトが起動すると、Aspire ダッシュボードが新しいブラウザーウィンドウで自動的に開きます。

  • 新しいブラウザータブを開き、次の URL にアクセスします。

    http://localhost:5291/
    
  • これで、Blazor アプリケーションを使って LLM にプロンプトを送信できます。次のいずれかのプロンプトを使うと、MCP ツールのいずれかを呼び出せます。

    "従業員の一覧と、残っている休暇日数を教えてください"
    "Alice Johnson に休暇を5日分付与してください""
    

Teams AI library サンプルの実行

Teams AI library サンプルは、Aspire ソリューションの一部としてすでに登録されています。ただし、使用する前に、次の手順に従ってください。

  • SSE フォルダー内の ttk2-agent プロジェクトを開きます
  • .env.example ファイルの名前を .env に変更します
  • ファイルを開き、Azure OpenAI サービスの正しい値で変数を更新します。
    • AZURE_OPENAI_API_KEY に Azure OpenAI サービスのキーを設定します
    • AZURE_OPENAI_ENDPOINT に Azure OpenAI サービスのエンドポイントを設定します
    • AZURE_OPENAI_API_VERSION に API バージョンを設定します(モデルのバージョンとは異なる値なので注意してください。Azure OpenAI ポータルで確認できます)
    • AZURE_OPENAI_MODEL_DEPLOYMENT_NAME に Azure OpenAI のモデルデプロイ名を設定します

Aspire ダッシュボードが起動すると、**ttk2-agent **プロジェクトに2つのエンドポイントがあることがわかります。

Aspire ダッシュボード

エージェントのテストツールには、ポート番号が大きい方のエンドポイントを使い、末尾に /devtools パスを追加してアクセスできます。 たとえば、前の画像の場合、URL は次のようになります。

http://localhost:54251/devtools/

コメント

MCP は初めてですか?

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

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