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技术趋势>

相关推荐
wuyk55523 分钟前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
m0_734571766 小时前
深入理解人工智能 chatGPT的软件架构
人工智能
飞塔老梅子6 小时前
09. Codex 节省Token ❀ 老梅子学AI
人工智能·ai·token·模型·codex
HyperAI超神经6 小时前
扰动实验+迁移学习,MIT团队推出IRIS,用「指纹」重建单细胞信号传导历史
人工智能·深度学习·机器学习·迁移学习
前沿在线6 小时前
启元机器人亮相外滩大会,探索个人机器人健康服务新场景
人工智能·ai·大模型
haishikeji696_6 小时前
现成无人机管理系统源码|支持私有化部署、二次开发、政企投标、自动机库对接
人工智能·无人机·低空经济·无人机管理系统·飞控管理系统
汇智信科6 小时前
煤矿视频智能分析系统:基于 AI 视觉实现井下安全隐患实时监测与闭环管控
人工智能
h78813946 小时前
录音容易纪要难?录音转文字 + AI 纪要实测,提升会议效率
人工智能·powerpoint
涛思数据(TDengine)6 小时前
从“极速算“到“知识沉淀“:工业 AI 实战直播(十三、十四期)
人工智能·时序数据库·tdengine·工业互联网·工业ai