When a host connects to MCP servers, their tools must reach the model in a usable form.
Discovery
After initialisation, the client asks each server for its list of tools, resources and prompts. Servers can notify the client when these lists change.
Presentation to the Model
The host converts tool definitions into the model's function-calling format and includes them in requests. Hosts may prefix tool names with server names to avoid clashes.
Selection
The model reads the task and the tool descriptions, then decides whether a tool would help, which one, and with what arguments.
Large Tool Sets
With many servers connected, tool definitions can consume significant context and make selection harder. Hosts manage this by:
- Letting users enable only needed servers.
- Loading full tool definitions on demand, with a search step to find relevant tools.
- Grouping or filtering tools by task.
Approval and Execution
The host may ask the user to approve the call, then sends it to the right server and returns the result to the model.
Implications for Server Authors
Distinct names and precise descriptions matter because your tools compete for the model's attention with everyone else's.