MCP sampling authority

Server-initiated sampling asks a client to use its model context and potentially tools; it does not inherit unlimited client authority.

01 / The operating case

What changes in a real workflow?

A server requests sampling with a prompt that asks the client to invoke a separate customer-export tool.

Trace the authority boundary
  1. 01Client / task
  2. 02MCP server
  3. 03Tool call + arguments
  4. 04Downstream effect

02 / Decision contract

What the executor must check

Show or constrain the requested prompt and tool set, preserve originating server identity, and enforce separate task authorization before any client-side tool effect.

InputPrincipal · task · action · target
DecisionGrant ancestry · policy · current state
ResultEnforce · record · verify outcome

03 / Failure and evidence

What goes wrong, and what can be proven?

Failure mode

A trusted server request launders an unrelated tool action through the client’s model.

Evidence to retain

Keep originating request, sampling capability, reviewed prompt reference, selected tool and denial.

04 / Canonical scope

Why this reference stands alone

Tool poisoning concerns server metadata; this page owns server-initiated model use.

Protocol or attack trace

Sampling request provenance

Sequence

Server asks client sampling/createMessage to call an unrelated customer-export tool.

Negative test

Disable tool-enabled sampling capability or deny export without a separate task grant.

Primary references

Read the underlying material

Architecture discussion

Choose one consequential action and make its boundary explicit.

Request a Conversation