A team asks whether Tasks and MCP Apps are part of the core MCP protocol that every implementation must support. Which answer is correct for revision 2026-07-28?
Select an answer to reveal the explanation.
Short Explanation
Extensions are like optional apps on your phone: the phone works without them, and they only run when both ends have them installed. Tasks and MCP Apps are exactly that. Watch for the 'deprecated' distractor — Tasks moved out of the core, it didn't die.
Full Explanation
The specification describes extensions as optional additions beyond the core protocol that add modular, specialized or experimental functionality. They are always opt-in and require explicit support from both client and server. Support is advertised in the extensions field of capabilities, keyed by an identifier such as io.modelcontextprotocol/tasks for Tasks or io.modelcontextprotocol/ui for MCP Apps. If only one party supports an extension, the supporting party MUST either revert to core behaviour or reject the request with an appropriate error. Claiming every server must implement them alongside tools is incorrect; the mandatory core is the base protocol, versioning and message patterns. Calling them deprecated confuses two different lifecycles: Tasks moved out of the core into an extension in this revision, and deprecated features such as sampling and roots are a separate list. Describing them as host-specific plugins the specification never mentions is also wrong; the specification names Tasks, MCP Apps and Skills over MCP as notable extensions and documents them on modelcontextprotocol.io. Exam caveat: official extensions use the io.modelcontextprotocol/ prefix, while third-party extensions use their own vendor prefix. Operational check: inspect the capabilities extensions map on both sides before relying on any extension behaviour, and confirm the documented fallback when one side lacks it.