×
技术社区 >  技术博客 >  AI 界通用 USB 接口|一文读懂 MCP 协议,OceanBase 打通大模型与数据库

AI 界通用 USB 接口|一文读懂 MCP 协议,OceanBase 打通大模型与数据库

MCP(模型上下文协议)被誉为 AI 世界的 USB 通用接口,彻底解决多模型、多数据源碎片化对接难题。本文完整拆解 MCP 核心价值、三层架构、四大核心能力,结合 OceanBase 官方 MCP Server 实操案例,对比传统 API 看清技术变革。

一、为什么需要 MCP

在 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

二、MCP 的架构详解

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 提供什么能力

一个 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 实操演示

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 单..."

六、MCP vs 传统 API 调用的区别

对比项 传统 API MCP
调用方 人写代码调用 AI 自主决定何时调用
接口标准 每个系统不同(REST/gRPC/SDK等) 统一协议
发现机制 需要人读文档 AI 自动发现可用工具
交互方式 固定参数 AI 根据上下文动态组装参数
目标用户 开发者 AI 模型

总结

问题 回答
MCP 是什么? AI 模型连接外部系统的统一标准协议
谁提出的? Anthropic(Claude 的开发公司),2024 年 11 月开源
解决什么问题? 避免每个 AI + 每个系统都要单独写对接代码
核心思路 类似 USB 标准——所有设备用同一个接口

精选推荐