以下の内容はhttps://bluebirdofoz.hatenablog.com/entry/2026/03/08/223330より取得しました。


AWESOME-COPILOTのドキュメントを読む その53(C# MCP Server Development)

本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つC# MCP Server Developmentについてです。

C# MCP Server Development

C# MCP Server DevelopmentはC# SDKを使用してMCPサーバーを構築するための手順です。
MCP(Model Context Protocol)とはAI(Copilot など)が外部ツールやデータにアクセスするための標準プロトコルです。
以下のページからC# MCP Server Developmentのインストールボタンをクリックして取得します。
github.com

インストールボタンを押してC# MCP Server Developmentをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと Copilot は単にC#コードを書くのではなくMCPサーバー開発の設計原則を守るコード提案を行うようになります。

具体的にはCopilotは以下のような行動をとります。

MCPサーバー構造を理解したコード生成

CopilotはMCPサーバーの以下のような基本構造を前提に提案します。

Server
Tools
Resources
Prompts
要素 内容
Server MCPサーバー本体
Tools AIが呼び出す処理
Resources AIが参照するデータ
Prompts AIのプロンプトテンプレート

C# SDKを使ったMCPサーバー実装

CopilotはMCPのC# SDKを使う設計を前提にします。
例えば以下のコードを生成します。

  • MCP serverクラス
  • tool定義
  • request/response

つまり普通のC# Web APIではなくMCPサーバー用の設計パターンを使う提案になります。

ツール(Tool)設計のベストプラクティス

MCPではAIが呼び出す処理をToolと呼びます。
CopilotはAI が理解しやすい粒度でツールを分割するため、次の設計を推奨します。

get_user
search_documents
calculate_total

入力・出力スキーマを明確化

MCPツールでは入力スキーマ/出力スキーマを定義する必要があります。
CopilotはJSON Schemaと型定義を明確にしたコードを提案します。

例えば以下のようなコードです。

public record SearchRequest(string Query);

これによりAIがツールを正しく使え、型安全になるというメリットがあります。

Tool/Resource/Promptの役割分離

MCPサーバーでは次の3つを分ける設計が重要です。

機能 役割
Tool AIが実行する処理
Resource AIが読むデータ
Prompt AIの指示テンプレ

Copilotはこれを混ぜない設計を提案します。

セキュリティと安全性

CopilotはMCPサーバーで以下の点を考慮します。

  • 外部入力の検証
  • APIキー管理
  • 機密情報をログに出さない
  • 最小権限

非同期処理(async / await)

MCPサーバーはAIからのリクエストを処理するため、非同期処理が重要です。
Copilotは async Task などのasyncパターンを推奨します。

テスト可能な設計

Copilot は以下を考慮した設計を提案します。

  • DI
  • インターフェース
  • Mock可能

MCP サーバーは以下の要素と接続するためテストが重要です。

  • AI
  • 外部API
  • データベース

ログとデバッグ

Copilotはデバッグのために以下を考慮した提案を行います。

  • structured logging
  • エラーログ
  • request tracing



以上の内容はhttps://bluebirdofoz.hatenablog.com/entry/2026/03/08/223330より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14