MCP原理揭秘與開發(fā)指南——構建可擴展的AI智能體
定 價:109 元
當前圖書已被 6 所學校薦購過!
查看明細
- 作者:嚴燦平
- 出版時間:2025/7/1
- ISBN:9787121505591
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP18-62
- 頁碼:336
- 紙張:
- 版次:01
- 開本:16開
本書全面介紹了MCP(模型上下文協(xié)議)及其開發(fā)與應用技術。本書首先系統(tǒng)地介紹了MCP與智能體的基礎概念,讓讀者了解MCP在智能體架構中的角色,然后深入剖析了MCP的工作原理、傳輸模式與核心設計。本書也提供了詳細的開發(fā)指南,手把手教讀者使用SDK從零開始搭建MCP客戶端與MCP服務端,完成基本功能的開發(fā)與調(diào)試,在高級開發(fā)技巧部分,也介紹了MCP中的高級概念及高級開發(fā)技巧。最后,本書用大量篇幅指導讀者基于MCP開發(fā)智能體,包含了典型場景與主流開發(fā)框架下的多個實戰(zhàn)案例,助力讀者將理論與實踐相結合,構建具備可擴展性與高性能的智能體系統(tǒng)。
嚴燦平,先后就職于聯(lián)創(chuàng)(后與亞信科技合并)擔任軟件工程師與設計師,甲骨文中國(Oracle)擔任中國區(qū)企業(yè)架構部首席架構師,上;蹎栃畔⒖萍加邢薰緭魏匣锶思婕夹g總監(jiān)。現(xiàn)為獨立IT咨詢顧問,公眾號“AI大模型應用實踐”主理人。擁有超過20年的企業(yè)軟件從業(yè)經(jīng)驗,專注于企業(yè)軟件架構設計、互聯(lián)網(wǎng)時代傳統(tǒng)行業(yè)的IT轉型、人工智能與大數(shù)據(jù)技術在企業(yè)應用的創(chuàng)新等。
第1章 認識AI智能體與MCP 1
1.1 走進AI智能體時代 1
1.1.1 智能體的起源 1
1.1.2 大模型時代的智能體 2
1.1.3 兩種類型的智能體系統(tǒng) 4
1.1.4 智能體的挑戰(zhàn)與趨勢 6
1.2 初步認識MCP 7
1.2.1 智能體時代AI應用集成的挑戰(zhàn) 7
1.2.2 MCP:一種新的AI應用集成標準 9
1.2.3 基于MCP的集成架構 11
1.3 從第一個MCP示例開始 14
1.3.1 開發(fā)環(huán)境與設置 14
1.3.2 第一個MCP示例 17
第2章 揭秘MCP規(guī)范與原理 22
2.1 總體架構 23
2.2 消息規(guī)范:互操作的基礎 24
2.2.1 什么是JSON-RPC 2.0 24
2.2.2 理解基于JSON-RPC 2.0的遠程調(diào)用 26
2.3 通信機制:基于HTTP的遠程通信 28
2.3.1 無狀態(tài)HTTP Post的不足 28
2.3.2 詳解MCP的SSE通信機制 30
2.4 通信機制:基于stdio的本地通信 38
2.4.1 stdio通信的基本原理 39
2.4.2 模擬實現(xiàn)stdio模式的服務端 39
2.5 MCP架構下的會話生命周期 41
2.5.1 連接與初始化 41
2.5.2 交互與調(diào)用 43
2.5.3 連接關閉 44
2.6 服務端功能 44
2.6.1 工具(Tools):可執(zhí)行的復雜邏輯 45
2.6.2 資源(Resources):動態(tài)的上下文信息 51
2.6.3 提示(Prompts):預置的模板 57
2.7 MCP客戶端功能 62
2.7.1 Roots:控制服務端的訪問范圍 62
2.7.2 Sampling:控制LLM的安全使用 65
2.8 MCP規(guī)范總結客戶端 69
第3章 基于SDK開發(fā)服務端 71
3.1 認識MCP SDK 71
3.1.1 關于MCP SDK及準備 71
3.1.2 了解MCP SDK的層次結構 72
3.2 使用FastMCP開發(fā)服務端 74
3.2.1 創(chuàng)建FastMCP Server實例 74
3.2.2 開發(fā)工具(Tools)功能 75
3.2.3 開發(fā)資源(Resources)功能 80
3.2.4 開發(fā)提示(Prompts)功能 82
3.2.5 啟動服務端 85
3.3 服務端的調(diào)試、跟蹤與部署 89
3.3.1 調(diào)試與跟蹤服務端 89
3.3.2 部署MCP遠程服務端 99
第4章 基于SDK開發(fā)客戶端 106
4.1 用Python庫模擬客戶端 106
4.1.1 模擬遠程模式(HTTP)客戶端 107
4.1.2 模擬本地模式(stdio)客戶端 116
4.2 基于SDK開發(fā)客戶端 120
4.2.1 實戰(zhàn)準備 - 通用的MCP測試客戶端 120
4.2.2 遠程連接與初始化 121
4.2.3 本地連接與初始化 123
4.2.4 工具的發(fā)現(xiàn)與調(diào)用 124
4.2.5 資源的發(fā)現(xiàn)與調(diào)用 127
4.2.6 提示(Prompts)的發(fā)現(xiàn)與調(diào)用 130
4.2.7 優(yōu)化 - 緩存服務端功能列表 132
4.3 MCP SDK開發(fā)小結 135
第5章 MCP高級開發(fā)技巧 136
5.1 基于低層SDK開發(fā)服務端 136
5.1.1 創(chuàng)建低層Server實例 137
5.1.2 開發(fā)與注冊服務端功能 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 實現(xiàn)應用層的ping機制 155
5.3.1 預備知識:服務端的ServerSession 155
5.3.2 ping請求的消息格式 157
5.3.3 實現(xiàn)ServerSession的ping任務 157
5.3.4 驗證ping機制 162
5.4. 服務端通知(Notification)的應用 164
5.4.1 認識通知 164
5.4.2 常見的通知類型 165
5.4.3 實現(xiàn)列表變更通知 166
5.4.4 實現(xiàn)服務端任務的“進度條” 175
5.5 實現(xiàn)服務端的工具調(diào)用緩存 181
5.5.1 實現(xiàn)服務端的工具緩存類 182
5.5.2 用裝飾器給工具增加緩存 186
5.5.3 測試服務端工具緩存 189
5.6 切換WebSocket的傳輸層 191
5.6.1 服務端WebSocket傳輸?shù)膶崿F(xiàn) 191
5.6.2 客戶端WebSocket連接的實現(xiàn) 193
5.6.3 測試WebSocket傳輸模式 194
5.7 客戶端功能(Sampling等)的應用 195
5.7.1 實現(xiàn)客戶端Roots與Sampling功能 196
1.Roots回調(diào)函數(shù) 196
5.7.2 服務端調(diào)用客戶端Sampling功能 199
5.7.3 測試客戶端Sampling的調(diào)用 201
5.8 服務端的安全機制 203
5.8.1 基于安全Token的認證 204
5.8.2 基于OAuth的安全授權 205
第6章 基于MCP開發(fā)智能體系統(tǒng) 206
6.1 發(fā)現(xiàn)與配置社區(qū)MCP服務 206
6.1.1 發(fā)現(xiàn)社區(qū)共享的MCP服務 207
6.1.2 如何獲取、安裝與運行 208
6.1.3 在客戶端配置與使用 210
6.2 集成大模型與MCP服務 213
6.2.1 準備:多MCP服務端連接管理組件 214
6.2.2 集成函數(shù)調(diào)用(Function Calling)與MCP服務 219
6.3 集成智能體開發(fā)框架與MCP服務 226
6.3.1 集成LangGraph與MCP服務 227
6.3.2 其他主流的智能體框架與MCP集成 233
6.4 實戰(zhàn):基于MCP架構的多文檔Agentic RAG系統(tǒng) 239
6.4.1 整體架構設計 239
6.4.2 實現(xiàn)服務端 241
6.4.3 實現(xiàn)客戶端的智能體 248
6.4.4 效果測試 253
6.4.5 后續(xù)優(yōu)化空間 258
6.5 實戰(zhàn):基于MCP架構的多智能體系統(tǒng) 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 后續(xù)優(yōu)化空間 280
第7章 解讀新版MCP規(guī)范與未來展望 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 新增音頻數(shù)據(jù)類型支持 296
7.5.3 新增自動補全能力標識 297
7.6 對MCP的未來展望 298