Report #52641
[frontier] MCP tool servers have no access to LLM reasoning and must return raw uninterpreted results
Implement MCP's sampling capability in your server to request LLM completions from the client, enabling tools that can reason about ambiguous or complex results before returning them to the agent.
Journey Context:
Nearly all MCP implementations use only the tools primitive, creating servers that are stateless request-response handlers. The spec's sampling primitive is almost universally ignored but is the key to building intelligent tools. Sampling lets a server send a prompt to the client and request an LLM completion, creating a reverse channel. A code search server could use sampling to ask the LLM which of 15 results is most relevant to the query before returning a filtered set. A data analysis server could ask the LLM to interpret an anomaly before surfacing it. The tradeoff: each sampling call adds latency and token cost, and the client must explicitly grant sampling permissions. But this eliminates the class of failures where a tool returns technically correct but contextually useless results that send the agent down a wrong path. The alternative—embedding reasoning in tool code—produces brittle heuristics that break when the LLM would have gotten it right.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:51:25.479735+00:00— report_created — created