Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MCPを理解する

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 MCPを理解する

社内で発表した時の資料です

Avatar for Yudai Hayashi

Yudai Hayashi

May 01, 2025
Tweet

More Decks by Yudai Hayashi

Other Decks in Technology

Transcript

  1. © 2025 Wantedly, Inc. MCPとは何か - “MCPはAIアプリケーションのUSB-Cポートのようなもの” MCPの定義 • MCP

    (Model Context Protocol)はLLMと 外部のリソースをつなぐための プロトコル • 外部のリソース ◦ 外部のツール ◦ LLMがタスク完了のために必要な情報 ◦ 指示を出す人間が考えていること ◦ etc. 1. https://www.notion.so/notion/Notion-MCP-1d0efde ead058054a339ffe6b38649e1?pvs=4
  2. © 2025 Wantedly, Inc. MCPとは何か - “MCPはAIアプリケーションのUSB-Cポートのようなもの” MCPの使われ方 • 登場人物

    ◦ MCP Server ◦ MCP Client ◦ LLM • MCPを使ったプロセスの例 ◦ ClientがLLMの要請を受けて情報を外 部(Server)から取得。LLMに渡す 2. https://www.notion.so/notion/Notion-MCP-1d0efde ead058054a339ffe6b38649e1?pvs=4
  3. © 2025 Wantedly, Inc. MCPとは何か - “MCPはAIアプリケーションのUSB-Cポートのようなもの” MCP Serverの種類 •

    Stdio:ローカルのServerとの通信 • Remote:リモートのServerとの通信 ◦ SSE ◦ Streamable HTTP (2025-03-26 から追加) ※ 2025-05-01現在、Python SDKは Streamable HTTP 非対応、TypeScript SDKは 対応している 3. https://www.notion.so/notion/Notion-MCP-1d0efde ead058054a339ffe6b38649e1?pvs=4
  4. © 2025 Wantedly, Inc. 何ができるのか MCP Serverでできること • Tools: ◦

    外部のツールを利用して LLMが必要な情報を取得できるようにする ◦ ツールの一覧をLLMに渡して、LLMが使うものを自律的に選ぶ ◦ (世の中で話題になっているのはだいたいこれ ) • Resources: ◦ LLMがタスクをこなすために必要な情報を与える (ファイルの中身、DBのデータ、 etc.) ◦ ユーザーが明示的に指定して LLMに与える、という使われ方をしていることが多いように見える • Prompts: ◦ ユーザーの指示を与える ◦ ユーザーが明示的に指定して LLMに与える、という使われ方をしていることが多いように見える
  5. © 2025 Wantedly, Inc. 利用例 - Tools [ Tool( name="current_datetime",

    description="Get the current date and time.", inputSchema={ "properties": {}, # Toolの引数 "title": "current_datetimeArguments", "type": "object", }, ) ] responseに “tool_call” が入ってくるので、こっち でtoolを実行して結果をLLMに送り返す Toolの情報を統一フォーマットで提供
  6. © 2025 Wantedly, Inc. 利用例 - Tools tool呼び出し 結果を詰めて再度LLMにリクエスト (ここらへ

    んはfunction callingと同じ) Choice( finish_reason="stop", index=0, logprobs=None, message=ChatCompletionMessage( content="今日の日付は2025年4月30 日です。", … ), )
  7. © 2025 Wantedly, Inc. 利用例 - Resources & Prompts Server

    (mcp_server.py) Client プロンプト リソース
  8. © 2025 Wantedly, Inc. 利用ケース - 公開されているMCPサーバー • toB向け・公式 ◦

    AWS MCP Server:コスト監視とか ◦ dbt-mcp:compileしたりテスト実行したり ◦ azure-mcp: ◦ … • toC向け・公式 ◦ notion-mcp-server ◦ github-mcp-server:GitHubの操作とか ◦ brave-search:Web検索をできるMCPの提供 ◦ lapras-mcp-server:求人検索・プロフィール執筆とか ◦ … • 3rd Party製:セキュリティには注意が必要 ◦ mcp-server-datadog ◦ GitMCP:任意の公開リポジトリをドキュメントサーバー化
  9. © 2025 Wantedly, Inc. 利用ケース - 面白そうな取り組み • 社内での生産性向上の事例 ◦

    Ubie:社内デザインシステムを MCPサーバー化したらUI実装が爆速になった ◦ Moneyforward:デザインシステム MFUI を MCP サーバー化して社内に提供した話 • ノベルゲームの実装 (MCP “Resources”の活用事例;個人開発のもの ) • MCP Server as a Judge:評価基盤をMCP Serverとして用意するというアイデア スライドから抜粋 リポジトリのREADMEから抜粋
  10. © 2025 Wantedly, Inc. まとめ • MCPはLLMと外部リソースをつなぐためのプロトコル • MCP =

    Tools ではない ◦ サーバー側にはTools, Resources, Promptsという機能が存在 • 上手く活用することで、社内の生産性向上からユーザー体験の改善まで、幅広く効果を出すことができる 可能性がある
  11. © 2025 Wantedly, Inc. 参考文献 - もっと知りたい方へ • 公式ドキュメント •

    SaaS公式MCPサーバーをリリースして得た学び :LAPRASがMCPサーバーを開発したときの話をまとめてく れているブログ記事 • MCP Hub:ToolやResourceなど個別にベストプラクティスやハマりポイントを説明している。発表では触れ なかったClient側の機能(RootsやSampling)についても説明がある • MCPに入門する:MCPについてわかり易く説明した発表資料 • ここはMCPの夜明け前:図を使ってわかりやすく説明している発表資料。仕様の話や、セキュリティ周りの話 にも触れている • リモートMCPがやってくる、そして A2Aについて:ステートレスモードについて紹介されている。また、 Google が発表したA2A (Agent-to-agent)との比較もされている • Frontline Practice of Implementing a New Paradigm of AI Application Architecture Based on MCP:Alibaba Cloudの技術ブログ。”MCPを使ったサービス”を作る側の話を詳しく書いてある • ALPSとMCP:REST制約が生み出すAIとの対話:プロトコルの話。RESTから歴史をなぞって説明されている