Day7 - MCP : 给大模型一双手

传统的 LLM 模型存在着局限性,它们犹如被困在 “知识孤岛” 上,依赖静态训练数据,无法获取实时信息,尽管存在 RAG 这样的知识库,也难以执行具体操作,这在很大程度上限制了其实际应用价值。为了突破这一瓶颈,一种创新的解决方案应运而生 -- Model Context Protocol,即 MCP(模型上下文协议)。它宛如一座连接 AI 与现实世界的桥梁,让 AI 不仅能够 “听懂” 问题,更能 “动手” 解决问题,极大地拓展了 AI 的应用边界。


MCP 简介

一、MCP 是什么​

MCP 由 Anthropic 公司提出,是一种开放协议,其核心目标是标准化大语言模型与外部数据源、工具之间的交互方式 。简单来说,MCP 就像是 AI 领域的 “公用语言”,通过统一的协议,实现了 LLM 与各类外部系统,如数据库、API、本地文件等的连接,赋予了 AI 动态处理信息的能力。它使得 AI 模型能够直接获取实时数据,如最新的天气、股票行情等;可以访问企业数据库,甚至能够控制专业软件。

从技术架构层面来看,MCP 主要包含以下几个关键组成部分:​

  • MCP 主机:这是用户与 AI 进行交互的应用程序。它是用户指令的接收端,负责将用户的需求传递给后续组件进行处理。​
  • MCP 服务端:作为提供特定功能的轻量级程序,MCP 服务端通过标准化协议将自身功能以接口的形式暴露出来。它可以连接各种外部资源,执行诸如文件管理、天气查询等具体任务 。​
  • MCP 客户端:在 MCP 主机和 MCP 服务端之间起着协调通信的关键作用,支持双向数据流传输。它负责将主机的请求准确无误地发送给服务端,并将服务端返回的结果传递回主机 。

二、MCP 的工作原理

MCP 采用经典的客户端 - 服务器架构,其工作过程类似于一个高效有序的 “指挥中心” 。在这个架构中,AI 如同一位指挥官,MCP 则是连接各方资源的 “中枢系统”,通过精确的指令传达和任务分配,完成各种复杂任务。​ 当用户向 AI 提出一个问题或指令时,整个工作流程如下:​

  • 用户请求:用户在 MCP 主机应用程序中输入问题或指令,例如 “查询我今天的日程安排”。主机接收到请求后,将其传递给 MCP 客户端 。​
  • 客户端请求转发:MCP 客户端对来自主机的请求进行解析和处理,将其转换为符合 MCP 协议规范的格式,并通过特定的通信方式(如基于 HTTP 的 Server - Sent Events(SSE)或标准输入 / 输出(stdio) )将请求发送给对应的 MCP 服务端 。​
  • 服务端执行任务:MCP 服务端接收到客户端发送的请求后,根据请求的内容和自身所具备的功能,执行相应的操作。在上述例子中,如果服务端连接了用户的日程管理数据库,它会在数据库中查询与用户今天日程相关的信息 。​
  • 服务端返回结果:服务端完成任务后,将获取到的结果(如用户今天的日程安排详情)按照 MCP 协议规定的格式返回给 MCP 客户端 。​
  • 客户端结果传递与 AI 响应生成:MCP 客户端接收到服务端返回的结果后,将其转换为 AI 能够理解的格式,并传递给 AI。AI 根据接收到的结果以及自身的语言处理能力,生成最终的用户响应,例如 “您今天下午 3 点有一个会议,地点在公司会议室 3” 。

三、MCP 的类别

MCP 作为一种协议框架,在实际应用中衍生出了多种类型,以满足不同场景和需求 。以下是一些常见的 MCP 类别:

  • 数据查询类 MCP:主要用于处理与数据查询相关的任务,例如从数据库中检索信息、执行复杂的查询等。
  • 文件管理类 MCP:专注于文件的创建、读取、更新和删除等操作,适用于需要频繁访问和修改文件的场景。
  • API 调用类 MCP:用于与外部 API 进行交互,支持各种 HTTP 请求,适合需要集成第三方服务的应用。
  • 任务调度类 MCP:负责管理和调度各种任务,支持定时任务、异步任务等,适用于需要高效处理大量任务的场景。

很多的 MCP 服务器我们可以自己去搭建一个,你可以去 Awesome MCP Servers 找到现在有的一些 MCP 服务器

https://s2.loli.net/2025/08/11/ENQYXJvMOCwmpaD.png

