> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waytomcp.com/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端点，并在逻辑上保持它们的分离。
