Skip to content
{mcpdesc}

Use file URIs for roots

Root entries in interaction responses use file:// URIs. An arbitrary resource URI is not a valid root merely because the resource is accessible to the server. Correct the root URI without fetching or probing the referenced filesystem location.

A root URI in a roots response starts with file://.

Rule ID: mcp.root.uri.file-scheme
Owner: mcp
Surface: Root · Path: uri
Kind: semantic
Requirement level: must
Protocol versions: independent of the MCP protocol version
Status: internal · Enforcement: internal

Source: expected-invalid/invalid-tool-interaction-example-semantics.json · Selected: /tools/0/interactionExamples/broken/steps/3/response/roots/0

{
"uri": "https://example.com/not-a-file-root"
}

interaction.yaml at immutable tag v0.9.0-rc.3.