第 02 模块 · 1 节

MCP 协议与工作原理

《Claude Code 生产级工程》02 MCP 服务集成 · 本节时长 34 分钟

让 AI 不只是「读代码」,还能「用工具」

到目前为止,Claude Code 的能力大多局限在「读写你的代码 + 跑命令」。但真实业务里,你常常需要它访问外部系统:查数据库、调内部 API、读写第三方平台。

MCP 就是让这件事标准化、可扩展的通用协议。

贯穿项目mcp-hub 这个名字里的「hub」就来自 MCP:它本质上是「一堆 MCP Server 的集中入口」。所以这一节把 MCP 的原理吃透,是后面给 mcp-hub 接入外部服务、构建自定义 Server 的地基。**你现在要建立的认知是:MCP 协议连接的是 Claude Code 与外部系统之间的一座桥。**

MCP 是什么

MCP(Model Context Protocol,模型上下文协议)是一个**「让模型访问外部工具和数据」的通用标准**。

打个比方:它像 USB 接口——不同设备(数据库、内部服务、第三方系统)通过同一个标准接口接进来,模型就能统一地调用它们。

Claude Code  ←MCP协议→  MCP Server ←→ 外部系统
                         (适配器)

对 mcp-hub 来说,这个图就是它的核心架构:mcp-hub 管理的正是中间那层 MCP Server——它替团队统一管好「哪些 Server、接哪些外部系统、暴露哪些能力」,Claude Code 不用逐个去连。


它解决什么问题

没有 MCP 之前,要让 AI 连一个外部系统,得各自写各自的集成,又乱又难复用。MCP 提供了:

  • 统一协议:一种方式接入各种服务
  • 可扩展:新服务写好适配器就能接入
  • 标准化:大家用同一套约定,不重复造轮子

一句话:MCP 让「AI 的能力边界」可以无限扩展。

这也是 mcp-hub 存在的意义:团队里的服务五花八门——数据库、监控、工单、仓储——如果没有 MCP 的统一标准,每个人的接入方式都不一样;有了 MCP,mcp-hub 才能用同一套规则把它们管起来。


MCP Server 的角色

MCP 里最核心的部件是 MCP Server——它是个「适配器」,把外部系统的能力「翻译」成模型能用的协议。

  • 现成的 Server:很多常用服务(数据库、文件系统、常用 SaaS)已有现成适配器
  • 自建 Server:没有现成时,你自己写一个

模型通过 MCP Server,才能「触达」外部系统。

在 mcp-hub 里,MCP Server 就是它「管」的最小单位。mcp-hub 不关心外部系统内部怎么实现,只关心每个 Server 的地址、凭据、暴露的工具——这正是它要集中登记和校验的东西。


接入 MCP 能给 AI 带来什么

接上 MCP 后,Claude Code 能做的事大幅扩展,例如:

  • 直接查数据库,回答业务数据问题
  • 调用内部 API,执行真实操作
  • 读写第三方平台(如工单、监控、仓储系统)

它从「只懂你的代码」变成「能操作你的业务系统」。

对团队来说,这就是 mcp-hub 的「卖点」:接上 mcp-hub,团队成员就能让 Claude Code 直接操作团队的各种业务系统,而不用各自折腾集成。


一个最小认知模型:请求怎么走通

在深入之前,先建立一条最小链路,后面所有章节都复用:

你说「查一下今天的订单」
  → Claude Code 看 mcp-hub 里有哪个 Server 能查订单
  → mcp-hub 里的 MySQL Server 收到调用
  → Server 连数据库执行查询
  → 结果按协议返回给 Claude Code
  → Claude Code 把真实数字汇报给你

这条链路里,mcp-hub 管的是「哪个 Server 能查订单」,MCP 协议管的是「请求怎么在各层之间传」。两层分开想,后面才不会混。


哪些服务「值得」接入 MCP

不是所有系统都要接 MCP。用一个标准判断「值不值得接」:

系统类型 例子 值得接吗
频繁被问、且只读 订单库、用户表 值得,最常用
需要 AI 执行操作 内部工单、部署平台 视风险,谨慎
涉及写/删数据 生产数据库 默认不接,除非严格把关
一次性、很少用 某个冷门接口 不值得,先不加

对 mcp-hub 尤其重要:它接入的服务会成为团队共享资产,所以「值不值得接」要考虑团队整体频率和风险,而不只是你个人。只读、高频、低风险的最先接。


落地练习:画出 mcp-hub 里的一条 MCP 链路

这一节先建立心智,不用接真实服务。

跟着这三步走:

  1. 拿纸笔,画出「你说一句话 → Claude Code → mcp-hub 里的 MCP Server → 外部系统」这条链路,标出每层在做什么
  2. 在链路上标出:哪一层归 MCP 协议管、哪一层归 mcp-hub 管
  3. 想一个你团队真实的系统(比如订单库、监控平台),套进这条链路里

你会怎么判断做对了?——你能指着图说出「mcp-hub 管的是 Server 这一层,协议管的是层与层之间怎么传」,并且能把自己团队的一个系统放进去,就算过关。

卡住了怎么办? 分不清哪层归谁管?就先记住一句:mcp-hub 管「有哪些 Server」,MCP 管「Server 怎么和 Claude Code 说话」。想不出真实系统?就用「查订单」这个例子反复走几遍。


常见坑:把「MCP」和「MCP Server」混为一谈

新手常把「MCP」当成一个具体工具或软件去搜。其实 MCP 是一套协议(约定/标准),MCP Server 是跑起来的具体程序。就像「HTTP 协议」和「一个网站服务器」是两回事。

在 mcp-hub 里这个区分很重要:mcp-hub 注册的是一个个 MCP Server(具体服务),而它遵循的是 MCP 协议(统一标准)。搞混了,你在配置时就会不知道该写协议版本还是写服务地址——实际上两个都得写,但作用完全不同。


小结

  1. MCP = 「让模型访问外部工具和数据」的通用协议
  2. 像 USB 接口,统一标准接入各种服务
  3. MCP Server 是适配器,把外部系统「翻译」成模型能用的协议
  4. 接上 MCP,AI 能力从「读写代码」扩展到「操作业务系统」
  5. mcp-hub 管理的正是「有哪些 MCP Server」这一层

下一节,动手连接外部服务。