🔌

宇宙一わかりやすいMCP入門 〜「仕組み」ではなく「何ができるか」を考えよう!〜

に公開

MCPって聞いたことある?〜Aくんの新発見〜

この記事の読み方

「MCPとは何か?」を最初に定義するのではなく、「MCPで何ができるか?」から始めます。
なぜなら、多くの技術記事は「プロトコルとは...」という仕組みの説明で始まり、
そこで挫折してしまう読者が多いからです。

この記事を読み終えた後で「MCPとは何か?」を改めて調べてみてください。
きっと、より深く理解できるはずです。

「美咲さん、ちょっと面白いものを見つけたんだ」

Aくんが昼休みのオフィスで、興奮気味に美咲に声をかけた。相変わらず新しい技術には目がない彼だ。

「何ですか?また新しいフレームワークですか?」

美咲は少し苦笑いを浮かべながら聞き返す。Aくんの新技術への情熱は尊敬するけれど、ついていくのが大変なのも事実だった。

「MCPっていうものなんだけど、Model Context Protocolの略らしくて...」

「はい、ストップ」

突然、結愛がAくんの説明を遮った。いつの間にか二人の会話を聞いていたらしい。

「Aくん、また『プロトコル』とか専門用語から説明しようとしてるでしょ?」

「えっ、でも実際にプロトコルだし...」

「そうやって難しい言葉から始めるから、みんな『おなかいっぱい』になって離脱しちゃうのよ」

結愛は呆れたような表情で言った。

プロトコルって言われても...

「そもそも『プロトコル』って何ですか?」

美咲が率直に疑問をぶつける。実は彼女のような素直な疑問こそが、多くの人が感じていることなのだ。

「えーっと...」

Aくんが答えに困っていると、結愛が口を開いた。

「美咲ちゃん、TCPって聞いたことある?」

「はい、なんとなく...でも正確には分からないです」

「でもWebブラウザとWebサーバーなら分かるでしょ?」

「それは分かります!ChromeでGoogleを開くとか」

結愛は満足そうにうなずいた。

身近な例から理解してみよう

「そうそう。実はこんな感じなのよ」

結愛がホワイトボードに図を描き始めた。

ホスト(人間) → ブラウザ ←→ TCP ←→ Webサーバー
              (Chrome)         (Google)

「TCPって何かよく分からなくても、人間がChromeを操作してGoogleにアクセスできるのは分かるでしょ?」

「確かに!普段使ってますね」

美咲は納得したような表情を見せる。

「MCPも全く同じ考え方なのよ」

結愛が新しい図を描いた。

ホスト(AI) → MCPクライアント ←→ MCPサーバー
            (Claude Desktop内蔵)   (GitHub MCP)

「つまり、AI(ホスト)が、アプリに内蔵されたMCPクライアントを使って、MCPサーバーにアクセスして色々な機能を使えるようになる、ってことですか?」

「そうそう!Webと同じ構造なのよ。人間がブラウザを操作するように、AIがMCPクライアントを操作してサーバーにアクセスするの」

結愛が補足する。

美咲の理解が早くて、Aくんも少し感心した。

「なるほど、これなら確かに分かりやすい!『プロトコル』って聞いた瞬間に思考停止しちゃうところでした」

Aくんも納得している。

「でも、MCPサーバーってなんで必要なんだろう?AIって万能に見えるけど...」

「あー、それね」

結愛は少し考えてから話し始めた。

AIって意外と知らないことが多いんだね

「美咲ちゃん、ChatGPTやClaudeって何でも知ってるように見える?」

結愛が質問を続ける。

「はい!すごく物知りですよね。でも...」

美咲が少し困ったような表情を見せる。

「でも?」

「最新のニュースとか、全然知らないんです。『2025年の最新情報は分からない』って言われちゃいます」

「そうそう!それがまず一つ目の限界よ」

結愛がうなずく。

「AIは学習した時点での知識しか持ってない。だから『今日のニュース』とか『最新の技術動向』は知らないのよ」

コピペ作業、みんなやってるよね?

「それに...」

Aくんが思い出したように言った。

「僕たち、AIにコードレビューしてもらう時、いつもファイルの中身をコピペしてるよね」

「あー!確かに毎回コピペしてます!」

美咲が手を叩いた。

「プログラムのバグを見つけてもらいたい時とか、設定ファイルをチェックしてもらいたい時とか...」

