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

相关推荐
谷哥的小弟1 小时前
大模型核心基础知识(12)—机器学习的基本概念与常见方法
人工智能·深度学习·机器学习·大模型·大语言模型
csdnor_011 小时前
Codex Desktop App 使用 Ollama 本地模型技术方案
人工智能·免费·codex·ollama
_Oracle1 小时前
机器学习——绪论
人工智能·机器学习
mit6.8242 小时前
AI时代下的TypeScript
人工智能
sulikey2 小时前
大模型是如何工作的
人工智能
久违 °9 小时前
【AI-Agent】TagMatrix 数据标注工具开发
人工智能·数据分析·go·agent·数据隐私
AI360labs_atyun10 小时前
腾讯推出电子牛马Marvis,好用吗?
人工智能·科技·ai
Dfreedom.10 小时前
Windows、虚拟机、开发板组网通信原理及调试通联步骤
人工智能·windows·部署·边缘计算·开发板·模型加速
3DVisionary10 小时前
蓝光三维扫描:医疗制造的精度焦虑怎么解
人工智能·算法·制造·蓝光三维扫描·医疗制造·三维检测·义齿检测