diff --git a/docs/concepts/roots/roots.md b/docs/concepts/roots/roots.md index 94b330871..8205cb6a6 100644 --- a/docs/concepts/roots/roots.md +++ b/docs/concepts/roots/roots.md @@ -17,7 +17,7 @@ Roots provide a mechanism for the client to tell the server which directories, p - Scope file searches to the user's project directories - Understand which repositories are being worked on -- Limit operations to specific filesystem boundaries +- Focus operations on relevant filesystem locations Each root is represented by a with a URI and an optional human-readable name. diff --git a/src/ModelContextProtocol.Core/Protocol/NotificationMethods.cs b/src/ModelContextProtocol.Core/Protocol/NotificationMethods.cs index 7fb15a064..949361650 100644 --- a/src/ModelContextProtocol.Core/Protocol/NotificationMethods.cs +++ b/src/ModelContextProtocol.Core/Protocol/NotificationMethods.cs @@ -53,9 +53,10 @@ public static class NotificationMethods /// /// /// This notification informs the server that the client's "roots" have changed. - /// Roots define the boundaries of where servers can operate within the filesystem, - /// allowing them to understand which directories and files they have access to. Servers - /// can request the list of roots from supporting clients and receive notifications when that list changes. + /// Roots inform servers about the directories and files the client considers relevant, + /// so that servers can focus their operations accordingly. They are informational guidance + /// rather than an access-control mechanism; the protocol does not enforce that servers stay within roots. + /// Servers can request the list of roots from supporting clients and receive notifications when that list changes. /// /// /// After receiving this notification, servers can refresh their knowledge of roots by calling the appropriate diff --git a/src/ModelContextProtocol.Core/Protocol/Root.cs b/src/ModelContextProtocol.Core/Protocol/Root.cs index 0a86aaf3e..622dbddb9 100644 --- a/src/ModelContextProtocol.Core/Protocol/Root.cs +++ b/src/ModelContextProtocol.Core/Protocol/Root.cs @@ -9,9 +9,10 @@ namespace ModelContextProtocol.Protocol; /// /// /// Root URIs serve as entry points for resource navigation, typically representing -/// top-level directories or container resources that can be accessed and traversed. -/// Roots provide a hierarchical structure for organizing and accessing resources within the protocol. -/// Each root has a URI that uniquely identifies it and optional metadata like a human-readable name. +/// top-level directories or container resources that are relevant to the current session. +/// Roots inform servers which locations the client considers important, providing informational +/// guidance rather than an access-control mechanism. Each root has a URI that uniquely identifies +/// it and optional metadata like a human-readable name. /// public sealed class Root { diff --git a/src/ModelContextProtocol.Core/Protocol/RootsCapability.cs b/src/ModelContextProtocol.Core/Protocol/RootsCapability.cs index 4739cde4a..0b2f9e762 100644 --- a/src/ModelContextProtocol.Core/Protocol/RootsCapability.cs +++ b/src/ModelContextProtocol.Core/Protocol/RootsCapability.cs @@ -13,9 +13,9 @@ namespace ModelContextProtocol.Protocol; /// root URIs that serve as entry points for resource navigation. /// /// -/// The roots capability establishes a mechanism for servers to discover and access the hierarchical -/// structure of resources provided by a client. Root URIs represent top-level entry points from which -/// servers can navigate to access specific resources. +/// The roots capability establishes a mechanism for servers to discover the directories and files +/// the client considers relevant. Root URIs represent top-level entry points that inform the server +/// about the working context, providing informational guidance rather than enforcing access control. /// /// /// See the schema for details.