A UI designer for an MCP host must decide who triggers each server primitive. Which assignment matches the MCP control model?
Select an answer to reveal the explanation.
Short Explanation
Picture a restaurant: you pick from the menu (prompts), the kitchen decides which ingredients to pull (resources), and the chef reaches for utensils on the fly (tools). Each primitive has a different hand on the switch. The option that gets prompts right but swaps the other two is the classic trap.
Full Explanation
MCP assigns each server primitive a different controller. Prompts are user-controlled: they are exposed so a person can choose them explicitly, for example as slash commands, while the server supplies the content. Resources are application-controlled: the host decides how and when to include them as context, such as by letting a user attach a file or by selecting relevant items automatically. Tools are model-controlled: the language model can discover and invoke them based on its understanding of the request, with the host keeping a human in the loop who can deny invocations. Making prompts model-controlled removes the deliberate user choice that defines them. Making tools user-controlled or application-controlled misdescribes their design, since tools exist so the model can decide to act, even though the host gates execution with consent. The option that keeps prompts correct but makes resources model-controlled and tools application-controlled swaps the remaining two roles. Exam caveat: the specification notes that implementations may expose primitives through any interface pattern, so the control model describes the intended design rather than a rigid UI mandate. Operational check: in the host UI, verify that prompts appear as user-selectable entries, resources are attached by the application or user, and tool calls originate from the model and are shown for approval.