話題のMCPはこの一冊から。基本概念にとどまらず、
はじめに
第1章 MCPとは何か?
1.1 MCPの概要
1.2 AIエージェントの発展とMCP登場の背景
1.2.1 AIエージェントとは
1.2.2 AIエージェントの歴史
1.2.3 AIコーディングツールの登場と課題
1.2.4 研究分野でのAIエージェント
1.2.5 MCPの登場
1.2.6 MCPのイメージ
第2章 まずはMCPサーバーを使ってみる
2.1 環境構築
2.1.1 PCの環境構築
2.1.2 MCPホストの設定
2.1.3 外部サービス・アプリ・デバイスの設定
2.1.4 環境構築がうまくいかないとき
2.2 MCPサーバーを使う
2.2.1 単体でMCPサーバーを活用
2.2.2 複数のMCPサーバーを組み合わせて活用
2.2.3 サービス・アプリとMCPサーバーを組み合わせて活用
2.3 MCPサーバーの探し方
2.3.1 公式サイト
2.3.2 Cline Marketplace
2.3.3 その他の検索方法
2.4 MCPサーバー使用時の注意点
2.4.1 セキュリティ
2.4.2 MCPサーバーを登録しすぎない
第3章 MCPのアーキテクチャ
3.1 MCPの基本構造
3.1.1 MCPアーキテクチャの全体像
3.1.2 登場人物の役割
3.1.3 実装上のポイント
3.2 JSON-RPC 2.0とは
3.2.1 なぜJSON-RPCなのか?
3.2.2 主要なメッセージタイプ
3.2.3 JSON-RPCメッセージの構造
3.2.4 JSON-RPCとREST APIの違い
3.2.5 MCPの通信基盤としてのJSON-RPC
3.3 MCPセッションとライフサイクル
3.3.1 セッションとは
3.3.2 セッションのライフサイクル
3.3.3 ケーパビリティ交渉(Capability Negotiation)
3.4 トランスポート層の概要
3.4.1 トランスポート層の役割
3.4.2 主要なトランスポート:stdioとStreamable HTTP
第4章 MCPサーバー開発
4.1 MCPサーバー開発時の留意点
4.1.1 適切な粒度・数のツールを提供する
4.1.2 LLMにとって理解しやすいツールを提供する
4.1.3 エラーを適切に処理する
4.1.4 入力の検証・サニタイズを行う
4.1.5 公式の仕様に準拠した実装を行う
4.2 MCPサーバーが公開する主な機能(MCPメソッド)
4.2.1 Tools:サーバーがLLM向けに提供するツール
4.2.2 Prompts:LLMがうまくMCPを使うためのプロンプト
4.2.3 Resources:サーバーがLLM向けに提供するデータ
4.3 Python SDKの概要と使い方
4.3.1 Python SDKの2つの実装レベル
4.3.2 FastMCPの使い方
4.3.3 Server(低レベル実装)の使い方
4.4 MCPサーバーのエラー処理とロギング
4.4.1 MCPサーバーのエラー処理
4.4.2 MCPサーバーのロギング
4.4.3 MCPサーバーのテストとデバッグ
4.5 実践:シンプルなMCPサーバーを作ってみる
4.5.1 ステップ1:必要ライブラリのインポートと変数読み込み
4.5.2 ステップ2:MCPサーバーの初期化
4.5.3 ステップ3:MCPツールを定義
4.5.4 ステップ4:エラー処理・ロギングの実装
4.5.5 ステップ5:エントリーポイントの作成
4.5.6 ステップ6:MCP Inspectorを用いたサーバー挙動確認
4.5.7 まとめ
第5章 MCPホスト開発
5.1 MCPホストの役割と設計
5.2 MCPホストとサーバーの連携のためのセッション実装
5.2.1 基本的な利用手順
5.2.2 レスポンスとエラーハンドリング
5.2.3 サーバーからの通知を処理する
5.3 MCPホストとLLMの連携の実装
5.3.1 連携の全体像
5.3.2 LLMへのMCPサーバーの持つツールの提示
5.3.3 LLMの応答からのMCPリクエスト生成
5.3.4 ツール実行結果のLLMへのフィードバック
5.3.5 コンテキストの管理
5.4 MCPホストのエラー処理とロギング
5.4.1 サーバーからのエラー応答
5.4.2 ネットワークエラーとタイムアウトへの対処
5.4.3 ユーザーへの適切なフィードバック
5.4.4 クライアント側のロギング
5.5 実践:シンプルなMCPホストを作ってみる
5.5.1 ステップ1:基本的な構造とインポート
5.5.2 ステップ2:MCPサーバー設定の定義
5.5.3 ステップ3:MCPツールからOpenAIツールへの変換
5.5.4 ステップ4:MCPサーバーの初期化とツール情報の集約
5.5.5 ステップ5:LLMからのツール呼び出し指示の処理
5.5.6 ステップ6:メインのチャットループ実装
5.5.7 ステップ7:エントリーポイントの作成
5.5.8 実行方法
5.5.9 まとめ
第6章 LLMでMCPサーバー/ホストを開発する
6.1 AIコーディングの基礎
6.1.1 AIコーディングの利便性
6.1.2 AIコーディングツール
6.1.3 AIコーディングでの開発の流れ
6.1.4 AIコーディングのテンプレート
6.1.5 テンプレートリポジトリの使い方
6.2 LLMによるMCPサーバーの開発
6.2.1 NotionMCP Lightの開発
6.2.2 MCP RAG Server
6.3 LLMによるMCPホストの開発
6.3.1 自分用のMCPホスト
6.3.2 ローカルLLMに対応したMCPホスト