掲載済み (2025-08-16号)
#146 514文字 • 3分

## MCP 基礎知識 & MCP 公式の MCP サーバ自作チュートリアル (C#) やってみた

掲載情報

概要

https://qiita.com/chomado/items/968eca2a96873ccad938

詳細内容

## MCP 基礎知識 & MCP 公式の MCP サーバ自作チュートリアル (C#) やってみた https://qiita.com/chomado/items/968eca2a96873ccad938 C#開発者向けに、LLMと連携するカスタムツールを構築するためのMCP (Model Context Protocol) サーバーの実装手順とその実践的なテスト方法を詳細に解説します。 **Content Type**: 📖 Tutorial & Guide **Scores**: Signal:4/5 | Depth:4/5 | Unique:3/5 | Practical:5/5 | Anti-Hype:4/5 **Main Journal**: 110/100 | **Annex Potential**: 103/100 | **Overall**: 80/100 **Topics**: [[Model Context Protocol, LLMツール連携, C#開発, JSON-RPC 2.0, AIエージェント構築]] このブログ記事は、C#開発者がModel Context Protocol (MCP) サーバーを構築するための実践的なチュートリアルを提供します。筆者は、MCPの公式ドキュメントにC#版のチュートリアルがあることを発見し、シンプルな天気予報MCPサーバー(`get_alerts`と`get_forecast`の2つのツールを持つ)の自作を通して、そのプロセスを詳細に解説しています。 ウェブアプリケーションエンジニアにとって、この内容はLLM(大規模言語モデル)の能力を既存のシステムやリアルタイムデータと連携させる上で極めて重要です。記事では、MCPのプリミティブな機能である「リソース」「ツール」「プロンプト」の概念を明確にし、特にLLMから呼び出される「ツール」に焦点を当てています。通信方式として、ローカル環境向けの「標準入出力」とリモート環境向けの「Streamable HTTP」、そしてそれらが「JSON-RPC 2.0」形式でデータを送受信する仕組みが、具体的なリクエスト/レスポンス例を交えて説明されており、プロトコルへの理解を深めることができます。 C#での実装は、.NET 8以上を前提とし、`ModelContextProtocol` SDKと.NET Hostingを用いて、標準入出力トランスポートを備えたMCPサーバーを構築する手順を具体的に示します。`CreateEmptyApplicationBuilder`の使用や、`HttpClient`の拡張、`[McpServerTool]`アトリビュートを使ったツールの定義方法など、実用的なコード例が満載です。これにより、開発者は自身のC#アプリケーションにLLM連携機能をスムーズに組み込むための具体的な足がかりを得られます。 なぜこれが重要かというと、GitHub CopilotやClaudeのようなAIアシスタントは、学習データに基づいた知識は豊富ですが、リアルタイムの外部情報や企業独自のシステムには直接アクセスできません。MCPサーバーを自作することで、開発者はこれらのLLMに外部APIとの連携能力を付与し、よりインテリジェントで実用的なAIエージェントや自動化された開発ワークフローを構築できるようになります。記事では、構築したサーバーをMCP Inspectorでデバッグし、さらにClaude Desktopと連携させてテストする手順まで網羅されており、開発から検証までの具体的なパイプラインが示されています。これは、LLMを単なるコード生成器に留めず、自律的なエージェントとして活用するための、具体的な一歩を示しています。