csharp-mcp-server-generator について
.NET 8.0 以降で C# MCP サーバーを生成する開発者向けのスキルです。Host と依存性注入、stdio トランスポート、ツール属性、エラー処理、実行手順を指定します。
主な機能
- 01C# コンソールプロジェクト構成の作成
- 02Host と依存性注入の設定
- 03stdio トランスポートとログの設定
- 04説明と検証付きツールの生成
- 05実行・テスト・トラブルシューティング手順
活用シーン
- 01C# MCP サーバーの新規作成
- 02サーバーへのカスタムツール追加
- 03エラー処理とドキュメントを含む雛形生成
MCP 対応
MCP クライアントが stdio トランスポートで接続できる MCP サーバーを生成します。生成されたサーバーは、クライアントが呼び出すツールを登録します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill csharp-mcp-server-generatorインストール後、Claude Code で/csharp-mcp-server-generatorを入力して読み込まれたか確認します。
詳細
C# MCP サーバーを生成する
以下の仕様に従って、完全な Model Context Protocol (MCP) サーバーを C# で作成してください。
要件
- プロジェクト構造: 適切なディレクトリ構造を持つ新しい C# コンソールアプリケーションを作成する
- NuGet パッケージ: ModelContextProtocol (プレリリース) と Microsoft.Extensions.Hosting を含める
- ログ構成: stdio トランスポートへの干渉を避けるため、すべてのログを stderr に出力するよう構成する
- サーバー設定: 適切な DI 構成を備えた Host ビルダーパターンを使用する
- ツール: 適切な属性と説明を備えた、少なくとも 1 つの有用なツールを作成する
- エラー処理: 適切なエラー処理と検証を含める
実装の詳細
基本的なプロジェクトのセットアップ
- .NET 8.0 以降を使用する
- コンソールアプリケーションを作成する
- 必要な NuGet パッケージを --prerelease フラグ付きで追加する
- ログを stderr に出力するよう構成する
サーバー構成
- DI とライフサイクル管理のために
Host.CreateApplicationBuilderを使用する - stdio トランスポートで
AddMcpServer()を構成する - ツールの自動検出のために
WithToolsFromAssembly()を使用する - サーバーが
RunAsync()で実行されることを確認する
ツールの実装
- ツールクラスに
[McpServerToolType]属性を使用する - ツールメソッドに
[McpServerTool]属性を使用する - ツールとパラメーターに
[Description]属性を追加する - 必要に応じて非同期操作をサポートする
- 適切なパラメーター検証を含める
コード品質
- C# の命名規則に従う
- XML ドキュメントコメントを含める
- null 許容参照型を使用する
- McpProtocolException を用いた適切なエラー処理を実装する
- デバッグのために構造化ログを使用する
検討すべきツールの種類の例
- ファイル操作 (読み取り、書き込み、検索)
- データ処理 (変換、検証、分析)
- 外部 API 連携 (HTTP リクエスト)
- システム操作 (コマンドの実行、ステータスの確認)
- データベース操作 (クエリ、更新)
テストのガイダンス
- サーバーの実行方法を説明する
- MCP クライアントでテストするためのコマンド例を提供する
- トラブルシューティングのヒントを含める
包括的なドキュメントとエラー処理を備えた、完全で本番環境に対応した MCP サーバーを生成してください。
コメント
Markdown 対応