🌈个人主页:一条泥憨鱼(欢迎各位大佬莅临)

🎬精选专栏:数据结构与算法JavaSE ,苍穹外卖日记AI学习

前言:

这两年,AI 技术的发展速度可以说是“离谱”。

从最开始的聊天机器人,到后来的 AI 编程助手、AI Agent、自动办公、自动调用工具,大模型正在逐渐从“会聊天”,进化成:

“会干活”。

而最近技术圈里,又有一个特别火的词:

MCP

很多开发者第一次看到这个词时都会一脸懵:

  • MCP 是什么?

  • 它和 Agent 有什么关系?

  • 为什么 OpenAI、Anthropic 都在关注?

  • 为什么说 MCP 可能会改变 AI 应用生态?

今天这篇文章,我们就用最通俗的方式,彻底讲明白:

MCP 到底是什么。


什么是 MCP?

MCP,全称:

Model Context Protocol

中文一般翻译为:

模型上下文协议

听起来非常抽象。

但其实你可以把 MCP 理解成:

AI 与外部工具之间的“统一接口标准”。

或者更简单一点:

AI 世界的 USB 接口。


为什么 MCP 会火?

先想一个问题:

现在的大模型虽然很强。但它有一个巨大的问题:

它“知道很多”,但“什么都做不了”。

你问 AI:

帮我查看今天的天气

AI 本身并不会真的联网查天气。

你说:

帮我读取数据库

AI 也没法直接操作 MySQL。

你说:

帮我打开 Excel

它也做不到。

所以:

大模型需要“工具”。

而现在 AI 生态最大的问题就是:

工具接口不统一

例如:

  • 一个工具用 HTTP

  • 一个工具用 WebSocket

  • 一个工具用 SDK

  • 一个工具返回 JSON

  • 一个工具返回 XML

  • 一个工具需要 OAuth

  • 一个工具直接 API Key

最后每接一个工具,开发者都得重新适配。

这就像:

每个手机都用不同充电器。

非常混乱。

于是 MCP 出现了。


MCP 的核心思想

MCP 的核心目标只有一句话:

让 AI 用统一方式调用外部能力。

例如:

现在 AI 想调用:

  • 数据库

  • 文件系统

  • GitHub

  • 浏览器

  • 本地代码

  • API 服务

  • 企业系统

理论上都可以通过 MCP 接入。

这样,AI 不需要关心工具内部怎么实现。

只需要:

按 MCP 协议调用即可。


用生活例子理解 MCP

想象一下:你买了一个 USB 鼠标。

你不会关心:

  • 鼠标内部电路

  • 芯片型号

  • 电压控制

  • 驱动协议

因为:

USB 已经帮你统一了接口。

你只需要:

插上 → 使用

而 MCP 做的事情也类似:

AI
↓
MCP协议
↓
各种工具

AI 不再需要为每个工具单独写逻辑。


MCP 出现之前的问题

在 MCP 之前。

AI 工具调用通常是这样的:

大模型
 ↓
写一堆Tool Calling逻辑
 ↓
每个工具单独适配
 ↓
处理不同格式
 ↓
维护各种SDK

结果:

  • 开发复杂

  • 扩展困难

  • 工具生态混乱

  • Agent 难以标准化

尤其当工具越来越多时,整个系统会变得非常难维护。


MCP 的架构

MCP 的核心架构其实不复杂。

一般分为:

Client(客户端)
Server(服务端)
Model(模型)

关系如下:

用户
 ↓
AI模型
 ↓
MCP Client
 ↓
MCP Server
 ↓
外部工具

MCP Client 是什么?

Client 一般在:

  • ChatGPT

  • Claude

  • IDE插件

  • AI Agent

里面。

它负责:

  • 与模型交互

  • 发送 MCP 请求

  • 获取工具结果

你可以理解成:

“AI 的工具管理器”。


MCP Server 是什么?

Server 提供具体能力。

例如:

  • 文件读取

  • GitHub 操作

  • 数据库查询

  • 浏览器控制

  • API 调用

它本质上就是:

“工具提供方”。


MCP 的本质

很多人学了一圈之后。

会发现:

MCP 本质上其实就是:

AI 时代的工具调用标准

类似于:

  • HTTP 是互联网通信标准

  • JDBC 是 Java 数据库标准

  • USB 是硬件接口标准

而 MCP:

是 AI 调用工具的标准。


MCP 为什么这么重要?

未来的大模型一定不是“孤立存在”的,AI 必须连接现实世界。

例如:

  • 读取文件

  • 调数据库

  • 操作浏览器

  • 调企业系统

  • 控制软件

  • 调用 API

否则:AI 永远只是“聊天机器人”。


MCP 和 Function Calling 的区别

很多人容易混淆:

  • MCP

  • Function Calling

其实:它们不是同一个东西。


Function Calling

是:

“让模型知道可以调用哪些函数”。

例如:

{
  "name": "getWeather",
  "params": {
    "city": "北京"
  }
}

模型会决定:是否调用。


MCP

则更进一步。

它不仅定义:

  • 调用方式

还定义:

  • 通信协议

  • 工具发现

  • 上下文管理

  • 数据格式

  • 生命周期

