An MCP server for a company's internal wiki exposes: a `search_wiki` capability that the AI application's model can decide to invoke to look something up, a capability that just hands over the raw current text of a specific wiki page as contextual data without the model 'deciding' to run an action, and a reusable interaction template that pre-fills a structured prompt for 'summarize this page in plain language.' What are these three kinds of capability called in MCP's own terminology, respectively?
- Resources, prompts, and tools -- resources are model-invoked actions, prompts are raw contextual data, and tools are reusable interaction templates
- Tools, prompts, and resources -- tools are raw contextual data, prompts are model-invoked actions, and resources are reusable interaction templates
- Tools, resources, and prompts -- tools are executable functions the model invokes to perform actions, resources are data sources that supply contextual information, and prompts are reusable templates that structure an interaction
- Resources, tools, and prompts -- resources are executable actions the model invokes, tools are raw contextual data supplied to the application, and prompts are structured interaction templates
Why C? And why not the others?
Correct answer: C. Tools, resources, and prompts -- tools are executable functions the model invokes to perform actions, resources are data sources that supply contextual information, and prompts are reusable templates that structure an interaction
MCP defines three core primitives that servers can expose: tools are executable functions that AI applications can invoke to perform actions, resources are data sources that provide contextual information, and prompts are reusable templates that help structure interactions with language models. Mapped onto the scenario, `search_wiki` is a tool because the model decides to invoke it to perform an action; handing over a specific page's raw current text without any model-invoked action is a resource, since it is data supplied for context rather than an action performed; and the pre-filled 'summarize this page' template is a prompt, since it structures an interaction rather than doing anything or supplying raw data itself. The three incorrect options are each wrong for the same reason: they keep the correct three names in play but scramble which definition belongs to which term, for example calling the model-invoked action a 'resource' or the raw contextual data a 'tool,' which inverts MCP's actual definitions of what each primitive is for.
Source: Model Context Protocol documentation, 'Architecture overview' (modelcontextprotocol.io/docs/concepts/architecture, protocol version 2026-07-28) -- 'MCP defines three core primitives that servers can expose: Tools: Executable functions that AI applications can invoke to perform actions... Resources: Data sources that provide contextual information to AI applications... Prompts: Reusable templates that help structure interactions with language models.'