Model Preferences

Model Preferences allow an MCP server to express a preference for a specific type of AI model when requesting a sampling operation.

Use Cases

A server might perform better with a specific model due to:

MCP Request Structure

{
  "method": "sampling/createMessage",
  "params": {
    "modelPreferences": {
      "hints": [{"name": "claude-3-5-sonnet"}],
      "costPriority": 0.5,
      "intelligencePriority": 1.0
    }
  }
}

Host Responsibility

The client (host) ultimately decides which model to use, treating the server's preferences as non-binding suggestions.

Questions & Answers

What is the function of "Model Preferences" in the sampling process?

Model preferences allow an MCP server to suggest specific model families or prioritize certain model characteristics (like intelligence vs. cost) when it requests a sampling operation from the host.

Why might an MCP server express a preference for a specific type of model?

A server might prefer a "large" model for tasks requiring high reasoning depth (like complex code generation) or a "small/fast" model for simpler tasks (like text classification) to minimize latency and cost.

Are MCP hosts required to use the model suggested by the server?

No. Model preferences are treated as non-binding suggestions. The client (host) has the ultimate authority to decide which model is used for a specific sampling request.

Back to Glossary