Technology
for Good
Inclusive
education
科技向善,教育普惠
科技向善,教育普惠
MCP原理与实战:高效AI Agent智能体开发
出版:
电子工业出版社
作者: 李艮基、肖灵煊、曹方咏峥
点击:

内容简介
在短短几年内,生成式AI的能力曲线不断攀升,但开发者很快发现——如果不能安全、即时地连接企业专属数据,再强大的大模型也只能停留在“离线百科”阶段。Anthropic公司于2024年推出的MCP(Model Context Protoc?l,模型上下文协议)正是为解决这一痛点而生的:它像一条通用总线,将散落在数据库、SaaS、文件系统、物联网终端乃至区块链中的数据与功能,转化为大模型可读的资源与可执行的工具,再借助统一的提示模板,让所有调用都在可追踪、可审计的沙箱中完成。大模型虽然擅长“生成”,却受限于静态语料,无法获取企业最新库存、员工休假或日志告警等实时信息。为了弥补这种信息断层,业界先后尝试了浏览器插件、专用API与函数调用等功能,但缺乏统一的规范,导致每接入一种工具,就要新增一层“胶水”代码,安全审计也愈发复杂——研究者将这种现象称为“插件碎片化带来的第二次依赖地狱”。
MCP通过开放的协议整合了零散的方案:无论数据源位于本地还是云端,只要部署MCP服务器,大模型侧的MCP客户端就能通过标准输入/输出或流式传输与之通信。通路一旦建立,后续迁移至任意支持MCP的大模型都无须重写代码。
这样的标准化带来以下三重核心价值。
生态共振:Claude Desktop已原生支持MCP,允许用户通过简单的配置将桌面文件系统暴露给大模型;Cursor IDE社区正在推动官方集成MCP,使代码助手能实时感项目结构;Copilot Studio也宣布可?让企业流程机器直接调用MCP服务器。
安全内建:MCP服务器可为每项工具都设置读写权限,MCP客户端通过OAuth 2.1授权并记录调用日志。当大模型尝试越权操作时,我们可即时对其进行拦截。
开源扩展性:在GitHub上已涌现Slack、GitHub、天气、区块链等数百个预置的MCP服务器,开发者只需配置凭证,即可让大模型获得新的能力。
本书旨在为开发者、架构师与AI产品经理提供以下系统学习路径。
追溯MCP的技术演进之路,解析其为何被称为“大模型世界的USB接口”。
详解资源、工具、提示模板与双传输层的实现机制。
结合OAuth权限、沙箱隔离与审计链路,详细讲解MCP的安全机制。
以Python与Node.js双栈为例,从零编写天气与邮件服务器,并在Claude Desktop、Cursor、Copilot Studio中完成MCP客户端接入与链路调试,演示如何在30分钟内让大模型读取私有数据、触发真实操作。
对比A2A Protoc?l、多智能体协作等,展望MCP在未来的AI生态中的定位。
在大模型从“知识库”向“数字同事”演进的过程中,MCP有望成为连接虚拟世界与现实世界的关键基础设施。本书作者团队衷心希望,本书既能帮助读者理解MCP的工作原理,又能帮助读者将MCP应用于实际的业务场景中。若读者能借此抢占AI时代的“技术高地”,便是本书价值的最大体现。
图书目录
第1章 MCP简介 11.1 什么是MCP 2
1.2 MCP的起源与发展 3
1.3 掌握MCP的好处 4
第2章 MCP的工作原理 5
2.1 核心架构 6
2.2 核心组件 8
2.2.1 资源 9
2.2.2 工具 10
2.2.3 提示模板 11
2.3 两种常见的传输方式 12
2.3.1 标准输入/输出 12
2.3.2 流式传输 13
2.4 安全机制 14
2.4.1 访问控制和权限管理 14
2.4.2 身份验证和安全通信 14
2.4.3 元数据和安全提示 15
2.4.4 沙箱隔离机制 15
2.4.5 开源、透明 15
2.5 MCP与API的区别 16
2.6 MCP与Agent的区别 17
2.7 MCP与Function Calling的区别 18
2.8 MCP与A2A Protocol的区别 20
第3章 MCP的本地搭建 22
3.1 环境准备工作 23
3.1.1 安装和配置Node.js 23
3.1.2 安装和配置Python 27
3.1.3 安装VSCode 29
3.2 自己搭建MCP客户端 32
3.2.1 用Python快速搭建MCP客户端 32
3.2.2 搭建MCP聊天机器人客户端 38
3.3 自己搭建MCP服务器 46
3.3.1 安装uv并初始化项目目录 46
3.3.2 用FastMCP构建天气信息服务端 51
第4章 开发与代码执行 59
4.1 Semantic Kernel 60
4.1.1 基础设置 60
4.1.2 案例:多代理协作系统与插件集成 61
4.2 MCP Run Python 67
4.2.1 基础设置 67
4.2.2 案例:安全沙盒集成与调用 68
4.3 E2B 70
4.3.1 基础设置 70
4.3.2 案例:云沙盒Python调用链路 71
第5章 浏览器的自动化 74
5.1 PlaywrightMCP 75
5.1.1 基础设置 75
5.1.2 案例:无头浏览器操作与网页交互 76
5.2 BrowserbaseMCP 77
5.2.1 基础设置 78
5.2.2 案例:云浏览器网页抓取与截图 79
5.3 PuppeteerMCP 80
5.3.1 基础设置 80
5.3.2 案例:云浏览器网页操作与截图 81
第6章 命令行与Shell 84
6.1 iterm-mcp 85
6.1.1 基础设置 85
6.1.2 案例:创建自动化Python虚拟环境 86
6.2 win-cli-mcp 87
6.2.1 基础设置 88
6.2.2 案例:远程服务器信息查询 89
6.3 mcp-server-commands 90
6.3.1 基础设置 91
6.3.2 案例:将Python脚本结果写入文件 91
第7章 版本控制 94
7.1 github-mcp-server 95
7.1.1 基础设置 95
7.1.2 案例:自动化GitHub工作流 96
7.2 mcp?gitee 98
7.2.1 基础设置 98
7.2.2 案例:自动化Gitee工作流 99
7.3 Gitea MCP 101
7.3.1 基础设置 101
7.3.2 案例:自动化Bug修复流程 103
第8章 数据库交互 105
8.1 Aiven 106
8.1.1 基础设置 106
8.1.2 案例:项目查询与服务详情获取 107
8.2 genai-toolbox 108
8.2.1 基础设置 109
8.2.2 案例:LangGraph与Toolbox集成 109
8.3 mcp?clickhouse 111
8.3.1 基础设置 111
8.3.2 案例:ClickHouse查询与数据分析 113
第9章 数据分析与可视化 115
9.1 mcp?vegalite?server 116
9.1.1 基础设置 116
9.1.2 案例:度销量数据保存与可视化 117
9.2 keboola?mcp?server 118
9.2.1 基础设置 119
9.2.2 案例:Keboola数据探索与导出CSV文件 120
9.3 mcp?server?axiom 122
9.3.1 基础设置 122
9.3.2 案例:Axiom数据集查询与APL分析 123
第10章 云平台服务集成 125
10.1 sample?mcp?server?tos 126
10.1.1 基础设置 126
10.1.2 案例:TOS桶对象的列举与下载 127
10.2 aws?kb?retri?serve 129
10.2.1 基础设置 129
10.2.2 案例:Amazon Bedrock知识库检索 130
10.3 mcp?server?cloudflare 132
10.3.1 基础设置 132
10.3.2 案例:Cloudflare Workers 列出与日志查询 133
第11章 通信与协作 135
11.1 gotohuman?mcp?server 136
11.1.1 基础设置 136
11.1.2 案例:推文审阅与反馈优化 137
11.2 inbox?zero MCP 139
11.2.1 基础设置 139
11.2.2 案例:邮件管理自动化 141
11.3 AgentMail Toolkit 142
11.3.1 基础设置 142
11.3.2 案例:邮件全生命周期自动化 143
第12章 娱乐休闲 145
12.1 MemoryMesh 146
12.1.1 基础设置 146
12.1.2 案例:动态工具构建RPG世界 147
12.2 mcp?unity 148
12.2.1 基础设置 148
12.2.2 案例:Unity编辑器自动化 149
12.3 hko-mcp 150
12.3.1 基础设置 151
12.3.2 案例:HKO-MCP气象数据的获取与处理 151
Next Portfolio
GPT-4o极简入门与绘画大全