> ## Documentation Index
> Fetch the complete documentation index at: https://model-context-protocol.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 根

> 了解 MCP 中的根

根是 MCP 中定义服务器可以操作的边界的概念。它们为客户端提供了一种方式，告知服务器有关相关资源及其位置的信息。

## 什么是根？

根是客户端建议服务器应关注的 URI。当客户端连接到服务器时，它声明服务器应处理哪些根。虽然主要用于文件系统路径，但根可以是任何有效的 URI，包括 HTTP URL。

例如，根可以是：

```
file:///home/user/projects/myapp
https://api.example.com/v1
```

## 为什么使用根？

根有几个重要目的：

1. **指导**：它们告知服务器有关相关资源和位置的信息
2. **清晰**：根使哪些资源是工作区的一部分变得清晰
3. **组织**：多个根允许您同时处理不同的资源

## 根如何工作

当客户端支持根时，它：

1. 在连接期间声明 `roots` 功能
2. 向服务器提供建议的根列表
3. 在根更改时通知服务器（如果支持）

虽然根是信息性的，并不严格执行，但服务器应：

1. 尊重提供的根
2. 使用根 URI 定位和访问资源
3. 优先在根边界内进行操作

## 常见用例

根通常用于定义：

* 项目目录
* 仓库位置
* API 端点
* 配置位置
* 资源边界

## 最佳实践

使用根时：

1. 仅建议必要的资源
2. 使用清晰、描述性的根名称
3. 监控根的可访问性
4. 优雅地处理根更改

## 示例

以下是一个典型的 MCP 客户端如何暴露根：

```json theme={null}
{
  "roots": [
    {
      "uri": "file:///home/user/projects/frontend",
      "name": "前端仓库"
    },
    {
      "uri": "https://api.example.com/v1",
      "name": "API 端点"
    }
  ]
}
```

此配置建议服务器同时关注本地仓库和 API 端点，同时保持它们逻辑上分离。
