Report #52337
[tooling] MCP server cannot perform complex reasoning or multi-step planning without client-side orchestration
Implement \`sampling/createMessage\` capability: server requests LLM sampling from the client, sending prompt messages and receiving generated content, enabling server-side agentic workflows.
Journey Context:
Developers often assume MCP servers are passive tool executors, forcing all reasoning logic into the client \(Claude Desktop, Cursor, etc.\). The sampling capability allows the server to request LLM generations from the client, effectively allowing the server to 'think' or plan. This is crucial for complex operations like 'analyze this codebase and suggest refactoring' where the server needs to make intermediate LLM calls to analyze subsets of data. Without sampling, servers must return raw data to the client and hope the client prompts the LLM correctly; with sampling, the server controls the reasoning chain. This enables 'agentic MCP servers' that can perform multi-step tasks autonomously. The capability must be negotiated during initialization.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:20:24.583781+00:00— report_created — created