Skip to content

6 个核心 MCP Primitive

6 Core MCP Primitives

不少开发者觉得 MCP 只是又一种 tool calling 标准,但这只是触及了表面。和简单的 tool calling 不同,MCP 在你的 AI 应用与 Server 之间建立起了双向通信。下面就来拆解一下让 MCP 真正强大起来的 6 个核心 primitive(并配合示例说明):

mcp p283 1

先从 Client 说起——它是在 LLM 应用和 Server 之间促成对话的实体,提供了 3 项关键能力:

1)Sampling

Client 一端总是配有一个 LLM。因此在需要的时候,Server 可以请求 Client 的 LLM 生成一些补全内容,与此同时权限和安全始终由 Client 掌控。举例来说,一个带有旅行相关 Tool 的 MCP Server,可以请求 LLM 从一份列表中挑出最优的航班。

2)Roots

这项能力让 Client 可以定义 Server 能够访问哪些文件,从而让整个交互过程是安全的、沙盒化的,并且访问范围受到限定。举例来说,一个用于预订旅行的 Server,可能只被授权访问某个特定目录,从中读取用户的日历。

3)Elicitations

这项能力让 Server 可以在任务执行过程中,以结构化的方式向用户请求输入。举例来说,一个预订旅行的 Server,可能会询问用户对机舱座位、房型的偏好,或者要一个联系电话,以便最终完成预订。接下来,我们来聊聊 MCP Server。Server 同样开放 3 项能力:tools、resources 和 prompts

4)Tools

Tools 由模型控制,是真正「做事」的函数:写入数据库、触发某些逻辑、发送邮件等等。举例来说:

  • 查找航班
  • 发送消息
  • 创建日历事件

5)Resources

Resources 由应用控制,是被动的只读数据,比如文件、日历、知识库等等。举例:

  • 读取文档
  • 读取日历
  • 访问知识库

6)Prompts

Prompts 由用户控制,是预先构建好的指令模板,用来指导 LLM 如何使用 tools/resources。举例:

  • 规划一次假期

  • 起草一封邮件

  • 总结我的会议内容

这说明 MCP 并不只是又一种 tool calling 标准,而是在你的 AI 应用与 Server 之间建立起双向通信,从而构建出强大的 AI 工作流。

理解了 MCP 的核心理念之后,我们就可以来看看这些理念在实际开发工作流中是如何落地的。

MCP 定义了整体结构,但开发者仍然需要一种简单直接的方式,来构建 Agent、配置 Client,并通过 Server 开放各种能力。

这正是开源框架 mcp-use 派上用场的地方。

mcp p285 1

它支持完整的 MCP 生态,涵盖 agent、client 和 server,能帮助你构建既适合实验、也适合生产环境的端到端工作流。

本站内容仅供学习交流,版权归原作者所有。