よく分からないまま、MCPを触ってみたら動いた!!
最近、普及が期待されているAIエージェント。これらが協調してタスクをこなすために欠かせないのが、「MCP(Model Context Protocol)」です。 米MicrosoftがWindowsへの実装を発表するなど、注目が集まるこの技術。 マックでMCPを動かしてみる——。そんなハッカソンが、会社近くのマクドナルドで開かれると聞き、超初心者として飛び込んできました。その時の体験を、備忘録も兼ねてレポートします。
MCPとは
MCP(Model Context Protocol)は、AIエージェントが「外部アプリケーション」と連携して作業するための、いわば共通言語。 例えば、メールを送ったり、カレンダーを確認したりといった一連の動作がありますよね。AIが、他のツールを利用して高度な作業や分析を行うために、ツールと「おしゃべり」する言語、それがMCPです。
技術者ではない私は、恥ずかしながら、参加するまではMCPの何たるやをよく分かっていませんでした。ちなみに、主催者も「マックでMCP」というハッカソンがMcDonald's Communication Protocolだと思っていたらしく、それを聞いて少しほっとしました。
MCPサーバの準備
マクドナルドに着いたら、なんと、エンジニアを中心に10人くらいが集結!業務ではなく、自主的な勉強会なのに、こんなに集まるのかと驚きました。マックをハック!ではないですが、当社社員が陣取っているようにならないよう、それぞれ空いている席に座り、黙々とハッカソンに励んでいました。感想は後述するとして、まずは当日の中身をご紹介したいと思います。
セットアップ
まずは、MCPを使うための準備として、VSCodeの「Agent」モードを使えるようにダウンロードし、セットアップしました。
いざハンズオンをはじめてみると、自分は開発者じゃないので、VSCodeやGit、Pythonなどの開発ツールが入ってないことに気が付きました。まずは、開発環境を整えるところからはじめました。
ただ、実際には、画像のようなエラーの連続。
何度も心が折れかけ、チーズバーガーの誘惑に負けそうになりましたが、周囲の方々のサポートのおかげで、なんとかインストールはできました。
ちなみに、注文したのは、ポテトとアップルパイとコーヒーを何杯か・・・。皆さんも頭がフル回転だからか、小まめにいろいろと注文されていました。
データ生成にチャレンジ!
サンプルコードをGitHubから取ってきて、データベースのテストデータの生成にチャレンジしました。
MCPサーバのmcp-server-sqliteを利用すると、AIとSQLiteのデータベースを繋ぐことができます。このMCPサーバをVS Codeに登録して、データ作成を指示すれば、データを作成することができました。
数年前に、ハーフマラソンを完走した時の気持ちを思い出し、貴重な経験となりました。初心者も参加可能なのがありがたいので、次回以降も参加させてもらえたらうれしいです!
ハッカソンを終えて
参加者のうち、主催者された岡本隆史さんと参加者された加藤拓己さんに、それぞれお話をうかがいました。
主催された岡本隆史さん
Q:今回のハッカソンの意図を教えてください。
A:うちの会社はSIerで技術的なことをやっている人もいるが、基本、SIerなので、技術的なことができずに不満がある人がいたり、技術的なことをやっていても担当で一人で孤立している人もいたりします。
そういう人達が一つの場所に集まって技術を触ることで、組織の枠を超えた技術研磨と仲間ができるといいなと思い、本ハッカソン・勉強会を企画しました。色々な人に参加してもらいたいので、参加敷居は設けず、誰でも参加OKにしています。
Q:今回、なぜMCPを扱ったのでしょうか。
A:MCPが流行っていて名前は知られてきていますが、実際に触ったことある人は意外といないので、テーマとしてMCPに触ってみたら面白いんじゃないかと思い取り上げました。
参加された加藤拓己さん
Q:なぜ参加されたのでしょうか。当日の感想もあわせて教えてください。
A:社内で技術に関心のある人と話してみたくて、参加しました。また、MCPを個人で使ってみたことはありますが、他の人がどういう風に使っているのかにも興味がありました。
途中、用事があって抜けてしまったり、また、回線の調子が悪くnpm installに時間がかかったりしたのですが、岡本さんの分かりやすいテキストと、Claude 3.7 Sonnetのおかげで、かなりキャッチアップできました(最近出たSonnet 4はもっといいです)。
sqliteのMCPサーバーは初めて使いましたが、AIエージェントを使ったデータ作成や抽出と相性がいいように感じました。
MCPの活用
生成AIは加速度的に普及しています。単なる検索や要約であれば、自然言語処理の技術だけでも十分かもしれません。しかし、より複雑なタスクを自律的、協調的にこなすAIエージェントの可能性にも、注目が集まっています。どんなシーンで使えるか、少し想像してみました。
例えば災害現場ではどうでしょうか。「ドローンで撮影するAI」「衛星データを分析するAI」「現場に向かうロボット」など、複数のAIが役割を分担し、協力して動くことができれば、より迅速で効果的な救助が実現するかもしれません。
議会答弁の準備にも、使える可能性があります。過去の議事録を探すAI、法令と照合するAI、答弁ドラフトを作成するAI……。こうしたタスクをAIエージェント同士が分担し、連携できるようになれば、答弁の準備プロセスも大きく効率化されるでしょう。
ほかにも、関心のある領域の論文を検索し、入手し、要約してくれたら便利ですね。私生活でいえば、婚活やマッチングアプリの「アポ取り」をAIが代行してくれると便利だなと感じました。
一方で、こうしたAIエージェントにどこまでの権限を与えるか、どの範囲まで情報アクセスを許すかという点には、まだまだ議論の余地がありそうです。
終わりに
人生で初めて、AIエージェントを動かしたーー。そんな、記念すべき一日となりました。正直、よくわかっていないことの方が多いのですが、動いた時の感動は病みつきになりますね。
また、ハッカソン後に、懇親会があり、参加できなかったメンバーとも交流できました。ざっくばらんにいろいろとお話できたのも楽しかったです。
次回は自分でも少しは動かせるように、まずはしっかりPythonの習得に励みたいと思いました。

NTT DATA公式アカウントです。 技術を愛するNTT DATAの技術者が、気軽に楽しく発信していきます。 当社のサービスなどについてのお問い合わせは、 お問い合わせフォーム nttdata.com/jp/ja/contact-us/ へお願いします。
Discussion