Report #10095
[tooling] Resource templates not matching or clients failing to resolve parameterized URIs
Use RFC 6570 Level 3 URI Templates with strict percent-encoding; ensure templates use the \{var\} syntax for single segments and \{/path\} for path expansions, avoiding query-style parameters in resource templates.
Journey Context:
Developers often try to use query parameters \(?id=123\) or simple string replacement in resource URIs, but MCP clients expect RFC 6570 templates. Using non-standard syntax results in the client not recognizing the template as a match for the requested URI, causing 404s or forcing developers to expose hundreds of static resources. The confusion arises between Level 1 \(simple string\) and Level 3 \(explode/ prefix\) templates. For MCP, use Level 3 for path segments: file:///\{path\*\}, not file:///path?location=\{path\}. Also, percent-encode reserved characters in variable values; the client expects decoded values in the response but encoded URIs in the template matching.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T09:49:09.654718+00:00— report_created — created