The travel assistant with three servers
Your travel assistant app connects to three MCP servers: Calendar, Email and Flights. The app is the host. Behind the scenes it creates three clients, one per server.
You say "book me a flight to Lisbon after my Thursday meeting". The host asks Calendar for Thursday, hands the model the combined tool list, and when the model picks book_flight, the host shows you a confirmation before anything is charged.
Now suppose the Flights server is compromised. What can it see? Only the arguments of its own tool calls: {"to": "LIS", "date": "2026-10-09"}. Not your emails, not the calendar, not the rest of the chat. That isolation is a design principle, not luck: servers should not be able to read the whole conversation, nor "see into" other servers.