Sampling and Roots are the two primitives most MCP write-ups skip, so good to see them covered. The practical caveat I'd add on Sampling is trust: letting a server request a model completion hands it some control over cost and content, so a per-server budget and an allowlist matter before you turn it on. Have you seen Sampling used much in the wild yet, or is it still mostly Tools and Resources?