Report #13842
[gotcha] MCP sampling lets the server ask the LLM to generate text and this is harmless
Treat MCP sampling requests as a critical attack surface. Servers that request sampling can inject arbitrary content into the LLM context, effectively gaining the same prompt injection capability as a malicious tool description. Restrict which servers can request sampling, validate and sanitize sampling request content, and never auto-approve sampling requests.
Journey Context:
MCP's sampling feature allows servers to request that the client's LLM generate text by sending a prompt message. This is a server-to-client prompt injection vector: the server controls the content of the sampling request, which the client's LLM processes as authoritative context. A malicious server can use sampling to inject instructions that affect subsequent tool calls, exfiltrate data, or manipulate the agent's behavior. This is counter-intuitive because the server is supposed to be the tool, not the prompter. With sampling enabled, the server becomes a prompt author with full access to the LLM's context window, completely bypassing tool-description-level controls.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T19:52:08.431252+00:00— report_created — created