🔌
Let's Learn MCP: C# イベントレポート
「AIに、もっと気の利いた仕事をしてほしい」——。 GitHub Copilotのような強力なAIコーディングアシスタントを日常的に使う中で、多くの開発者がそう感じ始めているのではないでしょうか。AIは賢い。しかし、それはエディタという閉じた世界の中での話。私たちのプロジェクトが持つ独自のデータベース、社内のAPI、そしてチームのルールといった「外の世界の文脈」を、AIはまだ知りません。
2025年7月16日、マイクロソフトが開催したオンライン勉強会「Let's Learn MCP」は、このAIと「外の世界」とを繋ぐための、いわば 「AIのためのUSB規格」 とも言うべきプロトコル、MCP(Model Context Protocol) の基本を学ぶ、絶好の機会となりました。
本レポートでは、Microsoftの3名のエキスパートがナビゲートした、ライブコーディング中心のセッションを追体験します。MCPとは何か、そして、それがいかに簡単に、私たちの開発体験を根底から変えうるのか。その最初の一歩を、共に踏み出しましょう。
なぜ今MCPなのか? 「インテグレーションのカオス」からの脱出
イベントは、陽気なクイズから始まりました。「MCPとは、何の略でしょう?」。答えは 「Model Context Protocol」 。その名の通り、AIモデルに外部の「コンテキスト(文脈)」を提供するための通信規約です。
では、なぜ今この規約が必要なのでしょうか。
「VS Codeの中だけで閉じるのではなく、外の世界に繋ぎたいですよね。独自のデータベース、SharePointのデータ、GitHubのリポジトリ…。これらと連携しようとした時、それぞれが独自のやり方を持っていたら、インテグレーションのカオスが生まれてしまいます」 —— 千代田 まどか氏
MCPは、このカオスを解決します。AIクライアント(Copilotなど)と、外部ツールを操作するMCPサーバーとの間の対話方法を標準化することで、どんなツールも、どんなAIからも、同じ作法で利用できるようになるのです。まさに、あらゆる機器を同じポートに接続できる「USB-C」のように。
このMCPの世界は、3つの登場人物で構成されています。
Host: VS Codeなど、AIが動作する母艦。
Client: GitHub Copilotなど、対話を行うAI。
Server: GitHubやPlaywright、あるいは自作のツールなど、特定の能力を提供するサービス。
この日のライブコーディングは、この3者が連携し、新しいアプリケーションを生み出すプロセスを、私たちに見せてくれました。
ライブコーディングで見る、MCPサーバー構築のリアル
この日のメインイベントは、C#を使い、ゼロからMCPサーバーを構築し、それをCopilotから利用するまでの一連の流れを実演するライブコーディングでした。
ステップ1:準備と、既存サーバーとの対話
まず、dotnet new consoleコマンドで簡単なコンソールアプリの雛形を作成。そして、プロジェクトのルートに.vscode/mcp.jsonという設定ファイルを作り、利用したいMCPサーバーを定義します。
[
"https://mcp.monkey.tools/mcp",
"https://api.github.com/mcp"
]驚くべきは、たったこれだけの設定で、Copilotが即座に2つの外部ツール——サルの情報を返すジョークサーバー「Monkey MCP」と、公式の「GitHub MCP」——を認識し、対話を始めることです。
「Microsoftの.NETリポジトリのIssueを出して」
この指示に対し、CopilotはGitHub MCPのlistIssuesツールを呼び出し、的確にIssueの一覧を返してきます。AIが外部のAPIと自在に対話し始める瞬間を、私たちは目の当たりにしました。
ステップ2:自作サーバーのロジックを実装する
次に、いよいよ自分たちだけのMCPサーバーを構築します。お題は「品川のおすすめランチを提案してくれるサーバー」。 まず、レストランのリストを持つ簡単なRestaurantServiceクラスを定義。そして、このサービスを呼び出すRestaurantToolsクラスを作成し、AIに公開したいメソッドに属性(Attribute)を付与していきます。
[MCPTool]
public Restaurant GetRandomRestaurant()
{
// ランダムにレストランを返すロジック
}[MCPTool]という属性をつけるだけで、このメソッドがCopilotから呼び出し可能な「ツール」として認識されるようになります。
ステップ3:サーバーの起動と、AIとの接続
ロジックが完成したら、メインのプログラム(Program.cs)で、自作したツールをMCPサーバーとしてセットアップします。
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddMCPServer(options =>
{
options.AddTool(new RestaurantTools());
});
// ... アプリケーションの起動そして、mcp.jsonに、今作ったサーバーを起動するコマンドを追記します。
{
"name": "LunchTimeMCP",
"command": "dotnet",
"args": ["run", "--project", "./path/to/project.csproj"]
}VS CodeのCopilotチャットを再起動すると、AIは即座に新しい「ランチ推薦ツール」の存在を認識。
「今日のランチのおすすめを提案して」
この指示に対し、Copilotは私たちがたった今作ったばかりのGetRandomRestaurantツールを正確に呼び出し、「今日はブルーオーシャンなどいかがでしょう?」と、気の利いた提案を返してくれました。AIに新しい能力を「教える」ことが、これほど簡単だとは誰が想像したでしょうか。
MCPが提供する3つの力
このデモを通じて、MCPが単なるツール呼び出し(Function Calling)に留まらない、より豊かな対話能力を持つことが明らかになりました。
ツール (Tools):
[MCPTool]で定義した、AIが実行できる具体的な「動詞」。リソース (Resources): データベースのスキーマやドキュメントなど、AIにコンテキストとして渡せる読み取り専用の「名詞」。
プロンプト (Prompts):
/(スラッシュコマンド)で呼び出せる、定型的な指示のテンプレート。
これらを組み合わせることで、私たちはAIとの対話をより高度に、そして効率的にデザインすることができます。
プロトコルが拓く、創造性の新大陸
「Let's Learn MCP」が私たちに教えてくれたのは、MCPが単なる技術仕様ではなく、開発者の創造性を解放するためのプロトコルであるという事実でした。
これまでAIにとってブラックボックスだった私たちの開発環境や業務知識。MCPは、それらをAIが理解できる「言語」へと翻訳し、対話のテーブルにつかせるための招待状です。
今日のデモで見たように、MCPサーバーの構築は、もはや特別な専門知識を必要としません。C#のSDKとプロジェクトテンプレートを使えば、わずか数十分で、自分だけのツールをAIに提供できるのです。それは、AIを単なる「利用者」から、自社のドメイン知識をAIに教え込み、共にシステムを創造していく「アーキテクト」へと、私たち自身の役割を進化させる扉でもあります。
AIとツールがシームレスに対話し始めることで、どんな新しい開発体験が生まれるのか。その答えは、まだ誰も知りません。MCPという名のプロトコルが拓いたこの創造性の新大陸を、これから私たち自身の手で探検していくのです。その冒険の始まりに立ち会えた、素晴らしい昼休みの1時間でした。
Yardでは、AI・テック領域に特化したスポットコンサル サービスを提供しています。
興味がある方は、初回の無料スポットコンサルをお申し込みください。
また、資料請求やお問い合わせもお待ちしております。テック領域の知見を獲得し、事業成長を一緒に実現していきましょう。
Read next
Loading recommendations...
