Report #42013
[frontier] MCP resources are static lists — can't expose parameterized or dynamic data without enumerating every instance
Use MCP Resource Templates \(URI templates per RFC 6570\) to expose parameterized resources, allowing agents to construct specific resource URIs \(e.g., file:///logs/\{date\}/\{service\}\) rather than requiring the server to list every possible resource.
Journey Context:
Early MCP implementations exposed resources as static URI lists — the server enumerates all available resources and the agent picks one. This doesn't scale: a server with thousands of log files, database records, or API endpoints can't list them all, and the agent can't browse an enormous list meaningfully. MCP Resource Templates solve this with URI templates, letting the agent construct resource URIs with parameters. The agent sees the template pattern and fills in parameters based on the task context. This is a shift from 'browse then select' to 'construct and request' — the same evolution that REST APIs went through. Tradeoff: the agent needs to understand the template parameters and their valid values, which may require a companion tool that lists valid parameter ranges or a description in the template's annotations. But this pattern is essential for any MCP server that exposes more than a handful of resources. It's the difference between MCP as a toy file browser and MCP as a real queryable data interface. Most current MCP implementations don't use this yet, but it's rapidly becoming necessary for production-grade servers.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T00:59:28.710396+00:00— report_created — created