核心 MCP 功能
学习让 MCP 服务器更强大的高级功能:用采样(sampling)把 AI 调用的成本转移到客户端,用进度通知改善长时间操作的用户体验,用根目录(roots)安全地处理文件访问。每个功能后面都跟着一节交互式演练,对照一个示例项目逐步看代码。
Sampling
Sampling(采样)允许服务器通过已连接的 MCP 客户端访问像 Claude 这样的语言模型。服务器不直接调用 Claude,而是请求客户端代表它进行调用。这将文本生成的责任和成本从服务器转移到了客户端。
采样演练
交互式练习:对照一个示例项目,逐步查看 sampling 在服务器端和客户端各自是如何实现的。
日志和进度通知
日志和进度通知实现起来很简单,但在使用 MCP 服务器时却能极大地改善用户体验。它们帮助用户了解长时间运行的操作期间正在发生什么,而不是让用户怀疑是否出了问题。
通知演练
交互式练习:对照一个示例项目,逐步查看日志与进度通知在服务器端和客户端各自是如何实现的。
Roots
Roots(根目录)是一种授予 MCP 服务器访问本地计算机上特定文件和文件夹权限的方式。您可以将其视为一种权限系统,它表示"嘿,MCP 服务器,你可以访问这些文件"——但它们的作用远不止授予权限。
Roots 演练
交互式练习:对照一个完整的 MCP 聊天项目,逐步查看根目录如何在客户端定义、如何被服务器读取并用于授权文件访问。