A user types a slash command that an MCP server offers as a prompt template with one argument. Which sequence follows?
Select an answer to reveal the explanation.
Short Explanation
Slash commands are prompts, and prompts are yours to pick. You choose it, the client fetches it with prompts/get, and the server's messages drop into the chat. If the model is picking, it's not a prompt.
Full Explanation
Prompts are user-controlled: they are exposed by servers so the user can explicitly select them, typically through user-initiated commands such as slash commands. The specification clarifies that user control refers to who decides when a prompt is used, while the prompt's content is defined by the server. After the user picks the command, the client sends prompts/get with the prompt name and its arguments, and the server returns a result containing messages with user or assistant roles and content such as text, images or embedded resources; the host then places those messages into the conversation. Having the model select the prompt and invoke it with tools/call confuses prompts with tools, and prompts/get results do not replace a host's system prompt. Servers do not push prompts unprompted; the client discovers them through prompts/list and fetches them on request, with list changes delivered only on a subscriptions/listen stream. Prompts are not addressed by resource URIs, and resources/read returns resource contents, not command templates. Exam caveat: prompts/get is one of the three methods that may return an InputRequiredResult, so a server can ask for missing input before resolving the template. Operational check: trigger the slash command and confirm a prompts/get request carrying the argument, followed by returned messages appearing in the conversation.