You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have checked that this question would not be more appropriate as an issue in a specific repository
I have searched existing discussions and documentation for answers
Question Category
Protocol Specification
SDK Usage
Server Implementation
General Implementation
Documentation
Other
Your Question
Hi MCP Team,
The Observation:
In the Sampling spec there is a dedicated top-level systemPrompt field. This allows the server to explicitly define the persona/rules for the LLM.
In the Prompts spec (prompts/get), the response returns a list of objects, but the role is strictly limited to user or assistant.
The Problem:
When a server exposes a complex workflow via a Prompt, it often needs to set a specific Instruction Manual or Persona (e.g., "Act as a technical validator"). Since there is no system role in the PromptMessage, we are forced to:
Prepend instructions as a user message (which can be overridden or ignored more easily by the model).
Prepend instructions as an assistant message (mimicking memory).
Neither of these is as robust as the system role supported by most modern LLM APIs and the MCP Sampling spec itself.
Questions:
Is this omission intentional? If so, what is the recommended "best practice" for a server to provide system-level instructions within a Prompt template without polluting the user/assistant message history?
If it is not intentional, are there plans to align roles with the sampling/createMessage request structure to include a system role or a systemPrompt field?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Pre-submission Checklist
Question Category
Your Question
Hi MCP Team,
The Observation:
systemPromptfield. This allows the server to explicitly define the persona/rules for the LLM.userorassistant.The Problem:
When a server exposes a complex workflow via a Prompt, it often needs to set a specific Instruction Manual or Persona (e.g., "Act as a technical validator"). Since there is no system role in the PromptMessage, we are forced to:
Neither of these is as robust as the system role supported by most modern LLM APIs and the MCP Sampling spec itself.
Questions:
Beta Was this translation helpful? Give feedback.
All reactions