AIToday
大規模言語モデルAIコーディングZenn AI/ML掲載日時: 2026年10月3日 22:00

CS146S資料でMCPの誤解3つを修正

LINEで送る
CS146S資料でMCPの誤解3つを修正

3つのポイント

  1. 何が起きたか

    Stanfordの講義CS146Sの資料を読み、筆者は自身のMCPの誤解を3つ修正した。

  2. なぜ重要か

    筆者は、モデルとツールの間の層が決定し、アプリ全体に問い合わせ、質問の前に動くと誤解していた。実際の役割分担は逆である。

  3. 注目点

    これは講義資料を読んだ一学習者の解釈であり仕様ではない。MCPの実際の分担が一致するかはCS146Sのスライド次第だ。

誰に効くかLLMを外部ツールにつなぐ開発者やテクニカルライターは、コネクタの作り直しや意思決定の段階の取り違えを避けられる。MCPを扱う講義やドキュメントの書き手も、ClientとLLMの分担を明示する必要があるかもしれない。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

この記事は、Stanfordの講義CS146S(The Modern Software Developer)の資料を読み、筆者自身の理解をAIと突き合わせたことから生まれた。3つの具体的な誤解が消えた。1つは、MCP Serverがユーザーの要求を見て自力で適切なAPIを探すという思い込みだ。Serverは受動的で、選ぶのはLLMである。もう1つは、tools/listをユーザーが入れた全MCPを取得する手段と読むことだ。実際には特定の1つのServerにどんなツールを持つか問い合わせるもので、どのServerを接続するかはHostの設定が決める。3つ目は、ユーザーが質問する前にTool Callが発火し得るという前提だ。Tool Callを出すのはLLMだけで、質問の前はClientがプロンプト準備のためにツール一覧を取っているにすぎない。

本文は読者がつまずきやすい3つの役割も示す。HostはCursorやClaude Desktopのようにユーザーが触れるアプリで、その中に通信ライブラリのClientがあり、各ツールの前には薄いMCP Serverのラッパーがある。メール要約の例では、ClientがServerにどんなツールがあるか尋ね、質問とツールの説明をLLMに渡し、search_emails(from="Jack")のような構造化されたTool Callを受け取り、Server経由でGmailに実行し、結果をLLMに返して文章化する。LLMは頭脳、Clientは手足である。

記事は設計指針で締めくくる。生の操作ではなく結果を中心にツールを作ること(3つの連鎖呼び出しよりsend_payment(user_email))、検索と実行を分けて薄い索引だけをプロンプトに置くこと。またSkillsをMCPの上に載るやり方の層として位置づける。これが実運用でどこまで当てはまるかは、ツール群がCS146Sの枠組みにどれだけ従うか、生態系の成長の中でMCP Serverが受動的なままでいられるかにかかっている。

よくある質問
MCPとは簡単に言うと何か?
MCP(Model Context Protocol)は、LLMにツールを見せるときの標準フォーマットだ。なければアプリとツールの組み合わせごとにコネクタが要る。
MCP Serverが使うAPIを決めるのか?
いいえ。Serverは決定しない受動的なツール棚だ。どのツールを選び、どんな引数を渡すかを決めるのはLLMである。
MCPとSkillの違いは何か?
MCPはツールを使えるかを決め、Skillはうまく使えるかを決める。Skillは自前のスクリプトを持てるため、MCPに依存しなくてよい。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へKaran Joshi、Museの内部ファイルを抽出