Skip to content

MCP Prompts

Overview

MCP prompts are reusable templates that generate conversational content. Unlike tools (which perform actions) or resources (which provide data), prompts create formatted messages based on parameters.

Available Prompts

PromptAuth RequiredParametersPurpose
greetingNoname, stylePersonalized greetings
user-contextYesmessageTypeContext-aware user messages

greeting

Generate personalized greeting messages in different styles (formal, casual, friendly).

  • Parameters: name (string), style (enum: formal, casual, friendly)
  • Auth Required: No

user-context

Generate personalized messages using authenticated user data from JWT tokens.

  • Parameters: messageType (enum: welcome, status, summary)
  • Auth Required: Yes

Using Prompts in Claude Code

In Claude Code, MCP prompts appear as slash commands with the format /server:prompt-name.

Invoking Prompts

  1. Type /seed: in the chat input
  2. Autocomplete shows available prompts (e.g., seed:greeting (MCP))
  3. Select the prompt to invoke it

Available Commands

/seed:greeting
/seed:user-context

Important: How Prompts Work

MCP prompts provide conversation context to Claude, not direct output. When you invoke a prompt:

  1. The MCP server generates a message (e.g., "Hello! How can I help you today?")
  2. This message is injected into Claude's conversation as context
  3. Claude then responds based on that context

This means prompts are templates that set up conversations, not commands that produce literal output.

Limitations

Note: Claude Code does not display parameter dialogs for prompts. Prompts are invoked with default values only. Parameters defined in the schema are for clients that support them (like Claude Desktop).

Note: You cannot ask Claude to "use the greeting prompt" conversationally. MCP prompts must be invoked directly via slash commands. See claude-code#11054.

Using Prompts in Claude Desktop

In Claude Desktop, prompts can be invoked through the prompt picker:

  1. Click the prompt icon (speech bubble with lines) in the chat input
  2. Select seed from the server list
  3. Choose a prompt and fill in parameters

Some clients also support natural language:

"Use the greeting prompt with name Alice and style formal"
"Show my user context as a status report"

Prompt vs Tool vs Resource

TypePurposeExample
PromptGenerate formatted messagesgreeting, user-context
ToolPerform actions, retrieve datauser-info, system-status
ResourceAccess static/structured datauser://profile, config://app

Response Format

Prompts return messages in MCP format:

json
{
  "messages": [
    {
      "role": "assistant",
      "content": {
        "type": "text",
        "text": "Hello Alice! How can I help you today?"
      }
    }
  ]
}

Message roles:

  • "assistant" - Message appears as prior assistant output in conversation context
  • "user" - Message appears as prior user input in conversation context

The role determines how the message is positioned in the conversation history that Claude sees.

Parameter Notes

  • Enum parameters are case-insensitive - "Formal", "FORMAL", and "formal" all work
  • Optional parameters have defaults - prompts work without any parameters
  • Invalid values are rejected - clear error messages explain what went wrong

Released under the MIT License.