Report #44347
[frontier] MCP tool servers cannot request LLM reasoning — tool calling is one-directional from client to server
Use MCP's sampling primitive to allow tool servers to request LLM completions from the host client. This enables bidirectional agent delegation: a server receives a request, determines it needs LLM reasoning for an intermediate step, and delegates back up to the client's model.
Journey Context:
Most MCP implementations use only the tools and resources primitives, treating MCP as unidirectional function calling over a protocol. But the MCP spec defines a 'sampling' capability that inverts the control flow: servers can request the client's LLM to generate completions. This enables a powerful emerging pattern where a tool server can receive a request, realize it needs LLM reasoning to process intermediate results, and delegate back up. The server doesn't need its own LLM API key or model access — it borrows the client's. This creates bidirectional agent communication and is the key to building sophisticated multi-agent topologies over MCP. It is barely used in production yet because most developers don't know the primitive exists, but it enables recursive agent delegation without the overhead of separate model instances per agent.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:54:19.063184+00:00— report_created — created