MCP协议AI时代的HTTP

MCP协议:AI时代的HTTP,你必须懂

📢 本文是《Java开发者玩转AI Agent》专栏第3篇,免费阅读

前言

如果你是Web开发者,你一定知道HTTP协议。

没有HTTP,就没有今天的互联网。

2026年,AI领域也有一个类似的协议正在成为标准:MCP(Model Context Protocol)。

不懂MCP,就像20年前不懂HTTP一样,你会被时代甩开。


一、MCP是什么?

1.1 一句话解释

MCP是Anthropic公司推出的协议,用来标准化AI模型和外部工具之间的通信

1.2 类比理解

概念 Web时代 AI时代
协议 HTTP MCP
服务器 Web Server MCP Server
客户端 浏览器 AI模型
资源 网页 工具、数据、服务
请求 HTTP Request Tool Call
响应 HTTP Response Tool Result

MCP就是AI时代的HTTP。


二、为什么需要MCP?

2.1 没有MCP之前

每个AI模型对接工具都要单独开发:

复制代码
ChatGPT ←→ 天气API(定制开发)
ChatGPT ←→ 数据库(定制开发)
ChatGPT ←→ 邮件系统(定制开发)

DeepSeek ←→ 天气API(重新开发)
DeepSeek ←→ 数据库(重新开发)
DeepSeek ←→ 邮件系统(重新开发)

问题:

  • 每个模型都要单独对接
  • 工具开发者要适配多个模型
  • 重复劳动,效率低下

2.2 有了MCP之后

复制代码
            ┌─────────────┐
            │  MCP Server  │
            │  (天气服务)   │
            └──────┬──────┘
                   │
       ┌───────────┼───────────┐
       │           │           │
       ▼           ▼           ▼
   ChatGPT     DeepSeek     Claude

好处:

  • 工具开发者只需实现一次MCP Server
  • 所有支持MCP的模型都能调用
  • 标准化、可复用、生态繁荣

三、MCP的核心概念

3.1 MCP Server

提供工具和资源的服务端。

复制代码
// 一个简单的MCP Server示例
public class WeatherMcpServer {
    
    // 提供"查询天气"工具
    @Tool("get_weather")
    public String getWeather(@Param("city") String city) {
        // 调用天气API
        return "北京今天晴,25°C";
    }
    
    // 提供"天气数据"资源
    @Resource("weather://today")
    public String getTodayWeather() {
        return "全国天气概况...";
    }
}

3.2 MCP Client

调用MCP Server的客户端,通常是AI模型或Agent框架。

3.3 三大核心能力

能力 说明 示例
Tools(工具) AI可以调用的函数 查天气、发邮件、查数据库
Resources(资源) AI可以读取的数据 文件内容、数据库记录
Prompts(提示词) 预定义的提示词模板 代码Review模板、翻译模板

四、MCP vs 传统API

对比项 传统API MCP
发现方式 需要文档 自描述
调用方式 写代码调用 AI直接调用
参数说明 看文档 模型自动理解
错误处理 自定义 标准化
生态 各自为战 统一标准

举个例子:

传统API调用天气服务:

复制代码
// 1. 看文档了解API地址和参数
// 2. 写代码构造请求
// 3. 处理响应和错误
HttpResponse response = HttpClient.get("https://api.weather.com/v1?city=北京");
WeatherData data = parseResponse(response);

MCP调用天气服务:

复制代码
用户:"北京今天天气怎么样?"
AI:自动调用 weather.get_weather(city="北京")
AI:"北京今天晴,25°C,适合外出。"

开发者只需要实现MCP Server,AI自动知道怎么调用。


五、MCP的技术架构

复制代码
┌─────────────────────────────────────────────────┐
│                  MCP Client                      │
│              (AI模型/Agent框架)                   │
└──────────────────────┬──────────────────────────┘
                       │
                       │ JSON-RPC 2.0
                       │
┌──────────────────────▼──────────────────────────┐
│                  MCP Server                      │
├─────────────────────────────────────────────────┤
│  ┌───────────┐  ┌───────────┐  ┌───────────┐   │
│  │   Tools   │  │ Resources │  │  Prompts   │   │
│  │  (工具)   │  │  (资源)   │  │ (提示词)   │   │
│  └───────────┘  └───────────┘  └───────────┘   │
└─────────────────────────────────────────────────┘
                       │
                       ▼
              ┌───────────────┐
              │  外部服务/数据  │
              │  (API/DB/文件) │
              └───────────────┘

通信协议

MCP使用JSON-RPC 2.0,支持两种传输方式:

  1. stdio:本地进程通信
  2. HTTP + SSE:远程服务通信

六、MCP的实际应用

6.1 已经支持MCP的产品

