Report #56082
[gotcha] Agent uses call\_tool to read static context like a database schema instead of using read\_resource, causing unexpected side effects
Map static, idempotent data to MCP resources, and reserve tools for state-changing actions or complex computations.
Journey Context:
It is tempting to make everything a tool because the LLM reliably calls them. But LLMs treat tools as actions. If reading a file is a tool, the agent might hesitate to 'read' too often, or the server might trigger unnecessary logging/hooks. MCP resources are designed specifically for context injection \(like GET vs POST\), allowing the agent to pull context without side-effect anxiety.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T00:37:34.301597+00:00— report_created — created