Concepts
根
了解 MCP 中的根
根是 MCP 中定义服务器可以操作的边界的概念。它们为客户端提供了一种方式,告知服务器有关相关资源及其位置的信息。
什么是根?
根是客户端建议服务器应关注的 URI。当客户端连接到服务器时,它声明服务器应处理哪些根。虽然主要用于文件系统路径,但根可以是任何有效的 URI,包括 HTTP URL。
例如,根可以是:
为什么使用根?
根有几个重要目的:
- 指导:它们告知服务器有关相关资源和位置的信息
- 清晰:根使哪些资源是工作区的一部分变得清晰
- 组织:多个根允许您同时处理不同的资源
根如何工作
当客户端支持根时,它:
- 在连接期间声明
roots
功能 - 向服务器提供建议的根列表
- 在根更改时通知服务器(如果支持)
虽然根是信息性的,并不严格执行,但服务器应:
- 尊重提供的根
- 使用根 URI 定位和访问资源
- 优先在根边界内进行操作
常见用例
根通常用于定义:
- 项目目录
- 仓库位置
- API 端点
- 配置位置
- 资源边界
最佳实践
使用根时:
- 仅建议必要的资源
- 使用清晰、描述性的根名称
- 监控根的可访问性
- 优雅地处理根更改
示例
以下是一个典型的 MCP 客户端如何暴露根:
此配置建议服务器同时关注本地仓库和 API 端点,同时保持它们逻辑上分离。