A user selects a server prompt called incident_summary in a host's menu and fills in its severity argument. The host then sends prompts/get. What does the server return?
Select an answer to reveal the explanation.
Short Explanation
A prompt is a script with a few lines already written for you — some spoken by the user, some by the assistant. prompts/get hands you those lines with your arguments filled in. The trap is expecting the server to run the model for you.
Full Explanation
Prompts are server-defined templates. The client discovers them with prompts/list, where each prompt carries a name, optional title and description, and an optional list of arguments. When the user picks one and supplies argument values, the client sends prompts/get with the name and arguments, and the server returns the prompt's messages: each has a role of user or assistant and content that can be text, image, audio or an embedded resource. The host then decides how to use these messages with its model. The argument schema answer describes discovery data, not the result of prompts/get, and prompts are never submitted through tools/call; tools and prompts are separate primitives. The single-system-message answer is wrong because prompt messages use only the user and assistant roles; MCP prompts do not define a system role. The completed-answer option misunderstands the division of labor: the server supplies the template content, and running a model belongs to the host, so prompts/get does not return a generated answer. Exam caveat: missing required arguments should produce a -32602 error, and prompts/get is one of the three methods that may return an InputRequiredResult. Operational check: call prompts/get with the severity argument and confirm the result contains a messages array with user or assistant roles reflecting the supplied value.