可以理解成:

Function Calling:
告诉AI“有哪些工具”

MCP:
规定AI“如何统一使用工具”

MCP 为什么会推动 Agent 爆发?

因为:

Agent 最大的问题就是:工具生态不统一

例如一个 AI Agent:

今天接 GitHub。

明天接数据库。

后天接 Jira。

大后天接 Slack。

如果没有统一协议:

整个系统会越来越乱。

而 MCP 的出现意味着:

所有工具都可以标准化。

Agent 的开发成本会大幅下降。


一个 MCP 工作流程示例

例如:

用户说:

帮我分析这个项目最近的GitHub提交记录

流程可能如下:


第一步:模型理解需求

AI 判断:

需要调用 GitHub 工具

第二步:通过 MCP 调用工具

MCP Client:

向 GitHub MCP Server 发请求

第三步:获取数据

GitHub MCP Server:

返回提交记录

第四步:模型分析结果

AI:

  • 总结代码变化

  • 分析热点模块

  • 输出报告

整个过程模型根本不需要关心:

  • GitHub API

  • Token

  • 请求格式

  • SDK

因为:MCP 已经统一封装好了。


MCP 的核心能力

通常 MCP 会提供:


1. Tool(工具)

例如:

  • 查询天气

  • 调数据库

  • 发邮件

  • 查 GitHub


2. Resource(资源)

例如:

  • 文件

  • 文档

  • 图片

  • 网页


3. Prompt(提示模板)

例如:

统一 Prompt 模板:

代码审查模板
日报生成模板
SQL分析模板

4. Context(上下文)

MCP 很强调:

上下文管理。

因为 Agent 通常是多轮任务。

例如:

打开项目
分析代码
生成报告
修复Bug
提交Git

这些步骤都需要上下文共享。


MCP 和 RAG 的关系

最近很多人会把:

  • RAG

  • Agent

  • MCP

放一起。

其实它们关系非常紧密。


RAG

负责:

“给 AI 提供知识”。

例如:

  • 企业知识库

  • 文档检索

  • 向量搜索


MCP

负责:

“给 AI 提供工具”。

例如:

  • 文件系统

  • GitHub

  • 浏览器

  • 数据库


Agent

负责:

“让 AI 自主完成任务”。

所以:

RAG = 知识
MCP = 工具
Agent = 执行者

这三者很可能会组成未来 AI 应用的核心架构。


MCP 对开发者意味着什么?

这是最关键的问题。


1. AI 应用开发门槛降低

以前:接一个工具可能写几千行代码。

以后:支持 MCP 即可。


2. 工具生态会爆发

未来会出现大量:

  • MCP Server

  • MCP 工具市场

  • MCP 插件生态

类似:

npm
App Store
Chrome插件

3. AI IDE 会更强

未来 IDE 不只是代码补全。

而是:

  • 自动分析项目

  • 自动修Bug

  • 自动提交代码

  • 自动部署

而 MCP 会成为连接这些能力的关键。


开发者如何学习 MCP?

以Java 开发者为例,建议这样学习。


第一阶段:理解 AI Agent

先搞懂:

  • Tool Calling

  • Agent

  • RAG

  • Prompt

  • Workflow


第二阶段:学习 MCP 协议

重点理解:

  • Client

  • Server

  • Tool

  • Resource

  • Context


第三阶段:尝试自己实现 MCP Server

例如:

写一个:

MySQL MCP Server

支持:

  • 查询数据库

  • 获取表结构

  • SQL分析


第四阶段:结合 AI 框架

例如:

  • LangChain4j

  • Spring AI

  • OpenAI SDK

让 AI 真正调用工具。


一个简单的 MCP 示例(伪代码)

下面用伪代码理解。


MCP Server

tool(
   name = "getWeather",
   description = "获取天气"
)
public String getWeather(String city){
    return "北京:26度";
}

AI 调用

用户:北京天气怎么样?
↓
模型判断需要调用工具
↓
MCP Client 请求 MCP Server
↓
返回天气数据
↓
模型组织自然语言
↓
输出结果

MCP 的未来

很多人认为MCP 很可能会成为:

AI Agent 时代的“HTTP协议”。

因为未来,AI 不会只是聊天。

它会:

  • 使用工具

  • 操作系统

  • 完成任务

  • 调用服务

  • 自动工作

而这些能力都需要统一协议。


总结

最后用一句话总结 MCP:

MCP = AI 与外部世界沟通的标准接口。

它解决的是:

“AI 如何统一调用工具”的问题。

未来:如果 Agent 是“大脑”。

那么:

RAG 是知识库
MCP 是工具接口
Workflow 是执行流程

而真正强大的 AI 应用,一定是:

大模型 + RAG + MCP + Agent

所以对于开发者来说。

现在学习:

  • MCP

  • Agent

  • RAG

  • AI工具调用

会非常有价值,因为未来的软件开发很可能会从:

“人写代码”

逐渐变成:

“AI 调用工具完成任务”

今天的学习就暂时告一段落啦,如果文章对您有用的话,还请留下一个免费的小心心和关注哦!

祝您工作顺利,生活愉快。我们下期再见!

Logo

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

更多推荐