一般会给出这样的一行 MCP 配置描述, 我们可以利用这个在自行部署

如果你想自己部署, 可能需要安装 Docker, Node.js, 由于不想难度太高这边暂不详细说明, 如果你想尝试, 可以先搭建个 1Panel

https://s2.loli.net/2025/08/11/UAqEoFIg5WTi9DQ.png

里面提供了管理多个 MCP Server 的功能, 你可以将不同的 MCP Server 暴露出来, 详细可以参考 1Panel - MCP

我们这边暂时使用一个在线平台进行处理


使用 MCP 服务器

我们这边使用 魔搭平台 来帮忙创建 MCP 服务器

有部分的 MCP 服务器需要填写 API Key, 我们这边以高德开放平台作为例子, 其他具体的 MCP 服务器可以看他的说明

准备工作

我们先前往 高德开放平台 注册成为个人开发者, 认证按照官网的指引来.

注册成功后我们前往 控制台 注册新的应用

https://s2.loli.net/2025/08/11/VYciDTKt5pRdZWe.png

之后我们添加一个 Key

https://s2.loli.net/2025/08/11/8XexabzTBdyfRP6.png

我们选择 Web 服务之后, 点击创建

https://s2.loli.net/2025/08/11/HoZbfJRKFiDItc7.png

之后你便可以看到一个 Key

https://s2.loli.net/2025/08/11/rUd1ty2DHqlWjYP.png

这个 Key 需要你记住他, 之后我们再将这个 key 填入中到 高德地图 MCP pe.cn/mcp/servers/@amap/amap-maps)

https://s2.loli.net/2025/08/11/nQZ3Fg8VCJBN6wb.png

之后点击连接

我们可以看到

https://s2.loli.net/2025/08/11/2PElLxBsdpSk5gF.png

这里会有一个配置文件, 我们将他的内容复制下来, 打开我们上周配置好的 Cherry Studio

添加一个服务器, 从 JSON 导入

https://s2.loli.net/2025/08/11/PsrNh8dev2uO5Eg.png

填入刚刚复制的内容后点击确定

https://s2.loli.net/2025/08/11/zQosiYXuh9IcBUb.png

可以看到我们的列表里面已经有了这个服务器了

同样的方法, 我们还可以加上另外两个 MCP 服务器

使用 MCP

我们还是以迎新为场景, 现在我们的需求是想要回答一些更加详细的问题, 比如说我现在在 XXX 该怎么去成都理工大学? 当然我们也可以将 RAG 知识库也开启, 帮助 AI 从知识库找到一些外面找不到的迎新的详细信息

我们再新建一个话题, 点击下方的 MCP 设置, 将上面的几个 MCP 服务器启用

https://s2.loli.net/2025/08/11/pxaSCkG4UjqLfhT.png

接下来我们可以问一些问题

https://s2.loli.net/2025/08/11/q4ztWFfZGj5VEA9.png

这边我模型使用的 Doubao-pro-32k, 其他的可能发送后会出现 400 错误, 可以尝试切换模型为这个

可以看到已经能够正常回复了当前的时间, 证明我们的 MCP 服务器是正常的.

接下来我们要模拟一下一个人询问如何从东站到达成都理工大学, 测试一下高德地图的 MCP

由于这个 AI 比较蠢, 不知道先要查询经纬度, 我引导了一下

https://s2.loli.net/2025/08/11/QRWrp4dz75IbcFJ.png

可以看到 AI 能够成功规划好正确的路线了

当然你可以可以不用加引导也可以得到正确的线路

https://s2.loli.net/2025/08/11/n8Q4wsNM9d3kE1q.png
https://s2.loli.net/2025/08/11/rylDi6sUZSwWKpT.png

原创:Kengwang 编辑:GoForth


练习

1、完成文中的在智能体中接入MCP,实现一个寻路任务。模拟一下一个人询问如何从东站到达天府广场。

2、用自己的话讲讲什么是MCP,在评论区写下你的理解。

拓展文献:

在使用MCP的过程中,有几个点需要注意:

  1. 不同AI编程工具配置MCP的方式不一样,需要认真参照文档配置
  2. 使用MCP本身会占用宝贵的上下文,并不是MCP越多越好
  3. MCP不一定就方便,得亲自尝试

有基础的同学可以尝试一下:

https://juejin.cn/post/7450395475348832283?searchId=20251112194845AC531AD61D754DD5B2E6

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