A new team member reads that MCP prompts are "user-controlled" and concludes that users must write the prompt text themselves. What does user-controlled actually mean?
Select an answer to reveal the explanation.
Short Explanation
Think of a slash command in a chat app: you pick when to fire it, but someone else wrote what it does. That's an MCP prompt. User-controlled is about who pulls the trigger, not who writes the script.
Full Explanation
The prompts specification says prompts are user-controlled, meaning they are exposed so the user can explicitly select them, and it clarifies that this refers to who decides when the prompt is used, not who authors its content. Prompt content is defined by the server: prompts/get returns messages the server builds, optionally customised by arguments the user supplies. Hosts typically surface prompts as slash commands or menu items, although the protocol does not mandate any interface. The view that users write the prompt text inverts the roles; the user may fill in arguments, but the template and messages come from the server. Saying the model decides when to use a prompt describes tools, which are model-controlled and invoked by the language model based on context. Saying the host includes it automatically describes resources, which are application-controlled context that the host decides how to incorporate. Exam caveat: the three control models are a frequent comparison; tools are model-controlled, resources application-controlled, and prompts user-controlled, and each label refers to who triggers use. Operational check: in a host, confirm the server's prompts appear as user-selectable commands, invoke one with arguments, and inspect the prompts/get result to see that the message text came from the server rather than the user.