
What happened
Writing up Stanford CS146S course material, the author corrected three of his own MCP mistakes: the Server never picks the API, tools/list queries one Server's tools, and only the LLM issues Tool Calls.
Why it matters
The author had wrongly assumed the layer between the model and the tools does the deciding, queries the whole app, and acts before a question is asked, which is the opposite of how the work is actually split.
What to watch
The account is one learner's reading of course material, not a spec, so whether MCP's real split matches this telling hinges on the CS146S slides. Watch the sent-payment example, where one send_payment(user_email) tool beats three chained steps.
WHO IT HITSSoftware developers and technical writers learning to wire LLMs into external tools can avoid rebuilding connectors and misplacing the decision-making step. Course authors and doc writers covering MCP may also need to state the Client-versus-LLM split explicitly.
Summaries like this, in your inbox every morning.
The write-up comes out of reading the CS146S (The Modern Software Developer) lecture notes at Stanford and checking the author's own mental model against an AI. Three specific misconceptions fell away. One was thinking the MCP Server looks at a user request and hunts for the right API on its own; the Server is passive and the LLM makes the pick. Another was reading tools/list as a way to grab every MCP the user has installed; it actually asks one specific Server what tools it holds, while a Host setting decides which Servers are connected. The third was assuming a Tool Call can fire before the user even asks a question; only the LLM emits a Tool Call, and before the question the Client is just pulling the tool list to prep the prompt.
The body also lays out the three roles a reader keeps tripping over. A Host is the app a user touches, like Cursor or Claude Desktop; inside it sits a Client, a communication library; and in front of each tool sits a thin MCP Server wrapper. In a summarized-mail example, the Client asks the Server what tools exist, passes the question and tool descriptions to the LLM, gets back a structured Tool Call like search_emails(from="Jack"), runs it through the Server to Gmail, then hands the result back for the LLM to phrase. The LLM is the brain, the Client is the hands.
The piece closes with design guidance: build tools around results, not raw operations (send_payment(user_email) over three chained calls), and split search from execute so only a thin index sits in the prompt. It also frames Skills as the how-to layer on top of MCP. How much of this holds in real deployments may depend on how closely tooling follows the CS146S framing, and on whether MCP Servers stay passive as the ecosystem grows.
Pick your industry and the AI tools you use, and get news related to your work every day.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.
A 2026 Pew report found 10% of Americans use chatbots for emotional support or companionship, and Anthropic re…

The author built a palm-sized car where a PC runs a PyTorch CNN (NVIDIA PilotNet, shrunk) that maps camera ima…

Splice CEO Kakul Srivastava said she is "careful about AI-written documents" because when you cannot tell whet…

David Robinson, who wrote the safety reports accompanying every major OpenAI model release, resigned this week…

Instinct raised $1 billion in September 2026 at a $10 billion valuation, and a growing list of rivals — includ…

NVIDIA posted $89.02 billion in Data Center revenue for the second quarter of fiscal 2027, reported August 26…
