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
| Prompt | Auth Required | Parameters | Purpose |
|---|---|---|---|
| greeting | No | name, style | Personalized greetings |
| user-context | Yes | messageType | Context-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
- Type
/seed:in the chat input - Autocomplete shows available prompts (e.g.,
seed:greeting (MCP)) - Select the prompt to invoke it
Available Commands
/seed:greeting
/seed:user-contextImportant: How Prompts Work
MCP prompts provide conversation context to Claude, not direct output. When you invoke a prompt:
- The MCP server generates a message (e.g., "Hello! How can I help you today?")
- This message is injected into Claude's conversation as context
- 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:
- Click the prompt icon (speech bubble with lines) in the chat input
- Select seed from the server list
- 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
| Type | Purpose | Example |
|---|---|---|
| Prompt | Generate formatted messages | greeting, user-context |
| Tool | Perform actions, retrieve data | user-info, system-status |
| Resource | Access static/structured data | user://profile, config://app |
Response Format
Prompts return messages in MCP format:
{
"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
Related
- MCP Tools - Perform actions and retrieve data
- MCP Resources - Access structured data
- Development Guide - Build custom prompts