「そうそう。データベースの中身を調べてもらいたい時も、わざわざSQL実行して結果をコピペして...」

Aくんも苦笑いしながら続ける。

結愛が少し呆れたような表情を見せた。

「つまり、あなたたちはAIの『パシリ』をやってるってことよ」

人間がAIのパシリ!?

「パシリって...」

美咲が困惑する。

「考えてみて。本当はAIに『このファイルの内容を確認して』って言えたら楽なのに、実際には:

  1. ファイルを開く(人間の作業)
  2. 内容をコピーする(人間の作業)
  3. AIに貼り付ける(人間の作業)
  4. ようやくAIが分析開始

これって、人間がAIのために働いてるってことでしょ?」

「言われてみれば...」

Aくんも納得している。

「データベースの場合はもっと大変」

結愛が続ける。

  1. SQLを書く(人間)
  2. 実行する(人間)
  3. 結果を整形する(人間)
  4. AIにコピペする(人間)
  5. やっとAIが分析

「完全にAIの秘書やってるじゃない」

MCPで変わる関係性

「でも、MCPがあると?」

美咲が興味深そうに聞く。

「AIが直接ファイルを読める。データベースにもアクセスできる。GitHubのリポジトリも見られる」

結愛の説明が続く。

「つまり、『このプロジェクトのコードを見て問題点を教えて』って言うだけで、AIが勝手にファイルを読み回って分析してくれるの」

「え!それすごい便利じゃないですか!」

美咲の目が輝いた。

「確かに。僕たちが『パシリ』をやらなくて済むってことか」

Aくんも理解が進んできた。

効率性の革命

「効率性が全然違うのよ」

結愛が熱を込めて説明する。

「今まで:人間が情報を集めてAIに渡す
これから:AIが必要な情報を自分で取りに行く

この違いは大きいわよ」

「なるほど...」

Aくんが考え込んでいる。

「でも、どうやってAIがファイルにアクセスするんだろう?セキュリティとか大丈夫なの?」

「いい質問ね。それがMCPサーバーの役割なのよ」

結愛が意味深に微笑む。

「でも、具体的にどんなMCPサーバーがあるんですか?」

美咲が次の疑問を口にする。

「そこよ!」結愛がニヤリと笑う。

「最初の疑問は『MCPとは何か』だったわよね。これは抽象的な疑問。でも『どんなMCPサーバーがあるのか?』という具体的な疑問に昇華することで本質が見えてくるのよ」

「確かにそうだね。次はMCPサーバーの種類について調べてみよう。」

MCPサーバーって何があるの?〜具体例で理解する〜

「じゃあ、実際にどんなMCPサーバーがあるか見てみましょうか」

結愛がホワイトボードに向かいながら言った。

「楽しみです!」

美咲が身を乗り出す。

ファイルシステムサーバー

「まずは基本中の基本。ファイルシステムサーバー」

結愛が説明を始めた。

「これがあると、AIが直接ファイルを読んだり書いたりできるのよ」

「具体的にはどんな使い方があるんですか?」

美咲が質問する。

「例えば...」

Aくんが考えながら言った。

「『この設定ファイルに問題がないかチェックして』って言うだけで、AIが勝手にファイルを読んで分析してくれる?」

「そういうこと!コピペ不要よ」

結愛が満足そうにうなずく。

「あと、『ログファイルを分析してエラーの原因を教えて』とか、『プロジェクト全体のコード品質をチェックして』みたいなことも」

「それは便利すぎる...」

美咲が目を丸くした。

データベースサーバー

「次はデータベース系。PostgreSQLサーバーとかSQLiteサーバーとか」

「あー!これ欲しかった!」

Aくんが声を上げた。

「いつもSQLの結果をコピペしてたもんね」

美咲も共感している。

「そうそう。『売上データから傾向を分析して』って言うだけで、AIが勝手にSQLを書いて実行して、結果を分析してくれるの」

結愛の説明に二人とも感心している。

「BI的な使い方もできるってことか。これは革命的だな」

Aくんが興奮気味だった。

開発者向けサーバー

「開発者には嬉しいのがGitサーバーとGitHubサーバー」

「GitHubサーバー?」

美咲が首をかしげる。

「『このプルリクエストをレビューして』って言うだけで、AIがGitHubにアクセスして、コードの変更内容を確認して、レビューコメントを書いてくれるのよ」

