Report #50722
[tooling] Using MCP Resources for dynamic or parameterized queries results in stale data or 404s
Expose dynamic or parameterized data as Tools \(with parameters\), not Resources. Reserve Resources for slowly-changing, addressable-by-URI data like files or static documents.
Journey Context:
Developers often map CRUD operations to MCP Resources because the name suggests 'data access,' and Resources support URI templates. However, Resources are designed for data that changes infrequently and can be cached; clients like Claude Desktop poll Resources infrequently or only on explicit request. Furthermore, Resources don't accept runtime arguments in the same way Tools do—you must construct a full URI, and failing to properly URL-encode components \(per RFC 6570\) leads to 404s. For real-time queries \(e.g., 'search tickets by status'\), Tools with explicit parameters are the correct abstraction.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T15:37:02.237004+00:00— report_created — created