联系我们
18591797788
hubin@rlctech.com
北京市海淀区中关村南大街乙12号院天作国际B座1708室
18681942657
lvyuan@rlctech.com
上海市浦东新区商城路660号乐凯大厦26c-1
18049488781
xieyi@rlctech.com
广州市越秀区东风东路华宫大厦808号1608房
029-81109312
service@rlctech.com
西安市高新区天谷七路996号西安国家数字出版基地C座501
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 标准——所有设备用同一个接口 |