| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Transfers SEP-1573 to the new PR-based SEP workflow per SEP-1850. This SEP proposes removing the restriction that root URIs must begin with file://, allowing servers to work with remote resources through any URI scheme. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
||
| ## Abstract | ||
|
|
||
| This SEP proposes removing the restriction that root URIs must begin with `file://`, allowing servers to work with remote resources through any URI scheme. Reference implementations in `python-sdk`, `typescript-sdk`, client (`fast-agent`) a helper for enforcement are provided. |
There was a problem hiding this comment.
"Remote resources" could be "client and remote resources"? Using roots as a way to communicate what local resources are within limits is still a very useful (and underutilized) application of the capability.
Sorry, something went wrong.
|
|
||
| Creating separate mechanisms for local and remote servers does not provide any clear benefits and fragments the ecosystem. The simple approach of allowing any URI maintains complete backward compatibility. Existing clients continue sending file:// roots unchanged, existing servers continue accepting them, and the ecosystem can gradually adopt support for additional schemes as needed | ||
|
|
||
| ### Future Work |
There was a problem hiding this comment.
I think adding scope (like read, write) to roots as future work would be incredibly useful.
Sorry, something went wrong.
There was a problem hiding this comment.
💯 - will add
Sorry, something went wrong.
| We discussed proposing programmatic discovery mechanisms for which schemes a server supports, but decided to keep this change simple by removing the file restriction. The lack of programmatic discovery follows MCP's existing patterns and shouldn't limit practical usefulness because: | ||
|
|
||
| 1. Servers will naturally document what they support, clients will implement common patterns, and the ecosystem will converge on standards, just like with resource URIs. | ||
| 2. When a client provides an unsupported root, the server returns a clear error. In this case clients can gracefully degrade or prompt users to adjust roots. |
There was a problem hiding this comment.
I don't think the server should return an error. It is a reasonable pattern for the client to just broadcast roots - it is not an error to have a root that a server doesn't support, and it adds complexity if there needs to be a negotiation of back and forth to establish a set of supported roots for each server. The SEP also doesn't describe how this would happen. If roots are to be adjustable this would require further changes, I believe?
(I agree that the lack of programmatic discovery is not a problem)
Sorry, something went wrong.
|
|
||
| The specification should include guidance that | ||
|
|
||
| 1. Servers must document their supported URI schemes and validate them. Clients may provide roots with any URI scheme, and servers must gracefully handle unsupported schemes by returning clear error messages rather than failing silently. |
There was a problem hiding this comment.
Protocol level errors? That seems harsh for this. When would this be needed and how are client supposed to handle and act on error messages?
Sorry, something went wrong.
Maintainer Activity CheckHi @olaservo! You're assigned to this SEP but there hasn't been any activity from you in 19 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Sorry, something went wrong.
Maintainer Activity CheckHi @olaservo! You're assigned to this SEP but there hasn't been any activity from you in 21 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Sorry, something went wrong.
Maintainer Activity CheckHi @olaservo! You're assigned to this SEP but there hasn't been any activity from you in 14 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Sorry, something went wrong.
Maintainer Activity CheckHi @olaservo! You're assigned to this SEP but there hasn't been any activity from you in 14 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Sorry, something went wrong.
|
Sharing a few overdue thoughts and updates as the sponsor of this SEP: Where things are atAfter chatting with Tapan a while back, I did a bunch of tinkering on non-file:// Roots using the GitHub MCP server as a concrete example. One use case we were exploring was Roots could communicate intended boundaries around a GitHub org (especially relevant for enterprise GH) or the specific repo(s) in scope for a given host connected to the server. The idea was that this would:
The prototype did the job, but a couple of things have pushed this into the background:
ProposalI'd like to officially pause this SEP until:
Thoughts welcome from anyone following along. cc @chughtapan @SamMorrowDrums |
Sorry, something went wrong.
Maintainer Activity CheckHi @olaservo! You're assigned to this SEP but there hasn't been any activity from you in 20 days. Please provide an update on:
If you're no longer able to sponsor this SEP, please let us know so we can find another maintainer. This is an automated message from the SEP lifecycle bot. |
Sorry, something went wrong.
|
roots are deprecated in #2577 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
This PR transfers SEP-1573 to the new PR-based SEP workflow per SEP-1850.
This SEP proposes removing the restriction that root URIs must begin with file://, allowing servers to work with remote resources through any URI scheme.
Motivation
Reference Implementation
🤖 Generated with Claude Code