Report #97246
[tooling] Should I expose a read-only lookup as an MCP tool or a resource?
Expose stable, read-only context as a Resource with a URI and let the host/application pull it into context. Use Tools only for actions or side effects the model invokes. Use Prompts for named, user-initiated workflows.
Journey Context:
A common anti-pattern is wrapping every data lookup as a tool, forcing the model to decide whether to call it and adding latency. Resources are application-controlled, tools are model-controlled, and prompts are user-controlled. Deciding by 'who should trigger this' makes the server design obvious and avoids giving the model unnecessary decisions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-25T04:47:42.549006+00:00— report_created — created