「すごい!それってもう人間のレビュアーいらないじゃないですか?」

「まあ、最終的な判断は人間がするべきだけど、明らかなバグとかコーディング規約違反は見つけてくれそうね」

結愛が補足する。

サーバーは常時起動じゃない

「ちょっと待って、質問があります」

Aくんが手を上げた。

「MCPサーバーって、常にどこかで動いてるの?なんかサーバーって聞くと、どこかのクラウドで24時間動いてるイメージが...」

「あー、それは誤解ね」

結愛が首を振る。

「MCPサーバーは必要な時だけ起動すればいいの。しかもローカルのパソコンで動かすことも多いわよ」

「え、そうなんですか?」

美咲が驚く。

「うん。たとえば、AIは文字数を数えるのが苦手だって知ってる?」

「知ってる知ってる!」

Aくんが手を上げた。

「AIって、文字じゃなくて『トークン』っていう単位で文章を処理するんだ。だから文字数の正確なカウントが苦手なんだよね」

「そうそう!Aくん、よく知ってるじゃない」

結愛が感心している。

「『この文章は何文字ですか?』って聞いても、だいたい間違った答えが返ってくるの」

「確かに...言われてみれば、文字数を正確に答えてもらったことないかも」

美咲も思い当たる節があるようだった。

簡単なツールでMCPサーバー

「でも、これって簡単なスクリプトで解決できるのよ」

結愛がホワイトボードにコードを書き始めた。

def count_string(text: str) -> int:
    return len(text)

「たったこれだけ?」

美咲が目を丸くする。

「そう。このシンプルな関数を、MCPサーバーとしてAIに提供できるの。AIが文字数を知りたい時だけ、このツールを呼び出す仕組みよ」

「なるほど!MCPサーバーって、必ずしも大きなシステムじゃなくて、小さなツールでもいいんですね」

Aくんが理解した。

「そういうこと。必要な時だけ使用する、最小構成のツール提供。これもMCPサーバーの一つの形なのよ」

「ただし、実際のMCPサーバーにするためにはもう少し複雑な仕組みが必要になるの。でもSDKが用意されてるので、簡単に実装できるのよ」

「もし興味があったらコメントで教えてくださいね」美咲があさっての方向を見ながらウインクしている。

「美咲さん、誰と話してんの?」Aくんが不思議そうに言った。

まとめ

「MCPって、AIの弱点を補完するツールなんですね」

美咲が整理してくれた。

「そうそう。ファイルアクセス、データベース操作、Git連携から、文字数カウントのような小さなツールまで。MCPサーバーがあることで、AIができることの幅がぐっと広がるのよ」

結愛が満足そうにうなずく。

「『MCPとは何か』がやっと理解できました!」

Aくんも納得した表情だった。

「でも、もっと詳しく知りたくなってきました。他にどんなことができるんでしょう?」

美咲の興味は尽きないようだ。

「それなら、いくつか参考になるサイトを紹介するわね」

結愛がスマートフォンを取り出した。

次のステップ

「まずは公式ドキュメントね。本記事を読んだ後なら、きっと理解しやすいはずよ」

https://modelcontextprotocol.io/introduction

「それから、MCPの公式GitHubアカウント。面白いのは、これがAnthropic社のアカウントじゃないってことなの」

https://github.com/modelcontextprotocol

「え?なんでですか?」

美咲が首をかしげる。

「自社で手柄を独占するんじゃなくて、コミュニティ全体を育てることを目指してるのよ。技術の発展って、みんなで協力した方が早いからね」

結愛が説明する。

「なるほど、それで独立したアカウントなんですね」

Aくんが納得している。

「最後に、実際のMCPサーバー一覧。ここを見ると、本当にたくさんのサーバーがあることが分かるわよ」

https://github.com/modelcontextprotocol/servers

「各言語のSDKへのリンクもあるから、実際に作ってみたくなったら参考にしてみて」

「すごい!こんなにたくさんあるんですね」

美咲が画面を覗き込んでいる。

「次は実装編の解説だね」

Aくんが期待を込めて言った。

「ま、まぁ読者の要望があれば考えるわ」

結愛が面倒くさそうに答えたが、少し嬉しそうでもあった。

三人とも、MCPという技術が身近で実用的なものだと理解できた。そして、さらに深く学んでいきたいという気持ちも芽生えていた。

GitHubで編集を提案

Discussion