产品 公司 支持程度
Claude Desktop Anthropic 完整支持
Cursor Cursor Inc 完整支持
VS Code Microsoft 支持中
IntelliJ IDEA JetBrains 插件支持

6.2 现有的MCP Server

GitHub上已经有大量现成的MCP Server:

服务器 功能
filesystem 文件读写
postgres/mysql 数据库操作
github GitHub操作
slack Slack消息
google-drive Google文档
puppeteer 浏览器自动化

这意味着:你不需要从零开始,站在巨人肩膀上就行。


七、Java开发者的机会

7.1 为什么Java适合做MCP Server?

  1. 企业级应用多:很多内部系统都是Java写的
  2. 生态完善:Spring Boot、MyBatis等框架成熟
  3. 性能可靠:高并发、稳定性要求高的场景

7.2 你能做什么?

  1. 把现有系统封装成MCP Server

    • 老旧系统 → AI可调用的服务
    • 数据库 → AI可查询的资源
  2. 开发通用MCP Server

    • 发布到开源社区
    • 提供付费版本
  3. 为企业搭建MCP网关

    • 统一管理MCP Server
    • 权限控制、监控、日志

八、一个简单的例子

8.1 需求

让AI能查询公司员工信息。

8.2 实现MCP Server

复制代码
@Component
public class EmployeeMcpServer {
    
    @Autowired
    private EmployeeMapper employeeMapper;
    
    @Tool("查询员工信息")
    public Employee getEmployee(@Param("工号") String employeeId) {
        return employeeMapper.selectById(employeeId);
    }
    
    @Tool("搜索员工")
    public List<Employee> searchEmployees(@Param("关键词") String keyword) {
        return employeeMapper.search(keyword);
    }
    
    @Resource("员工总数")
    public int getTotalCount() {
        return employeeMapper.count();
    }
}

8.3 AI调用效果

复制代码
用户:"帮我查一下工号A001的员工信息"
AI:调用 get_employee(employeeId="A001")
AI:"工号A001是张三,Java高级工程师,入职时间2020年..."

用户:"搜索一下会Python的员工"
AI:调用 search_employees(keyword="Python")
AI:"找到3位会Python的员工:..."

九、学习路线

复制代码
第1步:理解MCP概念(本文)
      ↓
第2步:使用现成的MCP Server
      ↓
第3步:用Java实现简单的MCP Server
      ↓
第4步:把现有系统封装成MCP Server
      ↓
第5步:设计企业级MCP架构

十、下一篇预告

下一篇,我会讲解:RAG是什么?为什么企业都在用

  • RAG解决了什么问题?
  • RAG的原理是什么?
  • 为什么RAG是企业AI落地的关键?

总结

MCP = AI时代的HTTP

  • 标准化AI模型和工具的通信
  • 一次开发,所有AI都能调用
  • Java开发者有天然优势

现在学MCP,就像20年前学HTTP一样,是明智的选择。


💬 你对MCP有什么疑问?欢迎评论区交流

📌 关注我,带你从Java开发者转型AI工程师


标签 :#MCP <#Model> Context Protocol <#AI> Agent <#Java> <#Anthropic> <#2026技术趋势>

相关推荐
iiiiii112 分钟前
【论文阅读笔记】Reparameterization Proximal Policy Optimization (RPO):将PPO的稳定性引入可微分强化学习
论文阅读·人工智能·笔记·深度学习·机器学习·机器人·具身智能
GitCode官方12 分钟前
openPangu-2.0-Pro 模型及技术报告正式开源上线 AtomGit AI
人工智能·华为·开源·harmonyos·atomgit
少年最是14 分钟前
体协作系统,用于分析聊天记录中特定人物的荣格八维人格类型。 本文使用 CC-BY-NC-SA . 协议。转载或者 AI 模型/智能体 ...
人工智能
xiaobaihuoke16 分钟前
多平台买家账号批量管理技术方案:环境隔离与自动化操作实践
人工智能·亚马逊鲲鹏系统·多平台账号管理·跨境电商买家号
HiEV18 分钟前
Mobileye 3.0:自动驾驶科技问题基本解决,Shashua押注物理AI
人工智能·自动驾驶
段一凡-华北理工大学19 分钟前
AI推动工业智能化转型~系列文章05:特征工程:工业 AI 的第一生产力
数据库·人工智能·分布式·搜索引擎·特征工程·高炉智能化
李伟_Li慢慢21 分钟前
凸包算法
人工智能·算法
徐礼昭|商派软件市场负责人27 分钟前
AI Agent 蜂群协作与经验基因化:从单体执行到自组织系统的工程路径
大数据·人工智能·算法·智能体·多agent
厚皮龙28 分钟前
相机标定_角点检测_重投影误差_总结
人工智能
u01030552732 分钟前
智能素材归档检索Agent实战方案腾讯元气6G参赛
人工智能