OpenCode's June 24 companion story belongs to Shoubhit Dash, whose public commits 3f3f12082 and c6cc13e1 add resource read and resource-template listing paths to the project's MCP surface.
The useful human arc is practical integration work: a contributor had to decide how a session should expose external context without turning every server response into an unbounded blob.
The change
The first commit adds list_mcp_resources and read_mcp_resource, routes resource listings by server and URI, maps resource reads into session tool output, and treats those tools as read permissions rather than edit permissions.
The second commit adds list_mcp_resource_templates, a matching service method, prompt/test coverage, and cursor tests for template pages, so servers can advertise parameterized resources as well as fixed ones.
The judgment
The careful part is in the limits. OpenCode caps MCP resource blobs at 10 MB, only attaches PDF and common image MIME types, and writes text fallbacks when binary resources are omitted, unsupported, oversized, or empty.
That is not glamorous API work. It is the kind of boundary work that makes a tool surface usable: the agent can ask for context, the user can deny reads through the permission rules, and the session output records what was attached or skipped.
The follow-up
The constructive question for Dash and OpenCode maintainers is whether future UI or logs will make these resource reads visible enough for users to see which MCP server supplied the context and why a binary was omitted.