Is your feature request related to a problem? Please describe.
The current spec says that roots MUST be a file:// URI.
Consider an MCP server that can summarize a confluence page. The client could set a root to be an internal confluence instance ( or even a specific folder or page ) with:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"roots": [
{
"uri": "https://docs.mycompany.internal",
"name": "My Internal Confluence"
}
]
}
}
This could potentially remove a configuration step when setting up a shared / network MCP server and allow the client to easily change the boundaries of where the MCP server is working.
This is currently not allowed by the spec.
Describe the solution you'd like
Replace This MUST be a file://
with This MUST be a valid [URI](https://datatracker.ietf.org/doc/html/rfc3986)
Minor language adjustments like changing
within the filesystem to within the system
Describe alternatives you've considered
One option is to abuse the feature by adding the desired uri directly after file://
Example: file://https://docs.mycompany.internal
This is an ugly workaround.
Additional 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.
Is your feature request related to a problem? Please describe.
The current spec says that roots MUST be a file:// URI.
Consider an MCP server that can summarize a confluence page. The client could set a root to be an internal confluence instance ( or even a specific folder or page ) with:
{ "jsonrpc": "2.0", "id": 1, "result": { "roots": [ { "uri": "https://docs.mycompany.internal", "name": "My Internal Confluence" } ] } }This could potentially remove a configuration step when setting up a shared / network MCP server and allow the client to easily change the boundaries of where the MCP server is working.
This is currently not allowed by the spec.
Describe the solution you'd like
Replace
This MUST be a file://with
This MUST be a valid [URI](https://datatracker.ietf.org/doc/html/rfc3986)Minor language adjustments like changing
within the filesystemtowithin the systemDescribe alternatives you've considered
One option is to abuse the feature by adding the desired uri directly after
file://Example:
file://https://docs.mycompany.internalThis is an ugly workaround.
Additional 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.