既存の C# サービスを MCP ツールとして公開する
使うタイミング: C# で動作するビジネス ライブラリがあり、エージェントがアクセスできるようにする必要があります。
前提条件
- .NET 8+ SDK — https://dotnet.microsoft.com/download
- MCPSharp パッケージ — dotnet パッケージ MCPSharp を追加
フロー
-
装飾メソッドOrdersService で公開したいパブリック メソッドに [McpTool] を追加します。 署名を保管してください。 MCPSharp に検証させます。✓ コピーしました→ 属性が適用され、XML ドキュメントが説明として使用されます
-
サーバーを起動しますMCPServer.StartAsync("orders", "1.0.0") を呼び出す Program.cs エントリ ポイントを追加します。✓ コピーしました→ dotnet run 経由で実行します。 MCP クライアントはツールを検出できます
-
Claude デスクトップに接続するdotnet バイナリを起動する claude_desktop_config.json スニペットを出力します。✓ コピーしました→ command=dotnet args=[run --project, path] を使用した構成ブロック
結果: 新しいコードをほとんど使用せずに、C# サービスを利用できる MCP サーバー。
注意点
- 大きなオブジェクトを整形せずに返す — DTO を返す — nav プロパティを使用して EF エンティティをシリアル化しないでください。応答が爆発してしまいます。