MCP 核心宝典 | 2025 最新最全!经典MCP案例实操讲解!必读!

干货来了,2025最新版超级详细MCP说明手册,内容有点长,耐心看完,必有收获!

img

第一部分:模型上下文协议(MCP)

  • *什么是 MCP ?*

就好像你只会说英语,想从只会说法语、德语等外语的人那里获取信息,你得学对应外语。

img

但要是有个能理解所有语言的翻译,问题就简单了,MCP就像这个翻译,让代理能通过单一接口与其他工具或能力交流。

img

实际上,大型语言模型(LLMs)虽知识丰富、推理能力强,能完成复杂任务,但知识局限在初始训练数据内。

img

若需实时信息,就得用外部工具,而MCP就是让AI模型无缝交互的标准化接口和框架,类似USB-C 为电子设备统一连接标准。

  • *为何要创造 MCP ?*

在MCP出现前,连接AI与外部数据和操作的方式要么是为每个工具硬编码逻辑,要么是管理不够稳健的提示链。

img

要么是用特定供应商的插件框架,导致出现 M×N 集成难题,例如,若有M个AI应用和N个工具 / 数据源,可能需要 M×N 个定制集成。

img

而MCP通过引入中间的标准接口解决此问题,将 M×N 直接集成变为 M+N 个实现。

img

即每个 AI 应用实现一次 MCP 客户端,每个工具实现一次 MCP 服务器,简化了连接。

  • *MCP 架构概览*

    img

    **
    **

*宿主(Host)***:**是面向用户的 AI 应用,如聊天应用、AI 增强型 IDE 等。它发起与 MCP 服务器的连接,捕获用户输入,保留对话历史并显示模型回复。

img

*客户端(Client)***:**在宿主内,负责处理底层事务,像适配器或信使,负责按 MCP 协议执行宿主指令。

img

***服务器(Server):*是提供功能(工具等)的外部程序或服务,可本地或远程运行,关键是以标准格式告知能做什么,执行客户端请求并返回结果。

img

MCP 基于客户端 - 服务器架构,主要有三个角色:

**工具(Tools)****:**是AI可调用的可执行动作或函数,通常由 AI 模型选择触发,常涉及文件 I/O 或网络调用等副作用或需额外计算的操作。

img

例如:一个获取天气信息的简单工具,AI 可通过调用该工具。

img

传入地点参数,服务器执行后返回结果,客户端获取并供 AI 使用。

*资源(Resources)***:**为 AI 提供只读数据,类似数据库或知识库,AI 可查询获取信息,但不能修改。

img

与工具不同,资源通常在宿主控制下访问,避免模型随意读取。示例:从本地文件、知识库片段、数据库查询结果(只读)等获取内容。

*提示(Prompts)***:**是预定义的提示模板或对话流程,可注入以引导 AI 行为。

img

例如,代码审查的提示模板,服务器提供后,宿主可调用并插入用户代码,供模型生成回复前使用。

上面这三者构成了MCP框架的核心能力。

第二部分:MCP 实操项目案例讲解

  • *100%完全本地MCP客户端*

MCP 客户端就是AI应用(例如 Cursor)中的一个组件,用于与外部工具建立连接。下面我们讲解如何完全在本地构建一个MCP项目。

img

构建本地MCP客户端,技术栈涉及LlamaIndex构建MCP驱动的代理、Ollama本地部署Deepseek-R1、LightningAI 用于开发和托管。

工作流程包括,用户提交查询、代理连接 MCP 服务器发现工具、调用工具获取上下文并返回响应。

*案例1:****SQLite MCP服务器*****

下面我们看看如何实现SQLite MCP服务器、设置 LLM、定义系统提示、定义代理、定义代理交互、初始化 MCP 客户端和代理以及运行代理等步骤。

***步骤1:*构建*SQLite MCP服务器*:在本次演示中,我们搭建了一个简单的SQLite 服务器,用到下面两个工具:

● 添加数据

● 获取数据

img

***步骤2:*设置大型语言模型(LLM)

我们将通过 Ollama 本地部署 Deepseek-R1,将其用作 MCP 驱动代理的 LLM。

img

***步骤3:*定义系统提示

我们为代理设置了指导性指令,使其在回应用户查询前能够使用工具。 可根据实际需求灵活调整此设置。

img

***步骤4:*定义代理

我们定义了一个函数,用于构建一个典型的 LlamaIndex 代理,并为其提供合适的参数。

img

