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

MCPを理解する

 MCPを理解する

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

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から歴史をなぞって説明されている