← [ BACK_TO_NOTES ]

MCP

Model Context Protocol,用统一协议把工具、资源和提示能力接入 AI 客户端。

#ai #mcp #concept #growing

[!info] related notes

MCP

MCP 不是某一个具体工具,而是一套协议标准。它的目标是让 AI 客户端用统一方式接入外部工具、资源和提示能力。

一句话定义

MCP 可以理解成“AI 客户端和外部工具生态之间的标准接口层”。

为什么会有 MCP

如果没有统一协议,不同 AI 客户端接不同工具时,经常会出现:

  • 每个工具接法都不一样
  • 每个客户端都要单独适配
  • 工具、资源、提示很难统一暴露

MCP 解决的就是这个集成标准化问题。

三个核心角色

MCP Host

AI 应用本身,比如 IDE、桌面助手、聊天客户端。

MCP Client

Host 里负责和某个 MCP Server 建连接的那一层。

MCP Server

真正暴露能力的服务端,里面可以提供:

  • tools
  • resources
  • prompts

粗略工作流程

  1. Host 连接 MCP Server
  2. Server 告诉客户端自己能提供哪些工具和资源
  3. 用户发起问题
  4. Host 根据模型判断,选择是否调用某个 MCP 能力
  5. Server 返回结果,Host 再组织给用户

与 Function Calling 的关系

两者位于不同抽象层:MCP 负责能力接入协议,Function Calling 负责模型表达结构化工具调用。完整关系见 MCP vs Function Calling。

远程 HTTP 与授权

受保护的远程 MCP 仍可以在 HTTP 请求里携带 Authorization: Bearer <access-token>;MCP 的特殊之处是统一 JSON-RPC 工具发现/调用及 OAuth discovery,而不是发明另一种 Token。首次 OAuth 登录与后续每次 Bearer HTTP 调用是两件事,详见 MCP HTTP 授权与 REST API 鉴权的关系。

客户端如何取得 OAuth client_id,由 预注册、CIMD 与 DCR 等机制决定;它并不自动证明用户已经授权。

学习检查

不看正文回答:

  1. MCP 的 Host、Client、Server 三个角色分别负责什么?
  2. MCP Server 除了 tools 之外还可以暴露哪些类型的能力?
  3. 为什么 MCP 解决的是“统一接入”问题,而不是“模型怎么推理”的问题?
  4. 一个 MCP Server 暴露工具后,真正调用链会经过哪些角色?
  5. MCP 与 Function Calling 为什么不是互相替代关系?
  6. 如果两个 AI 客户端都支持 MCP,它们为什么更容易复用同一个 Server 生态?
创建于 2025/9/1 更新于 2026/10/8
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本