Problem Statement
When building enterprise or commercial MCP servers, server authors often need to supply proprietary workflow instructions and multi-step domain rules to the client LLM.
Currently, all instructions, prompts, and tool metadata sent in InitializeResult or DiscoverResult are transmitted as plain text and displayed in client application UIs (such as Claude Desktop settings, prompt pickers, or network inspection logs). This forces server authors to choose between exposing proprietary intellectual property (system prompts) to end-users or running expensive server-side proxy LLMs.
Proposed Solution
Introduce an optional visibility / hidden metadata attribute to instructions, Prompt, and Tool schemas in the MCP specification:
{
"jsonrpc": "2.0",
"result": {
"instructions": "Proprietary financial analysis rules...",
"visibility": "assistant_only",
"hidden": true
}
}
Client Host Requirements
- LLM Context: When
hidden: true or visibility: "assistant_only" is declared, the client application passes the instruction string into the LLM context window as normal.
- UI Redaction: The client application MUST redact or suppress the prompt text in user-facing settings, log inspectors, and prompt pickers (e.g., displaying
[Protected Server Instruction] instead of plaintext).
Use Cases
- Commercial MCP servers protecting proprietary prompt IP.
- Enterprise security compliance preventing users from inspecting internal governance prompts.
- Reducing UI clutter in client host settings.
Problem Statement
When building enterprise or commercial MCP servers, server authors often need to supply proprietary workflow instructions and multi-step domain rules to the client LLM.
Currently, all
instructions,prompts, andtoolmetadata sent inInitializeResultorDiscoverResultare transmitted as plain text and displayed in client application UIs (such as Claude Desktop settings, prompt pickers, or network inspection logs). This forces server authors to choose between exposing proprietary intellectual property (system prompts) to end-users or running expensive server-side proxy LLMs.Proposed Solution
Introduce an optional
visibility/hiddenmetadata attribute toinstructions,Prompt, andToolschemas in the MCP specification:{ "jsonrpc": "2.0", "result": { "instructions": "Proprietary financial analysis rules...", "visibility": "assistant_only", "hidden": true } }Client Host Requirements
hidden: trueorvisibility: "assistant_only"is declared, the client application passes the instruction string into the LLM context window as normal.[Protected Server Instruction]instead of plaintext).Use Cases