Digital Library

MCP实战之道 (高强文)(Z-Library)

Share E-Book

MCP实战之道 (高强文)(Z-Library)

Author

Rating No ratings yet

Log in to rate

Artificial Intelligence
Language Chinese

本书从原理、开发和应用3个维度全面讲解MCP的落地实战,使读者真正掌握大模型上下文高效主动传递的核心技术,从而在较低算力条件下实现AI系统的生产应用。 全书共16章,分为三篇。 ?基础篇(第1~4章) 主要介绍MCP的基本概念、应用场景、发展历程、技术架构与协议规范,并通过极简入门案例阐释各核心组件的职责与关系。 ?开发篇(第5~7章) 聚焦MCP开发体系,涵盖MCP-SDK支持的Resources、Tools、Prompts、Sampling和Context等5种核心服务的开发过程,以及Gradio、OpenAI、LangChain、FastAPI和AutoGen等5类开发框架用于MCP的开发方法。 ?应用篇(第8~16章) 针对实际生产需求,详细介绍Dify、Playwright、Langflow、GraphRAG、ComfyUI等9个实用案例,涉及AI Agent、工作流、自动化测试、RAG知识库、联网搜索、多模态应用等场景中MCP的具体应用方法。

Format PDF
Size 47.6 MB
11
Views
(First 20 pages)

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Page 1
(This page has no text content)
Page 2
(This page has no text content)
Page 3
(This page has no text content)
Page 4
3 版权信息 COPYRIGHT 书名:MCP实战之道 作者:高强文 出版社:机械工业出版社 出版时间:2026年05月 ISBN:9787111806295 字数:119千字 (免费書分享在Yabook.org)
Page 5
(This page has no text content)
Page 6
(This page has no text content)
Page 7
(This page has no text content)
Page 8
(This page has no text content)
Page 9
8 前言 MCP(Model Context Protocol,模型上下文协议)是大模型时代的产物,随着AI Agent的流行,其发展更为迅速。一般来说,由一家商业公司主导制定的某项技术 标准在推广过程中会面临重重阻力。然而,MCP却展现出了与众不同的生命力,它 以极简的传输报文设计、多种语言版本的SDK及详尽且实用的例程得到业界广泛的 认可。在AI行业,大量AI工具积极地支持MCP这种通用协议,以此来实现跨应用的 交互与协作。如OpenAI发布的相关产品具有Function-Calling这一创新特性,与 Anthropic发布的MCP形成了良好的互补关系。而且OpenAI对于MCP的支持十分完善 和优雅,并具有很高的兼容性。 从时间线上看,MCP在2024年11月5日才正式发布了第一个版本。随后,在半年多 的时间内又发布了两个版本。各版本之间保持了良好的兼容性,这与MCP在第一版 发布时已经在Anthropic公司内部得到充分应用有关。而后续版本的演进集中在功 能的丰富和对个别特性的取舍上。 从成熟度上看,MCP是一个开放的技术标准,其繁荣的生态得益于众多AI厂商和开 源社区的大力支持。MCP中定义的JSON格式的数据结构已经比较完善,而基于 STDIO(标准输入/输出)、HTTP等传输通道的通信机制也发展得成熟可靠,在标 准设计上确实不需要各个厂商进行太多扩展。基于此,MCP形成了一套被业界共同 认可和采用的统一标准。归根结底,这是因为MCP足够简洁清晰,并且能够有效地 解决各个应用之间的交互问题。 本书以MCP落地实战为主线,全面涵盖MCP知识体系,并且详细讲解了MCP与实际生 产场景结合的原理、思路和方法。为了便于实践书中的案例,笔者特意将所有案 例的实验环境限定在Windows操作系统和单机环境。即便未配备24GB规格的GPU设 备,读者也可以顺利复现书中的绝大多数示例,从而深入掌握MCP的核心技术与应 用方法。 若要较为全面地阐释MCP的概念与落地方式,代码演示是必不可少的。本书的示例 代码刻意保持精简,尽量控制在30行以内。而且,运行这些程序并不需要复杂的 环境准备,通常只需要寥寥几条命令即可获得结果。这正体现了MCP的设计理念。 其中最简单的MCP Server只需要7行代码,却能实现跨语言、跨平台、跨工具的服 务能力。 本书特点
Page 10
9 (1)实践门槛低 本书以MCP落地实战为核心,读者只需要一台Windows计算机,并具备基本的 Python基础知识,即可完成本书大部分实践操作。个别案例需要在24GB的GPU环境 中调试,如不具备相应算力条件,读者也可利用笔者提供的免费API完成,不影响 整体实践效果的呈现。 (2)内容成体系 本书的内容结构清晰、知识体系完整,充分体现由浅入深、以用促学的实战之 道。阅读本书时,读者可先从原理入手,理解MCP的基本技术体系与实验环境搭建 方法;然后学习MCP官方提供的MCP-SDK及常用服务的开发;最后进一步掌握多种 开发框架与企业级应用实践。 (3)技术与场景丰富 本书涵盖了包括MCP-SDK在内的6种MCP开发框架、3种基础组件、3种传输通道类 型、5种MCP常用服务和9个企业级应用案例。案例场景广泛且贴近实际,涉及对话 应用、工作流、AI Agent、RAG应用、互联网元搜索引擎、文生音频、文生视频和 数字人等多模态应用,以及辅助开发应用等。通过学习这些实践案例,读者能高 效掌握MCP相关技术方案。 (4)全面开源 本书涉及的应用系统和开发库都基于开源项目,所调用的大模型服务也以部署到 本地的Qwen、DeepSeek模型为主,不依赖商业云服务。并且,示例代码运行也不 需要额外付费的API支持。此外,本书所有示例代码和简要的操作过程说明都已在 GitHub上开源。 读者对象 本书的MCP知识全面、技术栈丰富、操作步骤详细、源代码完整,适合指导开发者 进行技术入门、应用开发和企业级实践。 • 对于入门的初学者来说,了解MCP的基本原理、技术体系搭建方法及主流MCP Host工具的应用方法,有助于快速建立对MCP标准、架构的系统认知,顺利过渡到 上手阶段。 • 对于应用开发者来说,能够使用MCP-SDK开发MCP基础组件,定制开发MCP Tools、Resources等常用服务,并进一步掌握MCP-SDK之外的5种常用MCP开发框架
Page 11
10 (如FastAPI-MCP等),从而全面掌握MCP的工程化开发方法,显著提升项目开发 效率。 • 对于企业场景实践者来说,书中提供的9个紧密贴合实际工作场景的典型应用案 例,完整覆盖了在企业环境中部署与使用MCP的核心需求。并且,在多个应用场景 中,读者可以进一步学习如何使用简洁的代码封装MCP Server并对外发布服务, 真正实现学以致用。 本书架构 本书共16章,分为三篇,具体内容如下。 (1)基础篇(第1~4章) 本篇先介绍MCP的基础知识、技术原理和技术体系,然后通过一个简单易用的入门 示例,系统梳理MCP各个组件之间的关系与协作方式,帮助读者建立对MCP的整体 认知。 (2)开发篇(第5~7章) 随MCP标准一同发布的还有多种语言版本的MCP-SDK,该工具包覆盖了MCP的全部核 心组件。本篇首先对MCP-SDK展开讲解,然后系统介绍MCP的服务类型及其开发过 程,包括Resources、Tools、Prompts、Sampling和Context等多种形式。同时, 详细说明了Gradio、OpenAI、LangChain、FastAPI和AutoGen等技术的MCP解决方 案。 (3)应用篇(第8~16章) 本篇聚焦Dify、Playwright、Langflow、SearXNG、GraphRAG、F5-TTS、 ComfyUI、EchoMimic V2和Claude Code等产品与技术,进行案例实践。这些案例 基本覆盖MCP在实际生产环境中的落地场景,可为开发者提供有效参考。在具体案 例中,有的产品或技术自身已具备对外提供MCP服务或调用外部MCP工具的能力, 而有的则需要读者融合所学知识,将业务功能封装为MCP工具并对外发布。 需要注意的是,在阅读与学习过程中,读者还需要逐步打破传统编程中“Client 单向调用Server”的思维定式,只有这样才能更加深入地理解和正确掌握MCP的设 计理念。 内容来源 本书注重实战,内容素材主要源于以下几个方面。
Page 12
11 (1)实践案例 笔者开发并验证了大量MCP应用,积累了丰富经验。并且,笔者为本书开发了一系 列应用于不同场景的示例程序,作为实践参考。 (2)官方资源 笔者参考了MCP及相关技术框架的官方资料,梳理了MCP标准内容及各种开发框架 的更新演进信息,确保书中的知识点准确、前沿。 (3)培训课件 MCP已成为AI领域的新近热点。笔者作为培训讲师,为软件企业开设了大量以MCP 落地应用为主题的实训课程。本书充分融合了笔者的讲授心得和学生反馈。 实践要求及说明 (1)算力设备 在本书所有示例中,对于Qwen、DeepSeek模型,均选择了参数规模在8B及以下的 版本,运行这些模型占用的GPU资源在22GB以内。因此,读者跟随本书进行完整实 践前,需要准备至少1张24GB规格的常规显卡或推理型显卡。 如果不具备相应的GPU算力条件,也可以采用Ollama部署量化模型的方案来实践大 多数案例。不过,这样虽然不会报错,但可能无法得到理想的效果。 (2)操作系统 本书统一以Windows操作系统作为实验环境,书中涉及的文件下载、文件编辑、文 件复制等操作系统命令,均基于Windows环境进行描述。 当然,读者也可以使用Linux系统进行实践,但需要根据自身环境特性对相关操作 命令加以调整。 (3)命令 在Windows命令行环境中,处理较长命令不够方便,且存在cmd与PowerShell两种 运行语境。为避免歧义和冲突,书中未作特殊说明的命令均要求单行输入,不应 拆分为多行执行。此外,在操作系统命令行中,以“#”开头的内容均为注释,无 须执行。另外,笔者习惯使用注释对多条命令进行分隔,以免误操作。
Page 13
12 (4)示例代码 为了避免读者因书中展示的代码在格式上(如分段和缩进)与实际代码不同而影 响程序运行效果,建议从配套代码库下载的完整代码进行调式、使用。 勘误和支持 本书的所有源代码和简要操作步骤已在https://github.com/little51/mcp- course开源,读者可自行查阅。 虽然笔者写作时已力求严谨,反复验证,但书中仍可能出现一些错误或者不准确 之处,恳请读者指正。若读者需要勘误或提出其他宝贵意见,可发送邮件到 little51@126.com联系笔者,或者在https://github.com/little51/mcp-course 代码库上提交issue。
Page 14
13 基础篇 MCP(Model Context Protocol,模型上下文协议)是由Anthropic主导制定的技术 标准,其设计最初是为了简化Claude Desktop与各类IDE之间的交互,减少因频繁 切换工具带来的重复性操作。此后,MCP逐步演化为一套面向开发者的、完善的大 模型应用交互协议,覆盖从概念到实现的全流程。 MCP的核心价值在于跨平台、多语言与可扩展的交互能力。它定义了统一的消息格 式与通信机制,使不同的IDE、工具和大模型服务能够进行双向对接。开发者借助 MCP,可以将大模型的推理与生成能力、外部应用的服务能力集成到自身系统中。 无论是简单的提示词交互,还是复杂的工具调用,都可以基于该框架实现。从技 术架构来说,MCP标准涵盖了客户端与服务端之间的通信规范、数据格式、传输通 道、身份认证与异常处理机制等方面,构成了大模型应用顺畅交互的底层支撑。 本篇从理论到实践,系统详尽地阐述MCP的基础知识、技术原理及技术体系搭建, 并通过一个简单易懂的入门案例,帮助读者建立对MCP的初步认知,为后续的服务 开发与案例实践奠定基础。 本篇主要内容如下: 第1章从MCP的基础知识入手,介绍其背景、架构、特性等信息,以及技术应用场 景和发展历程。本章最后将MCP与Function-Calling特性、A2A协议进行横向对 比,分析其差异与关联,最终对MCP的概念形成整体理解。 第2章聚焦MCP的技术原理。首先介绍MCP的技术架构,包括Host/Client/Server三 层角色及其在典型场景中的职能分工;然后依次讲解Tools、Resources、 Prompts、Sampling、Elicitation等MCP常用服务;最后详细说明消息、生命周 期、传输通道、身份认证、进度跟踪和日志等与传输紧密相关的协议要点。 第3章主要讲解技术体系搭建。首先,实践MCP的前提是选择一个易获取、易用且 标准兼容性强的MCP Host,因此本章采用Cherry Studio。其次,本章以Python为 首选的开发语言,并搭建其虚拟环境。在搭建过程中,出于轻量与易用的考虑, 使用uv而非较重的Anaconda。再次,在多组件的场景下,Docker是相对便捷的部 署手段,所以本章通过Docker安装为后续开发做好准备。之后,为支持在Windows 环境中使用GPU运行大模型,本章采用Xinference作为部署与服务工具。并且,笔 者会为无GPU的读者提供Ollama替代方案。最后,补充讲解VS Code与Git的基础安 装与使用,为开发环境进行必要准备。
Page 15
14 第4章进行MCP应用的极简实践。以Cherry Studio为MCP应用的载体,演示如何将 MCP Host与大模型及内置的、用于执行文件操作任务的MCP Server协同工作,完 整实现一个由对话触发、保存本地文件的简洁应用案例。本章最后对运行流程逐 步解析,从运行效果与应用场景两个维度提出可行的改进建议,以帮助读者尽快 掌握MCP在工程实践中的基本用法与思路。
Page 16
15 CHAPTER 1 第1章 MCP基础知识 美国的AI公司,Claude系列模型的开发厂商。 MCP是一项将人工智能助手(AI Assistant)连接到各类数据源和工具的开放标 准,由知名的AI企业Anthropic 主导制定,得到了众多企业的支持,在生产中被 广泛应用。MCP的设计初衷是在日益复杂的AI生态系统中提供一种统一的交互框 架,通过标准化各种组件中消息上下文的数据传输格式和通信方式,提升基于大 语言模型(Large Language Model,LLM)的不同应用系统之间的兼容性和协作效 率。 1.1 基本介绍 1.1.1 背景 该功能是指大模型通过生成函数名和参数来间接驱动AI应用与外部系统交 互,参见https://huggingface.co/docs/hugs/en/guides/function- calling。 AI Assistant是一个宽泛的概念,不仅包括与LLM交互的各种AI应用,还涵盖更加 智能化和主动化的AI Agent等产品形态。在大模型应用中,客户端与模型服务之 间的交互主要依赖OpenAI兼容接口。这一接口最初由OpenAI提出,并在对话类场 景中得到了广泛应用。尽管并未被正式定义为行业标准,但由于其普遍性,该接 口实际上已经成为一种事实上的标准。与此同时,AI Agent与模型服务之间的交 互则通常采用OpenAI兼容接口结合Function-Calling 的方式实现。 虽然大模型应用和AI Agent在与模型服务交互时并不缺乏接口或方法,但随着AI Agent技术的迅猛发展,新的挑战显现。调用AI Agent的宿主程序需要与各种各样 的AI Agent进行通信和协作。然而,由于缺乏统一的规范,这些交互协议逐渐呈 现发散和碎片化的趋势。不同的AI Agent可能采用不同的接口设计、数据格式和 调用逻辑,这导致宿主程序在按照传统的点对点接口方案集成多种AI Agent时面 临很大的复杂性和兼容性难题。图1-1是这种情况的示意图。
Page 17
16 图1-1 点对点接口方案示意 在这样的背景下,MCP应运而生。其目标是通过提供一个标准化的协议框架,解决 技术发散导致的集成困难问题,使AI生态系统中的各个组成部分能够更加协调地 运作,充分发挥各自的优势,从而推动整个生态系统的健康发展。 1.1.2 架构 MCP是一个开放协议,规范了应用程序向大模型、其他应用提供上下文的方式。如 同USB-C提供了一种标准化的方式将各种外围设备和配件连接到主设备上一样, MCP也提供了一种标准化的方式将AI应用与不同的数据源和工具相连接,从而用单 一协议取代分散的集成方式。将MCP类比成应用程序中的USB-C,见图1-2。 各种外部资源,如数据库、文件系统及工具等,可以通过MCP的统一标准,以类似 于“USB-C热插拔”的方式灵活且便捷地挂载到AI应用上。这一设计提升了资源接 入的效率和灵活性,使AI应用能够随时根据需求调用这些外部资源。
Page 18
17 图1-2 USB-C连接方案示意 然而,大模型的接入并没有采用这种USB-C方式。事实上,大模型在常规的MCP架 构应用中并非作为一个简单的外接功能,而是作为基础服务直接与AI应用连接。 这是由于大模型在整体架构中承担着极为关键的职能,需要充当协调各类资源的 核心角色,从全局视角对各种资源进行调度、整合与管理。因此,出于功能定位 和系统架构设计的考虑,大模型与应用之间通常保持直接连接,从而高效、稳定 地发挥其协调功能。将图1-2中的USB-C替换成成对使用的MCP Client和MCP Server,就能准确地反映MCP的基础架构了,见图1-3。
Page 19
18 图1-3 MCP基础架构示意 1.1.3 特性 MCP不仅提供了一套涵盖理念、架构与交互协议的标准体系,还提供了一整套技术 实现方案,并且开源了Python、C#、Java、Kotlin、Ruby、Rust、Swift、 TypeScript等语言的SDK。在这些不同语言的基础组件之间,能够实现无障碍互操 作。MCP在推出后得到了众多AI厂商的支持,这与其标准化设计和多语言SDK的同 步发展密不可分。当前,许多开源框架通过扩展支持来集成MCP Server,或者实 现与MCP-SDK类似的、兼容MCP标准的技术框架。MCP凭借其完善的标准、高效的落 地能力及开放的体系,推动了AI领域的“USB-C”连接方式的快速发展。 MCP具备以下特性: ①AI应用能力提升。传统的LLM应用侧重于内容生成、文本补全、内容创作和提问 回答。AI Agent的出现,使LLM应用能够自主调用工具完成用户的任务。MCP则将 这种能力进一步增强,能够更便捷地实现复杂工作流和多智能体协作。 ②动态工具发现。MCP是一种自声明协议,其工具由MCP Server的函数定义,AI应 用可在运行时发现并调用,MCP Client无须预先定义工具的名称和参数。这一特 性能够适应灵活多变的场景需求,实现“即插即用”式扩展。 ③互操作性。MCP-SDK有多语言版本,并且支持一次开发、多端复用。也就是说, 使用某种语言开发的MCP Server,可被不同宿主应用(如Claude Desktop、
Page 20
19 Dify、VS Code等)直接调用,避免重复开发。 ④解耦模型与工具。AI应用接入的LLM与MCP体系相互独立。在大多数情况下,只 要LLM支持Function-Calling特性,就可以协调那些基于MCP动态接入的外部工 具,实现系统架构在轻量化和可扩展性上的平衡,同时使AI应用能在不同的LLM厂 商之间灵活切换。 ⑤有效降低整体成本。采用标准化的协议,可以有效解决当前AI生态领域存在的 技术碎片化问题,将使用多种语言或工具开发的服务方便地整合到AI应用中,从 而显著降低系统集成成本。 ⑥增强执行能力。MCP支持接入远程服务,也支持运行于本机的MCP Server,这些 本地服务可以通过uv、npx等轻量环境运行Python和Node.js代码。借助这样的特 性,AI应用不仅可以高效地处理计算任务,还可以显著增强对本地资源的访问能 力。 1.2 技术应用场景 MCP的核心价值在于使AI应用与外部系统的交互方式标准化。这些外部系统大都以 工具、服务和数据源的方式存在,MCP能够将其更灵活地集成到各类技术架构中。 下面介绍MCP的典型应用场景。 1.服务器资源访问 MCP能够以一种标准化的方式将服务器中的各类数据开放给应用,以对服务器上存 储的文件、数据库记录及其他形式的数字资源进行读写操作。通过这种方式,可 以将数据资源整合进整体业务逻辑之中,从而丰富LLM的输入上下文。这样一来, 应用程序或者LLM就能够基于这些公开数据完成更为复杂且多样化的任务。这不仅 提升了服务器数据的利用率,还进一步增强了不同系统之间的协作能力,确保服 务器上的资源能够在不同的层级之间顺畅、无障碍地流动与共享。 2.大模型调用工具 用大模型处理复杂任务时,通常需要借助外部工具来实现特定功能。这些外部工 具可能涵盖数据库系统、应用程序接口(API)、计算引擎或其他专业服务。例 如,在回答用户问题时,可能需要从数据库中提取信息;在完成数据分析任务 时,可能需要调用计算引擎进行复杂运算;在与其他系统交互时,可能需要通过 API获取实时数据。MCP对大模型调用工具的过程进行了规范,使AI应用的宿主程
The above is a preview of the first 20 pages. Register to read the complete e-book.

Recommended for You

Loading recommended books...
Failed to load, please try again later

Tip the Site

Scan the WeChat Pay or Alipay code to tip. No login required.

WeChat Pay
Alipay
← Back to List