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:
- Reasoning Depth: Requiring a "large" model for complex code generation.
- Speed: Opting for a "small/fast" model for simple text classification.
- Cost: Minimizing token usage by using an efficient frontier model.
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.