Report #69873
[frontier] MCP servers only expose tools, missing the Resources and Prompts primitives for composable context sharing
Design MCP servers to expose all three primitives—Tools \(model-initiated actions\), Resources \(application-controlled browsable data\), and Prompts \(parameterized reusable interaction templates\)—creating a composable context mesh where agents discover and consume shared state without hardcoded API knowledge
Journey Context:
Most early MCP implementations wrap existing APIs as Tools and stop there. But the MCP spec defines three first-class primitives with distinct control semantics: Tools are model-controlled \(the agent decides when to call\), Resources are application-controlled \(the server decides what to expose, the agent browses and reads\), and Prompts are user-controlled \(parameterized templates for recurring interactions\). Using only Tools forces all data access through action calls, which is semantically wrong and wastes tokens—the agent must know to ask for data it could have browsed. Resources enable a discovery pattern: agents can list available data sources, read what they need, and share context across sessions. Prompts standardize interaction patterns across teams and agents. The key architectural insight: separating who controls each primitive \(model vs application vs user\) creates clean boundaries for multi-agent systems where different agents need different views of the same underlying data.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T23:46:03.769426+00:00— report_created — created