MCP サーバー開発入門:プロトコル仕様と実装例

AI Navigate Original / 2026/4/27

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage
共有:

要点

  • MCP は Agent がツール/データに繋ぐ標準プロトコル
  • 3 機能:Tools・Resources・Prompts、約 100 行のサーバー
  • 権限チェック実装、第三者サーバーはコードを読む
  • Local(stdio)/Remote(HTTP+SSE)、MCP は Agent 時代の USB-C

MCP(Model Context Protocol)は、AI アシスタントに外部のツールやデータをつなぐための共通規格です。Anthropic が 2024 年 11 月に公開し、いまでは OpenAI・Google・Microsoft も対応する事実上の標準になりました。本稿は「MCP とは何か」から、実際に動くサーバーの書き方、通信方式の選び方、認可とセキュリティまでを、はじめての人が読んでも分かるように図とともに整理します。

AI クライアント Claude / ChatGPT 等 MCP(共通の口) MCP サーバー A MCP サーバー B MCP サーバー C ファイル / DB 社内 API SaaS

FIG.1 MCP は「1 度サーバーを作れば、対応するどのクライアントからも使える」共通の差込口

01MCP は「AI 用の USB-C」

MCP が登場する前は、AI に外部ツールをつなぐ方法がベンダーごとにバラバラでした。あるモデルの Function Calling 用に書いた連携コードは、別のモデルでは作り直し。ツール × クライアントの数だけ実装が増える、というのが悩みでした。

MCP は、その差込口を1 つの規格に統一します。USB-C ケーブルが 1 本あればノート PC でもスマホでも充電できるのと同じで、MCP サーバーを 1 度作れば、対応するどのクライアント(Claude、ChatGPT、各種 IDE など)からでも同じように呼び出せます。仕様の中身は JSON-RPC 2.0 でやり取りする、軽量なメッセージ規約です。

作るのはツールごとに 1 回。使えるのは 対応クライアントすべて。これが MCP の効きどころ。

02サーバーが提供できる 3 つの機能

MCP サーバーがクライアントに差し出せる「機能」は、大きく 3 種類です。役割がはっきり分かれているので、最初にここを押さえると設計が楽になります。

Tools(道具)

AI が実行できる関数。例:「DB を検索」「ファイルを書き込む」「外部 API を叩く」。副作用を伴う操作はここ。

Resources(資料)

AI が読み取れるデータ。例:「ファイル一覧」「最新ログ」「DB スキーマ」。URI で参照する読み取り専用の素材。

Prompts(雛形)

使い回せるプロンプトの型。例:「コードレビュー用チェックリスト」「議事録テンプレ」。ユーザーが選んで呼び出す。

迷いやすいのは Tools と Resources の境目です。「AI が能動的に呼んで何かをする」のが Tools、「文脈として読むだけ」のが Resources、と覚えると区別できます。実際の現場では Tools が主役で、Resources・Prompts は補助的に使われることが多いです。

03最小のサーバーを書く(TypeScript)

公式 SDK @modelcontextprotocol/sdk を使うと、サーバー本体は数十行で書けます。現在の推奨は、高レベル API の McpServer クラスと registerTool メソッドです。引数の検証には zod でスキーマを書くのが定番で、入力チェックを SDK 側に任せられます。

続きを読むには無料登録が必要です

アカウントを作成すると、オリジナル記事の全文をお読みいただけます。