传递给代理的工具是 MCP 工具,这些工具会被 LlamaIndex 封装为原生工具,从而能够被我们的函数代理轻松使用。

***步骤5:*定义代理交互 我们将用户消息传递给函数代理,并附带一个共享的上下文以实现记忆功能,同时流式处理工具调用并返回其回复。

img

在这里,我们管理所有的聊天历史记录和工具调用。

***步骤6:*初始化 MCP 客户端和代理

*img*

*启动 MCP 客户端,加载其工具,并将它们封装为 LlamaIndex 中函数调用代理可用的原生工具。然后,将这些工具传递给代理,并添加上下文管理器。*

**步骤7:**运行代理:**

*最后,我们开始与代理进行交互,并获取SQLite MCP服务器中的工具。*

img

以上就是我们完全本地化***SQLite MCP演示部分,大家感兴趣可以自行尝试!***

  • *MCP 驱动的代理式 RAG*

**案例2:**MCP 驱动的代理式 RAG,实现够搜索向量数据库

下面我们讲解如何创建一个MCP 驱动的代理式 RAG,实现够搜索向量数据库,并在需要时回退到网络搜索!

img

技术栈:

  • 使用 Bright Data 进行大规模网页抓取。
  • 采用 Qdrant 作为向量数据库。
  • 选择 Cursor 作为 MCP 客户端。

流程:

  1. 用户通过 MCP 客户端(Cursor)输入查询。
  2. 客户端联系 MCP 服务器以选择相关工具。
  3. 工具输出返回给客户端以生成响应。

现在我们来实现这个功能吧!

**步骤1:**启动 MCP 服务器**

*首先,我们需要定义一个 MCP 服务器,指定其主机 URL 和端口。*

img

***步骤2:*****向量数据库MCP工具

通过 MCP 服务器暴露的工具需满足两项要求:

● 必须使用 “tool” 装饰器进行装饰。

● 必须具备清晰的文档字符串。

下面,我们展示了一个用于查询向量数据库的 MCP 工具示例,该数据库存储了与机器学习相关的常见问题。

img

**步骤3:**网络搜索MCP工具

当查询与机器学习无关时,我们使用 Bright Data 的 SERP API 进行网络搜索,以从多个来源抓取数据并获取相关上下文。

img

以下是实现网络搜索 MCP 工具的示例代码(仅供参考):

from fastmcp import FastMcPimport requestsimport asyncio
# 创建 MCP 服务器mcp = FastMcP("web-search-demo")
# 定义网络搜索工具@mcp.tool()def bright_data_web_search_tool(query: str) -> list[str]:    """    使用 Bright Data 的 SERP API 搜索了一些信息。
    输入:    query (str):要搜索的信息。
    输出:    context (list[str]):最相关的网络搜索结果列表。    """    # 获取环境变量中的 Bright Data 凭证    username = os.getenv("BRIGHT_DATA_USERNAME")    password = os.getenv("BRIGHT_DATA_PASSWORD")
    # 设置代理 URL    proxy_url = f'http://{username}:{password}@brd.superproxy.io:33335'
    # 格式化查询    formatted_query = "+".join(query.split())    url = f"https://www.google.com/search?q={formatted_query}&brd_json=1&num=50"
    # 发送请求    response = requests.get(url, verify=False, proxies={"http": proxy_url, "https": proxy_url})
    # 返回结果    return response.json()['organic']

**步骤4:**将MCP服务器与 Cursor 集成

转到设置 → MCP → 添加新的全局 MCP 服务器。在 JSON 文件中添加以下内容:

img

*步骤5:*

完成啦!你的本地MCP服务器已成功上线,并与 Cursor 完成了连接。

目前,该服务器提供了以下两个 MCP 工具:

● Bright Data 网络搜索工具,可用于大规模抓取数据。

● 向量数据库搜索工具,可用于查询相关文档。

img

接下来,我们就可以与 MCP 服务器进行交互。

● 当我们提出与机器学习(ML)相关的问题时,它会调用向量数据库工具。

● 但当我们提出一个泛化问题时,它会调用 Bright Data 网络搜索工具,从各个来源大规模地收集网络数据,这就体现了代理的主动性!

好,以上就是我们今天讲解的全部内容,如遇到任何问题,欢迎大家评论区积极留言交流!

零基础入门AI大模型

今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

有需要的小伙伴,可以点击下方链接免费领取【保证100%免费

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

5.免费获取

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码或者点击以下链接都可以免费领取【保证100%免费】

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

在这里插入图片描述

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