三个角色,各自负责什么
MCP 是一套开放协议,让大模型应用用统一的方式连接外部数据和工具。官方规范里的三个角色,可以这样理解。
- Host 是你使用的 AI 应用,由它发起连接。
- Client 是这个应用内部负责连接的组件。
- Server 是提供资料或功能的服务。
所以,Client 和 Host 无须理解成两个独立的软件。连接组件就在应用内部,负责与外面的服务通信。
提供资料、模板和动作
服务端可以提供三类能力,但未必三类都有。
- Resources 提供资料,供用户或模型使用。
- Prompts 提供面向用户的消息模板和工作流程。
- Tools 是服务端提供、供模型调用的功能,例如搜索文档或创建文档。
用文档服务作一个假设说明。文档内容可以作为资料提供;整理文档的固定提问方式可以做成模板;搜索文档、创建文档则可以做成工具。具体开放哪几项,要看这个服务实际实现了什么。
接入前,先列出希望它读取的资料、复用的模板和执行的操作,再对照服务实际提供的能力。只看“支持 MCP”,还不能确定它能否完成你的任务。
接通以后,权限仍要单独看
规范要求,Host 在把用户数据交给服务端之前取得明确同意,调用工具之前也要取得明确同意。用户应当知道会共享哪些数据、允许执行什么操作。工具的说明文字也不能直接当作可信保证,除非它来自可信服务。
这些要求需要应用和服务的实现来落实。规范同时说明,协议本身无法在协议层强制执行这些安全原则,并建议实现方建立同意与授权流程、访问控制和数据保护。
选工具时,可以实际查看它的授权界面。读取范围能否限制?写入操作是否在已授权范围内?只想让 AI 查资料,就先确认它拿到的是哪些读取权限。
本文依据 MCP 2025-11-25 版官方规范,资料核对于 2026 年 10 月 21 日。文档服务仅用于解释角色与能力,具体产品是否支持、怎样授权,应以该产品为准。