MCP(模型上下文协议)被誉为 AI 世界的 USB 通用接口,彻底解决多模型、多数据源碎片化对接难题。本文完整拆解 MCP 核心价值、三层架构、四大核心能力,结合 OceanBase 官方 MCP Server 实操案例,对比传统 API 看清技术变革。
在 MCP 出现之前,AI 大模型要访问外部系统(数据库、文件、API 等),每个系统都需要单独写一套对接代码:
plaintext 没有 MCP 的情况: 大模型 ──── 自定义代码A ──── 数据库 ──── 自定义代码B ──── 文件系统 ──── 自定义代码C ──── GitHub ──── 自定义代码D ──── OceanBase ──── ... 每接一个系统就要写一套,M 个模型 × N 个系统 = M×N 套对接代码
每新增一款 AI 工具、一套数据库,都要从零开发适配逻辑,大量研发人力消耗在集成层,而非业务与 AI 能力本身。
有了 MCP 之后:
plaintext 有 MCP 的情况: 大模型A ─┐ ┌── OceanBase MCP Server 大模型B ─┤ ├── MySQL MCP Server 大模型C ─┼── MCP 统一协议 ────┼── 文件系统 MCP Server 大模型D ─┤ ├── GitHub MCP Server └ └── ... 所有模型用同一套协议,所有系统只需实现一个 MCP Server
plaintext ┌──────────────────────────────────────────────────────┐ │ 整体架构 │ │ │ │ ┌─────────┐ ┌─────────────┐ ┌──────────────┐ │ │ │ MCP Host │ │ MCP Client │ │ MCP Server │ │ │ │ │───▶│ │───▶│ │ │ │ │ AI 应用 │ │ 协议客户端 │ │ 对接外部系统 │ │ │ │(如Claude)│ │ │◀───│ │ │ │ └─────────┘ └─────────────┘ └──────────────┘ │ │ │ │ │ ┌──────▼────────┐ │ │ │ 外部系统/数据源 │ │ │ │ (数据库、API等) │ │ │ └───────────────┘ │ └──────────────────────────────────────────────────────┘
| 角色 | 说明 | 举例 |
|---|---|---|
| MCP Host | 运行 AI 模型的应用 | Claude Desktop、Cursor、你正在用的 Qoder |
| MCP Client | 负责与 MCP Server 通信的客户端 | 嵌入在 Host 中,自动管理 |
| MCP Server | 对接具体外部系统的服务端 | OceanBase MCP Server、GitHub MCP Server |
一个 MCP Server 可以向 AI 模型暴露四种能力:
| 能力 | 说明 | 举例 |
|---|---|---|
| Tools(工具) | AI 可以调用的操作 | 执行 SQL、创建表、查询数据 |
| Resources(资源) | AI 可以读取的数据 | 表结构、配置文件、文档 |
| Prompts(提示模板) | 预定义的交互模板 | "帮我优化这条 SQL"的标准化提问模板 |
| Sampling(采样) | Server 反过来请求 AI 生成内容 | 让 AI 生成 SQL 后再执行 |
MCP 底层基于 JSON-RPC 2.0 协议通信:
json
// AI 调用 MCP Server 的一个工具(比如执行 SQL)
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "execute_sql",
"arguments": {
"sql": "SELECT * FROM orders LIMIT 10"
}
},
"id": 1
}
// MCP Server 返回结果
{
"jsonrpc": "2.0",
"result": {
"content": [
{ "type": "text", "text": "查询返回 10 条记录..." }
]
},
"id": 1
}
OceanBase 已经提供了官方的 MCP Server,接入后 AI 可以:
plaintext 场景 1:查询表结构 你(自然语言): "帮我看一下 orders 表的结构" │ ▼ AI 大模型: 理解意图,调用 MCP 工具 │ ▼ OceanBase MCP Server: 执行 SHOW CREATE TABLE orders │ ▼ AI 大模型: 把结果整理成易读的格式返回给你 场景 2:自然语言生成业务报表 SQL 你: "最近 7 天订单量最多的前 5 个城市是哪些?" │ ▼ AI 大模型: 自动生成 SQL,通过 MCP 执行 │ ▼ OceanBase MCP Server: 执行查询,返回结果 │ ▼ AI 大模型: "北京 1234 单、上海 1100 单、广州 890 单..."
| 对比项 | 传统 API | MCP |
|---|---|---|
| 调用方 | 人写代码调用 | AI 自主决定何时调用 |
| 接口标准 | 每个系统不同(REST/gRPC/SDK等) | 统一协议 |
| 发现机制 | 需要人读文档 | AI 自动发现可用工具 |
| 交互方式 | 固定参数 | AI 根据上下文动态组装参数 |
| 目标用户 | 开发者 | AI 模型 |
| 问题 | 回答 |
|---|---|
| MCP 是什么? | AI 模型连接外部系统的统一标准协议 |
| 谁提出的? | Anthropic(Claude 的开发公司),2024 年 11 月开源 |
| 解决什么问题? | 避免每个 AI + 每个系统都要单独写对接代码 |
| 核心思路 | 类似 USB 标准——所有设备用同一个接口 |
如果你在实际操作中遇到问题,可以在评论区留言交流。后续我们会持续分享更多运维干货,记得 关注不迷路 ,下次见~
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047467/viewspace-3174474/ ,如需转载,请注明出处,否则将追究法律责任。