PythonとMCPで実装するAIエージェント基盤 プロトコルの基礎からコード設計/認証認可/本番運用まで
インプレス
- Christoffer Noring(著者)、 株式会社クイープ(著者)
PythonでAIエージェント基盤を実装! MCP 2.0もフォロー
Pythonで一から作るAIエージェント基盤!―本書は、AIと外部システムをつなぐ標準プロトコル「MCP」の仕組みを理解しながら、サーバーとクライアントを構築する実践的技術書です。プロトコルの基礎から学びつつ、日本語版独自コラムと追加コードで最新のMCP 2.0に対応! ステートレス化など、プロトコル進化の背景にある設計意図も見えてきます。LLMの統合からセキュアな本番運用まで、本格的な自律型AIシステムの基本的なスキルを把握できます。
発売日:2026-09-24
ページ数:296ページ
目次
表紙
サンプルコード・正誤表・免責など
献辞
まえがき
はじめに
目次
第1章 Model Context Protocolの意義
1.1 これまでの歩み:SOAPからREST、GraphQL、gRPC、そしてMCPへ/1.2 標準の必要性
1.3 無限の可能性:プロンプトの与え方さえ知っていれば、MCPサーバーの世界は思いのまま
1.4 MCPとは何か/1.5 本章のまとめと次のステップ
第2章 詳解MCP
2.1 MCPを実装しながら学ぶ/2.2 MCPにおけるトランスポート
2.2.1 STDIOトランスポート
2.2.2 MCPの初期化プロセス
2.2.3 各種機能のサポート
2.2.4 通知、進捗の報告、重要な更新
2.2.5 サンプリング:サーバーによるリクエストの完了を支援する
2.2.6 SSEトランスポート
2.2.7 Streamable HTTP
2.3 本章のまとめ
第3章 サーバーの構築とテスト
3.1 STDIOサーバー
3.2 概念:リソース、ツール、プロンプト/3.2.1 リソース
3.2.2 ツール
3.2.3 プロンプト/3.3 ランタイム
3.4 サーバーのテスト/3.4.1 Inspector
3.4.2 cURL/3.4.3 テスト
3.5 最初のサーバー
3.5.1 ステップ1:新しいプロジェクトを作成する
3.5.2 ステップ2:依存パッケージをインストールする/3.5.3 ステップ3:サーバーコードを追加する
3.5.4 ステップ4:Inspectorを使ってサーバーをテストする
3.5.5 ステップ5:InspectorのCLIモードを使ってサーバーをテストする
3.6 本章のまとめ
第4章 SSEサーバーの構築:動的でリアルタイム性の高いアプリの実現/4.1 SSEの概念
4.2 SSEサーバーをWebアプリケーションとして構築する/4.2.1 Starlette
4.2.2 StarletteとMCP
4.3 SSEを使ったテスト/4.3.1 Inspectorを使ったテスト
4.3.2 Webクライアントを使ったテスト
4.4 SSEサーバーの構築/4.4.1 プロジェクトをセットアップする
4.4.2 サーバーコードを追加する/4.4.3 機能を追加する
4.4.4 サーバーを起動する
4.4.5 サーバーをテストする
4.5 本章のまとめ
第5章 Streamable HTTP:MCPサーバーのHTTPストリーミング技術
5.1 なぜStreamable HTTPは新しい標準になったのか
5.2 MCPにおけるStreamable HTTP
5.3 再開可能性
5.4 通知
5.4.1 通知の生成
5.4.2 通知の処理
5.4.3 Inspectorでの通知
5.4.4 再開可能性を持つ通知/5.5 Streamable HTTPを使ったサーバーの構築とテスト
5.6 サーバーのテスト/5.6.1 Inspectorを使ってテストする
5.6.2 cURLを使ってテストする
5.6.3 通知を処理するクライアントを構築する
5.7 再開可能性のテスト
5.8 本章のまとめ
第6章 高度なMCPサーバー構築法
6.1 なぜこの低レベルなアプローチを使うのか/6.2 コンテキストマネージャー
6.2.1 contextlibを使ったコンテキストマネージャーの作成/6.2.2 コンテキストマネージャーの実装
6.3 MCPサーバーのコンテキストマネージャー
6.4 低レベルアクセス
6.5 アーキテクチャの整理
6.5.1 低レベルサーバーでlist_toolsレスポンスを構築する
6.5.2 コードを整理し、ツールとスキーマを作成する
6.5.3 ツールの呼び出しを処理する
6.6 本章のまとめ
第7章 MCPクライアントの構築
7.1 クライアントの構築/7.2 演習:クライアントを構築する/7.2.1 クライアントをサーバーに接続する
7.2.2 サーバーの機能のリストを取得する
7.2.3 利用する機能を選択する
7.2.4 完全なコード
7.3 LLMを統合したクライアント
7.3.1 LLMを統合する前/7.3.2 LLMを統合した後/7.4 LLMを利用する
7.5 演習:LLMを統合する/7.5.1 サーバーの機能のリストを取得する
7.5.2 機能のリストをLLMツールに変換する
7.5.3 ユーザー入力を管理する
7.5.4 クライアントが利用するサーバー機能と送信するパラメータを判断する
7.6 本章のまとめ
第8章 MCPサーバーの効果的な利用法
8.1 Claude DesktopやVS CodeなどのホストによるMCPサーバーの利用
8.1.1 VS CodeでのMCPサポート
8.1.2 Claude Desktop
8.2 インストールプロセス/8.2.1 mcp.jsonファイル
8.3 MCPサーバーの追加
8.3.1 ステップ1:サーバーをインストールする
8.3.2 ステップ2:サーバーを管理する
8.3.3 ステップ3:サーバーを利用する
8.4 ローカルインストールとグローバルインストール
8.5 ヒントとコツ/8.5.1 デバッグ
8.5.2 トラブルシューティング
8.5.3 ツールの管理
8.5.4 その他の設定
8.6 セキュリティの適用
8.7 お勧めのMCPサーバー/8.8 本章のまとめ
第9章 サンプリング:サーバーからクライアントへの依頼
9.1 サンプリングの目的/9.1.1 サンプリングの流れ
9.1.2 シナリオ
9.1.3 メッセージ
9.2 サンプリングの実装/9.2.1 サーバー実装
9.2.2 クライアント実装
9.3 本章のまとめ
第10章 エリシテーション:サーバーからユーザーへの依頼
10.1 エリシテーションの目的
10.2 エリシテーションの実装/10.3 エリシテーションの流れ
10.4 JSON-RPCメッセージ
10.4.1 リクエストスキーマのデータ型
10.5 サーバー側でのエリシテーションの実装
10.5.1 VS Codeによるエリシテーションのテスト
10.6 クライアント側でのエリシテーションの実装
10.7 本章のまとめ
第11章 アプリケーションのセキュリティ対策
11.1 Basic認証
11.2 Bearerトークン認証
11.2.1 MCPサーバーに認証を適用する/11.2.2 MCPサーバーを実装し、Webアプリケーションとして起動する
11.2.3 ミドルウェアを作成する
11.2.4 ミドルウェアをテストする
11.3 JWTによるセキュリティの強化
11.3.1 JWTはどのように機能するか
11.3.2 JWTを作成する
11.3.3 JWTを検証する
11.3.4 JWTをミドルウェア(およびMCPサーバー)に統合する
11.4 OAuth2
11.4.1 OAuth 2.1の処理の流れ
11.4.2 OAuth 2.1の内部の仕組み
11.4.3 OAuth 2.1によるセキュリティに関する総括
11.5 本章のまとめ
第12章 MCPアプリケーションの本番環境への導入
12.1 アーキテクチャと設計/12.1.1 統合パターン
12.1.2 ドキュメント化
12.1.3 アーキテクチャレビュー
12.2 パッケージ化と配布
12.2.1 パッケージ化の選択肢
12.2.2 配布チャネル
12.2.3 セマンティックバージョニングの採用
12.3 テスト戦略とデプロイの自動化/12.3.1 テスト戦略
12.3.2 デプロイの自動化/12.4 運用と可観測性
12.4.1 可観測性
12.4.2 スケーラビリティとレジリエンス
12.4.3 監視とフィードバック
12.4.4 ガバナンスとコンプライアンス/12.4.5 将来を見据えた設計
12.5 本章のまとめ
付録A モダンPythonでのWebの構築/A.1 型ヒントとデータモデリング
A.1.1 型ヒントを使ってコードを改善する/A.1.2 Pydanticを追加する
A.2 asyncとawait
A.3 Uvicorn:ASGIサーバー
A.4 コンテキストマネージャー
A.4.1 contextmanagerデコレータ/A.5 uv:開発環境マネージャー
索引
翻訳者紹介・STAFF LIST
奥付
絶賛!発売中!
-
- Just Use Postgres!
- 予約 4510円
-
- Denis Magda(著者)、 曽根 壮大(翻訳)、 加藤 慎也(翻訳)、 池田 凜太郎(翻訳)、 こば@tzkb(監修)
- データベース
-
- 予約受付中
-
- 現場で本当に効く 実践サイバーセキュリティ対策
- 予約 3190円
-
- VLCセキュリティラボ(著者)、 中本 有哉(著者)
- その他
-
- 予約受付中
-
- 協働ソフトウェア設計
- 予約 4796円
-
- Evelyn van Kelle(著者)、 Gien Verschatse(著者)、 Kenny Baas-Schwegler(著者)、 増田 亨(監修)、 長尾 高弘(翻訳)
- その他
-
- 予約受付中
- 運営会社
- FAQ
- お問い合わせ
- 利用規約
- オンライン販売について
- 特定商取引法に関する記載
- ゲームソフトの利用に関するガイドライン|
- 個人情報について
- PURCHASE GUIDE (ENGLISH)|
Copyright © Mynavi Publishing Corporation




