MCP原理揭秘與開發指南——構建可擴展的AI智能體
嚴燦平
- 出版商: 電子工業
- 出版日期: 2025-07-01
- 售價: $654
- 語言: 簡體中文
- 頁數: 336
- ISBN: 7121505592
- ISBN-13: 9787121505591
尚未上市,歡迎預購
買這商品的人也買了...
-
$270區塊鏈技術原理及底層架構
-
$403DAG 區塊鏈技術:原理與實踐
-
$454分佈式微服務架構:原理與實戰
-
$709Linux 高效運維實戰
-
$827高性能 Linux 服務器運維實戰:shell 編程、監控告警、性能優化與實戰案例
-
$599$569 -
$1,500$1,425 -
$539$512 -
$254大數據實時流處理技術實戰 — 基於 Flink + Kafka 技術
-
$680$530 -
$479MCP極簡開發 輕鬆打造高效智能體
相關主題
商品描述
本書全面介紹了MCP(模型上下文協議)及其開發與應用技術。本書首先系統地介紹了MCP與智能體的基礎概念,讓讀者了解MCP在智能體架構中的角色,然後深入剖析了MCP的工作原理、傳輸模式與核心設計。本書也提供了詳細的開發指南,手把手教讀者使用SDK從零開始搭建MCP客戶端與MCP服務端,完成基本功能的開發與調試,在高級開發技巧部分,也介紹了MCP中的高級概念及高級開發技巧。最後,本書用大量篇幅指導讀者基於MCP開發智能體,包含了典型場景與主流開發框架下的多個實戰案例,助力讀者將理論與實踐相結合,構建具備可擴展性與高性能的智能體系統。
目錄大綱
第1章 認識AI智能體與MCP 1
1.1 走進AI智能體時代 1
1.1.1 智能體的起源 1
1.1.2 大模型時代的智能體 2
1.1.3 兩種類型的智能體系統 4
1.1.4 智能體的挑戰與趨勢 6
1.2 初步認識MCP 7
1.2.1 智能體時代AI應用集成的挑戰 7
1.2.2 MCP:一種新的AI應用集成標準 9
1.2.3 基於MCP的集成架構 11
1.3 從第一個MCP示例開始 14
1.3.1 開發環境與設置 14
1.3.2 第一個MCP示例 17
第2章 揭秘MCP規範與原理 22
2.1 總體架構 23
2.2 消息規範:互操作的基礎 24
2.2.1 什麼是JSON-RPC 2.0 24
2.2.2 理解基於JSON-RPC 2.0的遠程調用 26
2.3 通信機制:基於HTTP的遠程通信 28
2.3.1 無狀態HTTP Post的不足 28
2.3.2 詳解MCP的SSE通信機制 30
2.4 通信機制:基於stdio的本地通信 38
2.4.1 stdio通信的基本原理 39
2.4.2 模擬實現stdio模式的服務端 39
2.5 MCP架構下的會話生命周期 41
2.5.1 連接與初始化 41
2.5.2 交互與調用 43
2.5.3 連接關閉 44
2.6 服務端功能 44
2.6.1 工具(Tools):可執行的復雜邏輯 45
2.6.2 資源(Resources):動態的上下文信息 51
2.6.3 提示(Prompts):預置的模板 57
2.7 MCP客戶端功能 62
2.7.1 Roots:控制服務端的訪問範圍 62
2.7.2 Sampling:控制LLM的安全使用 65
2.8 MCP規範總結客戶端 69
第3章 基於SDK開發服務端 71
3.1 認識MCP SDK 71
3.1.1 關於MCP SDK及準備 71
3.1.2 了解MCP SDK的層次結構 72
3.2 使用FastMCP開發服務端 74
3.2.1 創建FastMCP Server實例 74
3.2.2 開發工具(Tools)功能 75
3.2.3 開發資源(Resources)功能 80
3.2.4 開發提示(Prompts)功能 82
3.2.5 啟動服務端 85
3.3 服務端的調試、跟蹤與部署 89
3.3.1 調試與跟蹤服務端 89
3.3.2 部署MCP遠程服務端 99
第4章 基於SDK開發客戶端 106
4.1 用Python庫模擬客戶端 106
4.1.1 模擬遠程模式(HTTP)客戶端 107
4.1.2 模擬本地模式(stdio)客戶端 116
4.2 基於SDK開發客戶端 120
4.2.1 實戰準備 - 通用的MCP測試客戶端 120
4.2.2 遠程連接與初始化 121
4.2.3 本地連接與初始化 123
4.2.4 工具的發現與調用 124
4.2.5 資源的發現與調用 127
4.2.6 提示(Prompts)的發現與調用 130
4.2.7 優化 - 緩存服務端功能列表 132
4.3 MCP SDK開發小結 135
第5章 MCP高級開發技巧 136
5.1 基於低層SDK開發服務端 136
5.1.1 創建低層Server實例 137
5.1.2 開發與註冊服務端功能 137
5.1.3 啟動低層Server實例 141
5.2 使用生命周期管理器lifespan 145
5.2.1 預備知識:上下文管理器 145
5.2.2 生命周期管理器 147
5.2.3 在Server實例中使用lifespan 148
5.2.4 在Starlette實例中使用lifespan(SSE模式) 153
5.3 實現應用層的ping機制 155
5.3.1 預備知識:服務端的ServerSession 155
5.3.2 ping請求的消息格式 157
5.3.3 實現ServerSession的ping任務 157
5.3.4 驗證ping機制 162
5.4. 服務端通知(Notification)的應用 164
5.4.1 認識通知 164
5.4.2 常見的通知類型 165
5.4.3 實現列表變更通知 166
5.4.4 實現服務端任務的“進度條” 175
5.5 實現服務端的工具調用緩存 181
5.5.1 實現服務端的工具緩存類 182
5.5.2 用裝飾器給工具增加緩存 186
5.5.3 測試服務端工具緩存 189
5.6 切換WebSocket的傳輸層 191
5.6.1 服務端WebSocket傳輸的實現 191
5.6.2 客戶端WebSocket連接的實現 193
5.6.3 測試WebSocket傳輸模式 194
5.7 客戶端功能(Sampling等)的應用 195
5.7.1 實現客戶端Roots與Sampling功能 196
1.Roots回調函數 196
5.7.2 服務端調用客戶端Sampling功能 199
5.7.3 測試客戶端Sampling的調用 201
5.8 服務端的安全機制 203
5.8.1 基於安全Token的認證 204
5.8.2 基於OAuth的安全授權 205
第6章 基於MCP開發智能體系統 206
6.1 發現與配置社區MCP服務 206
6.1.1 發現社區共享的MCP服務 207
6.1.2 如何獲取、安裝與運行 208
6.1.3 在客戶端配置與使用 210
6.2 集成大模型與MCP服務 213
6.2.1 準備:多MCP服務端連接管理組件 214
6.2.2 集成函數調用(Function Calling)與MCP服務 219
6.3 集成智能體開發框架與MCP服務 226
6.3.1 集成LangGraph與MCP服務 227
6.3.2 其他主流的智能體框架與MCP集成 233
6.4 實戰:基於MCP架構的多文檔Agentic RAG系統 239
6.4.1 整體架構設計 239
6.4.2 實現服務端 241
6.4.3 實現客戶端的智能體 248
6.4.4 效果測試 253
6.4.5 後續優化空間 258
6.5 實戰:基於MCP架構的多智能體系統 259
6.5.1 整體架構設計 260
6.5.2 MCP服務端準備 261
6.5.3 智能體準備 264
6.5.4 構建多智能體工作流 268
6.5.5 客戶端(支持API模式) 274
6.5.6 效果測試 276
6.5.7 後續優化空間 280
第7章 解讀新版MCP規範與未來展望 282
7.1 新的Streamable HTTP遠程傳輸模式 282
7.2 引入基於OAuth 2.1的授權框架 286
7.3 支持JSON-RPC批處理 290
7.4 增加工具註解信息 292
7.5 增強其他方面的功能 295
7.5.1 在進度通知中增加message描述字段 295
7.5.2 新增音頻數據類型支持 296
7.5.3 新增自動補全能力標識 297
7.6 對MCP的未來展望 298