跳到主要内容

MCP

在 Vibe Coding 语境里,MCP(Model Context Protocol)最值得记住的一句话是:它不是某个单独产品,而是一套把模型、工具、数据源接起来的标准协议。 如果没有这层协议,AI 调文件、读数据库、连外部系统,通常都得为每个客户端单独接一次。

0. 面试速答(30 秒版 TL;DR)

  • MCP = Model Context Protocol,核心目标是:让 AI 应用以标准方式连接外部工具、资源和工作流。
  • 它解决的问题不是“模型怎么训练”,而是 模型运行时怎么拿上下文、怎么调能力
  • 从架构看,常见参与者有三类:
    • Host:承载 AI 的应用
    • Client:Host 里和某个 MCP Server 建连的客户端
    • Server:向 AI 暴露能力的一端
  • 从能力看,最重要的 3 类原语(primitives):
    • Tools:可执行动作
    • Resources:可读上下文
    • Prompts:可复用交互模板
  • 一句话类比:MCP 像 AI 世界的标准接口层,不是业务本身,而是接线规范。

1. MCP 到底在解决什么问题?

没有 MCP 时,常见集成方式是:

  • A 客户端单独接 GitHub
  • B 客户端单独接数据库
  • C 客户端再单独接文件系统

结果就是:

  • 每个 AI 客户端都要重复造连接层
  • 工具接口风格不统一
  • 权限、认证、能力发现都很分散

MCP 的价值就在这里:

  • 把“接工具”的问题标准化
  • 把“给上下文”的问题标准化
  • 把“发现有哪些能力”的问题标准化

所以它关心的是运行时互联,不是模型参数训练。

2. 先分清三个角色

2.1 Host

Host 是真正承载 AI 交互的应用,比如:

  • IDE
  • AI Chat 客户端
  • Agent 运行环境

它负责协调:

  • 当前用户会话
  • 模型调用
  • 工具是否可见
  • 工具结果怎么回灌给模型

2.2 Client

Client 往往是 Host 内部的一层连接对象。

它的职责是:

  • 和某个 MCP Server 建立连接
  • 发现这个 Server 暴露了哪些能力
  • 把调用请求和返回结果按协议收发

你可以把它理解成:

  • Host 的“某条外接能力连接线”

2.3 Server

Server 不是“大模型服务”,而是向 AI 暴露能力的程序。

它可以提供:

  • 文件读取
  • 搜索
  • 数据库查询
  • API 调用
  • 内部知识库访问

关键点在于:

  • Server 暴露的是可控能力,不是无限系统权限。

3. MCP 里最重要的 3 个原语

3.1 Tools

Tools 是“让 AI 做事”的。

例如:

  • 搜索代码
  • 执行某个受控命令
  • 查询工单
  • 创建草稿 PR

它的特点是:

  • 会产生动作
  • 可能有副作用
  • 需要权限治理

3.2 Resources

Resources 是“让 AI 读东西”的。

例如:

  • 文件内容
  • 数据库 schema
  • 某篇文档
  • 某条工单详情

它的特点是:

  • 更像上下文输入
  • 通常用于补足事实依据
  • 本身不一定产生副作用

3.3 Prompts

Prompts 是“把一类交互固定成模板”的。

例如:

  • 代码审查模板
  • 事故复盘模板
  • 某类查询的 few-shot 示例

它的作用不是增加新权限,而是把已有能力组织得更稳定

4. 在前端 Vibe Coding 里,MCP 真正有价值的场景

最常见的几个:

4.1 让 AI 真正读到项目真实上下文

如果 AI 只能看你粘贴的几段代码,它很容易误判。

接上文件系统、代码搜索、文档资源之后,它才能:

  • 读真实目录结构
  • 搜真实 API
  • 拿配置文件做判断

4.2 让 AI 访问“仓库外事实”

例如:

  • 设计稿
  • 需求单
  • 错误监控
  • 接口文档

否则模型很容易只根据代码片段瞎补全业务背景。

4.3 把团队工作流标准化

例如把这些能力统一接出来:

  • 查需求
  • 查组件文档
  • 查日志
  • 跑受控检查

这样不同 AI 客户端就不用重复手工接入。

5. 一个很容易被问到的点:MCP 和 Function Calling 有什么区别?

可以这样回答:

  • Function Calling 更像单个模型调用时的工具调用格式
  • MCP 更像跨客户端、跨工具、跨上下文源的标准连接协议

前者更偏“这次调用怎么调工具”,后者更偏“整个生态怎么统一接工具”。

6. 前端团队接 MCP 时最该防的坑

6.1 权限过大

如果你把整个文件系统、生产数据库、敏感密钥都直接暴露给 AI,协议再标准也不安全。

原则应该是:

  • 默认最小权限
  • 默认只读优先
  • 高风险动作必须二次确认

6.2 上下文太多

不是接的工具越多越好。

工具一多,会带来:

  • 发现成本高
  • 选择成本高
  • 结果噪声高

真正有效的是:

  • 围绕具体工作流接能力
  • 按团队任务分组暴露

6.3 把 MCP 当成“准确率保证器”

MCP 只解决“接得到真实上下文和能力”,不保证模型一定判断正确。

它能降低幻觉,但不能替代验证。

7. 典型题 & 标准答法

Q1:MCP 的核心价值是什么?

答:

把 AI 应用连接外部工具、资源和提示模板这件事标准化,减少重复集成成本,并让模型在运行时能拿到更真实的上下文和受控能力。

Q2:MCP 里的 Tool 和 Resource 有什么区别?

答:

Tool 偏动作,调用后可能产生副作用;Resource 偏读取,用来给模型补上下文。

Q3:接了 MCP 之后,AI 就不幻觉了吗?

答:

不会。MCP 只是让 AI 更容易接触真实数据和工具,降低“瞎猜”的概率,但最终仍然要靠权限控制和结果验证。

8. 速记要点(可背诵)

  • MCP 解决的是 AI 与外部系统的标准连接问题
  • 三个关键角色:Host、Client、Server
  • 三个核心原语:Tools、Resources、Prompts
  • 它提升的是 接入标准化与上下文真实性,不是自动保证正确性。