AIToday
Large Language ModelsAI Coding AssistantsZenn AI/MLPublished: Oct 3, 2026, 22:00 JST

CS146S notes: three MCP mistakes fixed, Server never calls APIs

CS146S notes: three MCP mistakes fixed, Server never calls APIs

3 Key Points

  1. 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.

  2. 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.

  3. 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.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, in your inbox every morning.

Context & Analysis

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.

FAQ
What is MCP in simple terms?
MCP (Model Context Protocol) is the standard format for showing tools to an LLM. Without it, each app-tool pair needs its own connector.
Does an MCP Server decide which API to use?
No. The Server is a passive tool shelf that does not decide. The LLM chooses which tool and what arguments to pass.
What is the difference between MCP and a Skill?
MCP decides whether a tool can be used, while a Skill decides whether it is used well. A Skill does not have to depend on MCP, since it can hold its own scripts.

AI news that matters for your work, delivered every morning.

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

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.

Questions and answers are published on this page.

Related Articles

Next articleKaran Joshi extracts Muse files on everyone you know