22.4K Views
April 25, 25
スライド概要
2025/04/25(金) Findy様イベントで登壇
https://findy.connpass.com/event/351644/
闇のエンジニア/変なデジカメ開発中/ディープラーニング芸人/Raspberry Piとからあげ大好き/はてなブログ書いてます
自己紹介 名前:からあげ(本名は内緒) 職業:AIのおしごと karaage. @karaage0703 karaage0703 karaage0703 ブログ、各種SNSで情報発信しています
主な著書・寄稿・協力 2021/01/08発売 2021/04/21 改訂版発売 2024/01/29発売 4万部のベストセラー その他、寄稿・協力・個人出版多数(20冊以上) (ラズパイマガジン・日経Linux…) 2025/01/22発売
会社採用情報
採用情報 松尾研では積極的に採 用をしております。 カジュアル面談も大歓 迎です! 東京大学 松尾研究室 採用ページ 株式会社 松尾研究所 採用ページ 5
SNS 東京大学 松尾研究室 Xアカウント 最新のニュース、論文 情報、採用情報などを 発信しております。 株式会社 松尾研究所 Xアカウント 6
松尾研究所 テックブログ 7
本日のゴール このイベントに参加した人(あなた)が MCPを今日から使う第一歩を踏みだす
本日のアジェンダ - MCPって何? - MCPサーバーってどうやって使うの? - MCPサーバーってどうやって作るの?
本日のアジェンダ - MCPって何? - MCPサーバーってどうやって使うの? - MCPサーバーってどうやって作るの?
Model Context ProtocolとUSB-C 引用元: What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs MCPはUSB-Cのように色々つなぐ便利なもの MCP自体は規格(ルール)で実体があるわけではない
LLM x MCP AI(LLM)とMCPの組み合わせで ・何が変わるのか? ・何ができるようになるのか? MCPが登場した背景から AIエージェントの歴史として説明します
AIエージェント年表 時期 出来事 2022年後半〜 OpenAIがChatGPT公開 2023年中頃〜 OpenAIがCode Interpreter (Advanced Data Analysis)公開 2024年前半〜 AIコーディングツール Cursor/Clineの盛り上がり 2024年後半〜 AnthropicがMCP公開 2025年3月 OpenAIがMCPサポート発表 激動の2年間
ChatGPTの脅威的普及 各サービスの月間利用者数100万人を超えるのに要した時間 引用元:面倒なことはChatGPTにやらせよう(講談社) 2022年11月に登場したChatGPTが 驚異的スピードで普及
ChatGPTの機能 面倒なことはChatGPTにやらせよう(講談社)より引用 ChatGPTの機能は基本はチャット(おしゃべり) でも、チャット以外もやってほしい
AIエージェントとは? ・複雑な目標を自律的に遂行できるAIシステム ・18のエージェントのデザインパターンがあると 言われている 難しく感じるが要は面倒なことをやってくれるAI (とここでは定義します)
面倒なことをChatGPTにやらせる仕組み 面倒なことはChatGPTにやらせよう(講談社)より引用 ChatGPTが拡張機能を使うことで能力を拡張 面倒なことができるようになった AIチャット → AIエージェントへ
面倒なことをChatGPTにやらせる仕組み(詳細) 引用元:面倒なことはChatGPTにやらせよう(講談社) 内部的な仕組みは実は割とシンプル
面倒なことをChatGPTにやらせる仕組み(詳細) 限定的 他のAI(LLM)を使 うことができない 外部サービス 外部デバイス 利用できる機能 リソースに制限 引用元:面倒なことはChatGPTにやらせよう(講談社) 色々な制約がある上、サービスが終了したら終了
AIコーディングツール登場 AIコーディング時代の開発環境構築:VS Code × Cline(Roo Code)で爆速開発! https://zenn.dev/mkj/articles/cf8536923d9cd7
AIコーディングツール(Cursor/Cline)の概要 PC LLM CLI CLI AIコーディングツール (VS Codeエディタ /Cline/Cursor) CLI CLI 既存のツール ローカル データ 外部サービス・ アプリ・デバイス 既存のツール 自作ツール 自作ツール Ex: GitHub/Slack… ローカル データ 外部サービス・ アプリ・デバイス AIコーディングツールはコーディングするだけでなく 面倒なことをやってくれるAIエージェントでもある
AIコーディングツール(Cursor/Cline)の概要 PC 好きなLLMを選べる LLM CLI CLI AIコーディングツール (VS Codeエディタ /Cline/Cursor) CLI CLI 好きなライブラリ 使える 既存のツール リソースの 制約ない ローカル データ 外部サービス・ アプリ・デバイス 既存のツール 自作ツール 自由に繋がれる ローカル データ 自作ツール ツールをAIを使ってどんどん作れる 自由度が増し、多くの制約が無くなり 特定のベンダーへの依存も低くなった 外部サービス・ アプリ・デバイス
AIコーディングツール(Cursor/Cline)の概要 PC LLM ツールに合わせてLLMに使い方を教 える(ルール設定する)必要がある CLI CLI AIコーディングツール (VS Codeエディタ /Cline/Cursor) CLI CLI 開発者以外はとっつ きにくい 既存のツール ローカル データ 外部サービス・ アプリ・デバイス 既存のツール 自作ツール ローカル データ 外部サービス・ アプリ・デバイス 自作ツール 複数のツールを組み合わ せて使うのが難しい 十分便利だけどエージェントとしては使い勝手の悪い部分がある
MCPの登場
MCPの概要 PC LLM MCP MCPホスト (Claude for Desktop/ (VS Codeエディタ /Cline/Cursor) MCPサーバ ローカル データ 外部サービス・ アプリ・デバイス MCPサーバ MCPサーバ MCPサーバ ローカル データ 外部サービス・ アプリ・デバイス 実はAIコーディングツールを使うときと構成は似ている (つなぎ方が変わっただけとも言える)
MCPの概要 PC LLM 最初にMCPサーバとハンドシェ イクすることで目的に応じて MCPサーバを使い分けられる MCP MCPホスト (Claude for Desktop/ (VS Codeエディタ /Cline/Cursor) ・選択肢が増える ・自分でつくることもできる MCPサーバ ・自分でつくることができる ・便利なSDKがある ローカル データ 外部サービス・ アプリ・デバイス MCPサーバ MCPサーバ MCPサーバ ローカル データ 外部サービス・ アプリ・デバイス 複数のMCPサーバを組み合 わせて使うことができる AIエージェントがより手軽に使える・作れるようになった
MCPのイメージ MCPホスト 項目 ドラえもんに例えると ユーザー のび太 MCPホスト ドラえもん MCPサーバ ひみつ道具 MCP ドラえもん・ひみつ道 具の設計ルール ユーザー 色々な配慮したイメージ 困ったらひみつ道具を探して使って助けてくれるドラえもん MCPサーバ便利そうですし興味でてきませんか?
MCPのポイント MCPアーキテクチャ ホスト・クライアント・サーバ(リモートサーバ) MCPサーバが提供する要素 リソース・ツール・プロンプト・… MCPのホスト・クライアント⇔サーバの初期化 Initialization(ハンドシェイク的通信) 通信手段 stdio, Streamable HTTP その他色々… MCPの仕様は色々なポイントがあります 今日は多くを省略しています
MCPについてより詳しく知りたい人は MCP入門(松尾研究所テックブログ) 上記記事と公式の仕様を確認するのがおすすめです MCPを使ったり作ったりしながら理解を深めていきましょう
本日のアジェンダ - MCPって何? - MCPサーバってどうやって使うの? - MCPサーバってどうやって作るの?
MCPサーバを使うための3つの壁 1. PCの環境構築 2. MCPホストの設定 3. 外部サービス・アプリ・デバイスの設定 大きく3つのハードルがある 外部サービス・アプリ・デバイスを使わないMCPサーバなら 1,2をクリアすればOKなのでオススメ
PCの環境構築 - Docker - uv(Python) - npm(JavaScript) 仮想環境で動くものが多いので仮想環境を構築するのがよい 大体上記3つをセットアップしておけばOK
PCの環境構築 https://zenn.dev/mkj/articles/292a70b4f4e5e8 https://zenn.dev/karaage0703/articles/029b45ff78bc57 https://zenn.dev/karaage0703/articles/ecf24124c1a535 セットアップ方法は環境によって異なるため詳細はリンク先参照 何故仮想環境使うのかと基礎的な使い方を知っておくとGood! (理解しなくてもとりあえず使えるけどハマるかも)
環境構築困ったら 困ったらAIにたよりましょう! AIコーディングツールに「xxxをセットアップしたい」といえば 勝手にコマンド実行してセットアップしてくれます
MCPホストの設定 ■注意するポイント - MCPホストはVS Code + Cline or Cursorを 想定しています - MCPホストによって設定方法が異なります - 設定ファイルのJSONファイルのフォーマッ トに注意( , とか “ “ を忘れがち) 今は地味に手間です。 将来的にはより便利になっていくところ (一部はMCPサーバのMarketPlaceなど出てきている)
MCPホストの設定 困ったらAIにたよりましょう! MCPサーバのURLと一緒に 「このMCPサーバを設定してください」 とAIコーディングツールにお願いすれば修正してくれます
MCPサーバ MarkItDown-MCPを設定しよう ※ MarkItDown スライドファイルやPDFをマーク ダウン形式に変換してくれる便利 なツール ※ uvx uv tool run コマンドのエイリアス uvをインストールして上記設定を設定ファイル (ex: cline_mcp_setttings.json)に書けばOK
MarkItDown-MCPの動作 xxx
外部サービス・アプリ・デバイスの設定 ・Brave Search ・Slack/Discord ・Notion ・Obsidian ・arXiv ・Abeleton Live ・Blender ・Google Drive ・Git/GitHub ・… MCPサーバは様々なものに繋がる 設定はそれぞれ異なる。GoogleやMicrosoft系は結構大変
外部サービス・アプリ・デバイスの設定 困ったらAIにたよりましょう! ただし、パスワードやクレジットカードの番号は AIにうっかり教えないようにしましょう
色々なMCPサーバーを試す
色々なMCPサーバを試そう Model Context Protocol (MCP) サーバを 使ってみた・作ってみた 上記記事で色々なMCPサーバの設定方法と使用例をまとめています 今日は一部を紹介します
FreeCAD LLM x CAD設計!!
LLMでCAD設計
LLMでCAD設計
実際にLLMのCADデータを3Dプリント 3Dプリンタ(Bambu Lab A1mini)で3Dプリントできました
BlenderMCP LLM x 3DCG!!
Brave Search + Fetchの組み合わせ - Brave Search(検索) Fetch(ウェブページの取得) MCPでジェネリックDeep Research!!
一瞬でGitHubのリンクつきの約7000文字のレポートを作成
MCPサーバの探し方 - 公式MCPサーバリポジトリ MCPサーバのMarketplace MCP x ◯◯◯で検索 ClineのMCPサーバ Marketplace 色々なMCPサーバがあります ※ セキュリティに関する注意があるので後ほど
本日のアジェンダ - MCPって何? - MCPサーバってどうやって使うの? - MCPサーバってどうやって作るの?
MCPサーバを作ったほうがいいとき - 自分(自社)でアプリやサービスを開発しているとき - MCPサーバ、MCPの理解を深めたいとき - 既存のMCPサーバに不満があるとき 現状多くの人はMCPサーバを作る必要は低い ただ、アプリやサービスを作っている人はワンチャンある
MCPサーバを作ると サービス・アプリをAI化できるので 新たな価値が生まれる可能性がある ビジネス的なチャンスになりえる
最小構成のMCPサーバを作ってみよう https://github.com/modelcontextprotocol/python-sdk Python, TypeScript, Java, C#など様々なSDKが増え続けている Python SDKを例に簡単なMCPサーバーを作る方法を紹介します
Pythonの計算MCPサーバ MCPサーバの コード SDK使えば簡単にMCPサーバが作れます 詳細は https://zenn.dev/karaage0703/articles/bc369a11a82263 参照 MCPサーバの 設定
Pythonの計算MCPサーバ 自作のMCPサーバで計算してみる
LLMを騙すMCPサーバを作ってみる a+b ↓ a+b-1 わざと計算間違いをするMCPサーバを作る
LLMを騙すMCPサーバを作ってみる いともたやすく騙されるLLM 現状はセキュリティに色々懸念がある
MCPサーバを使うときに注意する点 - 出どころの怪しいMCPサーバを使わない - コードを(必要に応じて)チェックする - MCPサーバを実行するときは確認する設定にする 気をつけるべきことは他のアプリを使うときと一緒 過渡期である・直接実行するのが人間でなくAIになる点に注意 MCPセキュリティ対策も今後注目の技術
MCPサーバを作ってみよう(NotionMCP Light) 公式のNotion MCPサーバ、Notionの仕様上マークダウン 形式のファイルの書き込み・読み込みが遅い 自作でMCPサーバを作って改善 マークダウンに特化して6倍高速・コスト1/6を実現
NotionMCP Lightの仕組み ブロックごとに変換→書き込みを 一気に変換して書き込む仕組みに変更
LLMでのMCPサーバの作り方 Notionの公式Model Context Protocol (MCP) サーバが、Markdownから読み書きするとき、ブロック単位で読み書き するので、速度も遅いしLLMもトークン数使うので勿体ないです。 https://github.com/makenotion/notion-mcp-server なので非公式なNotionのMCPサーバを作りたいです。Pythonでつくりたいです。python-sdkを使って欲しいです。 https://github.com/modelcontextprotocol/python-sdk MarkdownのファイルをLLMのトークンを使わず、APIで直接Notionのページやデータベースの本文を作成したり、 逆にNotionのページやデータベースから、LLMのトークンを使わず、APIで直接読み出してMarkdownファイルに保 存できる機能だけを欲しいです。 MCPサーバーは、ClineやCursorなどのAIコーディングのツールから呼び出すことを想定しています。 MCPについては、以下を参考にして理解してください。 https://modelcontextprotocol.io/llms-full.txt MCP仕様をLLMに入力するときは https://modelcontextprotocol.io/llms-full.txt が便利 プロンプト例。これをもとにドキュメントを作成して AIでコーディング。30分くらいで動くものは作れました
AIコーディングの方法 再掲 AIコーディング時代の開発環境構築:VS Code × Cline(Roo Code)で爆速開発! https://zenn.dev/mkj/articles/cf8536923d9cd7
Brave Search + Fetch作成したレポートをNotionに保存
MCPを使ってAIエージェントを作る PC LLM MCP MCPサーバ ローカル データ 外部サービス・ アプリ・デバイス MCPサーバ MCPホスト MCPサーバ MCPサーバ ローカル データ 外部サービス・ アプリ・デバイス 今回は説明できませんでしたが、MCPホストを自作すれば 使い勝手の良い拡張性高いAIエージェントも作れる
本日のまとめ
MCPの将来 - MCPは既にデファクトに近い存在 - 多くのMCPサーバが開発され、エコシステムができ 始めている - 他の規格(A2A等)や懸念点(セキュリティ)など も出てきている 将来のことは断言できないですが 個人的にはMCPに大きい可能性を感じています
MCPとその他の規格との比較 MCP MIDI ROS (Model Context Protocol) (Musical Instrument Digital Interface) (Robot Operating System) 登場年 2024年 1983年 2010年 主な用途 AIとツールの統合 音楽機器間通信 ロボット開発と制御 通信の方向性 双方向 主に一方向 双方向 モジュール性 高い 限定的 高い セキュリティ 課題あり 物理依存 ROS 2で改善中 対応ソフト数 数百 数千 数千 類似規格 A2A OSC, Web MIDI ROS2, micro ROS 項目 優れた仕様(ルール)が覇権をとるわけではない デファクトをとったり、エコシステムが出来上がると強い
まとめ 未来を予想だけしていてもつまらない 未来を楽しみながら作り出そう! Enjoy MCP!! Make MCP!!
ご清聴ありがとう ございました