MCP Server 学習資料

Claude Code・Codex・Antigravity CLI から呼び出せる MCP Server を、いちから自分で書けるようになるための資料

📅 作成: 2026-09-07 / 更新: 2026-09-07

MCP(Model Context Protocol)を知らないところから始めて、120 分で自分の MCP Server を書き、AI コーディング CLI に登録して呼び出せるところまで進みます。JavaScript の文法は知っている前提で、MCP の側だけを扱います。
載せてあるコードはすべて動かして確かめたものです。

本編

  1. 01. 背景
  2. 02. 最小のサーバー
  3. 03. SDK で書き直す
  4. 04. ホストに登録する
  5. 05. 3 つの提供物
  6. 06. ハンズオン① メモサーバー
  7. 07. HTTP に載せ替える
  8. 08. 通知で伝える
  9. 09. タスク
  10. 10. プロセス共有
  11. 11. ハンズオン② ビルド実行

付録

  1. A1. 逆引き
  2. A2. 詰まったとき
  3. A3. 単一 exe にする

この資料について

  1. ZZ. 構成

この資料について

対象読者

項目前提
MCPまったく知らない
JavaScript文法は十分に知っている。asyncawait・モジュール・クラスの説明は要らない
AI コーディング CLIClaude Code・Codex を「とりあえず使える」水準
サーバー開発HTTP・プロセス・標準入出力は分かる。JSON-RPC は知らなくてよい

到達点

扱う範囲

扱う扱わない
MCP Server の実装(Node.js / JavaScript)MCP Client(ホスト側)の実装
stdio と Streamable HTTP の 2 つのトランスポートLLM そのものの仕組み
Tools・Resources・Prompts の使い分けTypeScript の型システムの解説
3 つの CLI への登録方法MCP Server の商用ホスティング
処理の完了を伝える通知とタスク認証(OAuth)を伴うリモート MCP
同一 PC で 1 本のサーバーを共有する構成 
C# で単一 exe にする方法(付録) 

手を動かす

用意する

npm install

サンプルを動かす

資料に出てくるサーバーは docs/samples/ にあります。手で叩いて確かめられます。

@(
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"手","version":"1.0"}}}'
'{"jsonrpc":"2.0","method":"notifications/initialized"}'
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
) -join "`n" | node docs/samples/02-minimal/server.mjs

テストを流す

node --test --test-concurrency=1 tests/

tools/40_test/run-tests.cmd をダブルクリックしても同じことができます。

対象環境

対象確認方法
Node.jsv26.8.1node --version
npm11.19.0npm --version
@modelcontextprotocol/sdk1.30.0npm view @modelcontextprotocol/sdk version
MCP 仕様2025-11-25仕様サイト
OSWindows 11パスの区切りと設定ファイルの場所が異なる箇所は本文で示す

ホストによって喋る MCP の版が違います。実測では Claude Code が 2025-11-25、Codex が 2025-06-18 でした。この資料は 2025-11-25 を基準にしています。詳しくは 01. 背景

置き場

フォルダ中身
docs/学習資料の本編と付録
docs/samples/資料に載せたサンプルコード
tests/サンプルを検証するテスト
tools/40_test/テストの実行ランチャー
notes/作る側のための管理ドキュメント

作る側の資料

MCP Server 学習資料 計画

参考にした資料

資料関係
MCP 仕様 2025-11-25本資料の根拠。迷ったらこちらが正
TypeScript 学習資料構成と書き方を揃えている。型の話はこちらに譲る
PowerShell 学習資料構成と書き方を揃えている