传统的 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 服务器

一般会给出这样的一行 MCP 配置描述, 我们可以利用这个在自行部署
如果你想自己部署, 可能需要安装 Docker, Node.js, 由于不想难度太高这边暂不详细说明, 如果你想尝试, 可以先搭建个 1Panel

里面提供了管理多个 MCP Server 的功能, 你可以将不同的 MCP Server 暴露出来, 详细可以参考 1Panel - MCP
我们这边暂时使用一个在线平台进行处理
使用 MCP 服务器
我们这边使用 魔搭平台 来帮忙创建 MCP 服务器
有部分的 MCP 服务器需要填写 API Key, 我们这边以高德开放平台作为例子, 其他具体的 MCP 服务器可以看他的说明
准备工作
我们先前往 高德开放平台 注册成为个人开发者, 认证按照官网的指引来.
注册成功后我们前往 控制台 注册新的应用

之后我们添加一个 Key

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

之后你便可以看到一个 Key

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

之后点击连接
我们可以看到

这里会有一个配置文件, 我们将他的内容复制下来, 打开我们上周配置好的 Cherry Studio
添加一个服务器, 从 JSON 导入

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

可以看到我们的列表里面已经有了这个服务器了
同样的方法, 我们还可以加上另外两个 MCP 服务器
使用 MCP
我们还是以迎新为场景, 现在我们的需求是想要回答一些更加详细的问题, 比如说我现在在 XXX 该怎么去成都理工大学? 当然我们也可以将 RAG 知识库也开启, 帮助 AI 从知识库找到一些外面找不到的迎新的详细信息
我们再新建一个话题, 点击下方的 MCP 设置, 将上面的几个 MCP 服务器启用

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

这边我模型使用的
Doubao-pro-32k, 其他的可能发送后会出现 400 错误, 可以尝试切换模型为这个
可以看到已经能够正常回复了当前的时间, 证明我们的 MCP 服务器是正常的.
接下来我们要模拟一下一个人询问如何从东站到达成都理工大学, 测试一下高德地图的 MCP
由于这个 AI 比较蠢, 不知道先要查询经纬度, 我引导了一下

可以看到 AI 能够成功规划好正确的路线了
当然你可以可以不用加引导也可以得到正确的线路


原创:Kengwang 编辑:GoForth
练习
1、完成文中的在智能体中接入MCP,实现一个寻路任务。模拟一下一个人询问如何从东站到达天府广场。
2、用自己的话讲讲什么是MCP,在评论区写下你的理解。
拓展文献:
在使用MCP的过程中,有几个点需要注意:
- 不同AI编程工具配置MCP的方式不一样,需要认真参照文档配置
- 使用MCP本身会占用宝贵的上下文,并不是MCP越多越好
- MCP不一定就方便,得亲自尝试
有基础的同学可以尝试一下:
https://juejin.cn/post/7450395475348832283?searchId=20251112194845AC531AD61D754DD5B2E6