home/roleplay/mcp-prompt-primitives

Mcp Prompt Primitives

GPTClaudeGemini··386 copies·updated 2026-07-14
mcp-prompt-primitives.prompt
---
name: mcp-prompt-primitives
description: >-
  MCP prompts as user-controlled primitives, prompts/list and prompts/get methods, arguments, message roles, and when to
  use prompts vs tools
topics:
  - mcp
  - prompts
  - ux
  - slash-commands
  - prompt-templates
volatility: evolving
last-reviewed: 2026-06-14
version-pin: MCP spec 2025-11-25
sources:
  - url: https://modelcontextprotocol.io/specification/2025-11-25/server/prompts
    hash: sha256:e2ff3f787ccb452b4df336452c1437b16c103515d62255fef01433e029f599a3
    retrieved: 2026-06-14
---

Prompts in MCP are structured, reusable message templates that users explicitly select. They are different from tools (model-controlled, automatic) and resources (application-controlled, passive context). Understanding the distinction shapes how you expose server capabilities.

## Summary

Servers declare prompts via `prompts/list`; clients retrieve a populated prompt via `prompts/get` with filled-in arguments. Each prompt returns a `messages` array with `role`/`content` pairs ready to inject into a conversation. Prompts are **user-controlled** — they appear as slash commands or UI-selectable templates. Declare `prompts: { listChanged: true }` if the available prompts can change at runtime. Use prompts when a user needs to explicitly invoke a repeatable interaction pattern; use tools when the LLM should autonomously execute an action.

## Deep Guidance

### Prompts as user-controlled primitives

The defining characteristic of MCP prompts is that they are **user-initiated**, not model-initiated. The host surfaces them as discoverable, selectable commands — typically slash commands in a chat UI, menu items in an IDE, or shortcut buttons in a desktop app. The user explicitly chooses a prompt, fills in any arguments, and the resulting message sequence is injected into the conversation.

This contrasts sharply with tools (which the LLM invokes automatically based on context) and resources (which the host includes in context based on application logic). Prompts are neither automatic nor passive — they are deliberate user actions.

### prompts/list — discovery

`prompts/list` returns available prompt templates. Each entry includes `name`, optional `title` (display name), optional `description`, and an optional `arguments` array:

fill the variables

This prompt has 1 variable. Pro fills them into a ready-to-paste prompt for you — no manual find-and-replace.

{listChanged: true}
Unlock with Pro →

when to use it

Community prompt sourced from the open-source GitHub repo zigrivers/scaffold (MIT). A "Mcp Prompt Primitives" style prompt — adapt the placeholders and specifics to your task. Imported as-is and not independently retested here, so check the output before relying on it.

tags

roleplaycommunitygeneral

source

zigrivers/scaffold · MIT