These primitives allow MCP server authors to build richer interactions.

  • Sampling: Allows servers to request language model completions from the client’s AI application. This is useful when server authors want access to a language model, but want to stay model-independent and not include a language model SDK in their MCP server. They can use the sampling/complete method to request a language model completion from the client’s AI application.
  • Elicitation: Allows servers to request additional information from users. This is useful when server authors want to get more information from the user, or ask for confirmation of an action. They can use the elicitation/request method to request additional information from the user.
  • Logging: Enables servers to send log messages to clients for debugging and monitoring purposes.