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

Last updated 10 Aug 2025, 20:01 +0100 . history