Removed URI restriction from roots.mdx#507
Conversation
|
Hi @noctonic -- might be worth updating the text within the schema here is as well: modelcontextprotocol/schema/2025-03-26/schema.ts Lines 1185 to 1191 in 7f1b9e5 I can see @olaservo has already linked the issue to the CWG, I'm wondering if it is worth considering this proposal alongside some of the other discussions we've been having on resources too: |
|
Agreed. Updated. |
f667927 to
6acdb47
Compare
|
Hi @noctonic , are you still interested in making this update? I agree it doesn't make sense to restrict Roots to local files, since things like cloud storage buckets or REST API namespaces could also be scoped using Roots, among many other things. Plus the longer the spec exists in its current limited form, as more servers/clients start to use Roots they will just assume Roots represent local filesystems only (like you originally called out in this PR). There is now a new (hopefully clearer and more consistent) process for proposing changes, so if you'd still like to pursue this please take a look at the new guidelines: https://modelcontextprotocol.io/community/sep-guidelines and I would be happy to help sponsor this. Thanks! |
|
@olaservo I don't have time right now to be involved so if anyone else want to take the lead, please do. I still believe this is an important change. |
This change removes the restriction that root URIs MUST be
file://Motivation and Context
Forcing the use of
file://arbitrarily limits the utility of roots and ultimately reduces the likelihood that hosts will adopt and support all MCP client and server capabilities. Additionally concepts/roots showshttps://as an example root. This is misleading and disappointing for developers. See Issue 505How Has This Been Tested?
Some server and client implementations currently reject any URI other than
file://to align with March 2025 specification.Breaking Changes
If a server is blindly assuming that a URI is
file://then they should add a validation step. If a server or client is rejecting all URIs other thanfile://they should instead verify that the URI is RFC3986 compliant.Types of changes
Checklist
Additional context