Report #63144
[gotcha] Exposing read-only data as MCP tools instead of resources makes the model overly cautious
Use MCP Resources for read-only data access \(file reading, search, querying\). Reserve MCP Tools for actions with side effects \(writing, mutating, executing\). Register resource providers via resources/list and resources/read, not as tools.
Journey Context:
Many developers expose everything as a tool because the tool interface is simpler. But the model treats tool calls as actions — it hesitates to 'call' something it isn't sure about, asks for confirmation unnecessarily, or avoids reading data it needs. Resources in MCP are explicitly designed as side-effect-free data sources. The model reasons about them differently: reading a resource is safe, calling a tool is an action. This distinction directly affects agent willingness to gather information. The gotcha: wrapping a simple file-read in a tool definition makes the agent treat it like a dangerous operation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T12:28:13.318406+00:00— report_created — created