Protocol Revision: 2025-03-26
Servers provide the fundamental building blocks for adding context to language models via MCP. These primitives enable rich interactions between clients, servers, and language models:
  • Prompts: Pre-defined templates or instructions that guide language model interactions
  • Resources: Structured data or content that provides additional context to the model
  • Tools: Executable functions that allow models to perform actions or retrieve information
Each primitive can be summarized in the following control hierarchy:
PrimitiveControlDescriptionExample
PromptsUser-controlledInteractive templates invoked by user choiceSlash commands, menu options
ResourcesApplication-controlledContextual data attached and managed by the clientFile contents, git history
ToolsModel-controlledFunctions exposed to the LLM to take actionsAPI POST requests, file writing
Explore these key primitives in more detail below: