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

今さら聞けないMCP

Avatar for ツルオカ ツルオカ
May 23, 2025
7

 今さら聞けないMCP

2025.05.23の社内勉強会にて発表

Avatar for ツルオカ

ツルオカ

May 23, 2025
Tweet

Transcript

  1. Contents • MCPとは • 登場した背景 • アーキテクチャ • MCPの仕組み •

    使 用方 法、簡単デモ • ユースケース例 • まとめ
  2. • 今週(5/20)に発表されたGoogle I/O 2025の発表はある程度知っている 人 も多いと思いスキップ(まだの 方 は各 自 で)

    ◦ 「Veo 3がすごい!Imagen 4がすごい!Agent Modeがすごい!」の各論は今回は対象外 • 今回は、今後の 生 成AIプロダクト開発の基本となるであろうMCPについておさらいをする回 • すべての枝葉の技術を追っていても正直キリがないので、これは 大 事だ、抑えておくべき、の観点でMCPを選定しました • 技術者はもちろん、 非 技術者もプロダクトに関わる以上必ずでてくるので多少意義はあるはずです • 最近のt_wadaさんの「技術選定の審美眼 ’ 25」にもあったが、LLMは未来に歴史を振り返ったときの転換点になっているはず ◦ 「Railsで時代変わったよな〜」とか 言 っているかっこいいおじさん(おばさん)になれるように必死に 食 らいつく 概要 5 ref. https://speakerdeck.com/twada/understanding-the-spiral-of-technologies-2025-edition?slide=51
  3. Prompt Engineering(挙動の誘導) 8 LLMは 自 信を持って、もっともらしいが事実と異なる出 力 を 生 成する(ハルシネーション)

    高 コストなモデルパラメータを変更せず、コンテキスト・制約が与えLLMの出 力 を誘導 プロンプトの基本構造 ref. https://www.cloudskillsboost.google/course_templates/1132/video/498159 より期待した結果が得られるナレッジとしてガイドラインも登場するように ref. https://archive.org/details/whitepaper-prompt-engineering-v-4
  4. Tools( 行 動の実現) 10 単なる情報提供を超えてLLMの有 用 性を真に拡張し、リアルタイムな外部環境との対話へ 外部の機能やAPI(例: 計算ツール、データ取得ツール)を呼び出し、LLMと外部ツールを連携 ref.

    https://zilliz.com/blog/function-calling-vs-mcp-vs-a2a-developers-guide-to-ai-agent-protocols 例: 天気予報を取得するために、天気APIを呼び出す ※2023年6 月 にGPT-3.5-turboおよびGPT-4でFunction Callingとして登場
  5. MCPの主要機能 16 MCPは主にResources, Tools, Promptsの3つの主要機能を提供する Resources Tools Prompts 概要 AI

    モデルが参照できるデータやコンテンツを提 供 AI モデルが実 行 できる関数やアクションを提 供。単純なテキスト 生 成だけでは不 十 分な場合 に、外部システムと対話するための機能を提供 AI モデルの応答を形作るテンプレート。適切な プロンプトは、汎 用 的なテキストではなく、正確 で有 用 な結果を得るための鍵になる 例 • ファイルシステム上のファイル • データベース内のデータ • Google Drive 上のドキュメント • Git リポジトリのコード • 計算の実 行 • 外部 API の呼び出し • データベースクエリの実 行 • ファイル操作の実 行 • システム指 示 :「あなたはプログラミング教師 です。初 心 者にも分かりやすく説明してくださ い」のように、AI の役割や応答スタイルを定義 • コンテキスト付きの質問:「このコードの問題 点を 見 つけて」という質問に、実際のコード ファイルを添付して具体的な回答を得る コード例 ref. https://zenn.dev/cloud_ace/articles/model-context-protocol, https://zenn.dev/taku_sid/articles/20250331_mcp_guide
  6. MCPのトランスポートレイヤー 17 Clinet⇔Serverをやりとりするトランスポート層はStdioとStreamable HTTPが対応 データプロトコルはJSON-RPC 2.0を使いメッセージを交換 ref. https://modelcontextprotocol.io/docs/concepts/architecture stdio streamable

    HTTP Standard Input/Output、標準 入 出 力 。MCP ClientとMCP Serverが同 一 端末上で動作してい る場合に利 用 可能な通信 方 法。 →ローカル実 行 に最適 MCP ClientとMCP Serverがネットワークを介して通信 することができる通信 方 法。リモートにMCP Serverを 用 意して通信できる。 →リモート実 行 に最適 簡単に 言 えば、JSONは「データそのもの」を表現するための 言 語であり、JSON-RPCは「JSONという 言 語を使って、リモートのプログラムに命令を送り、結果を 受け取るための会話のルール」であると 言 えます。JSON-RPCは、JSONという基盤の上に構築された、より具体的な通信プロトコルです。 ※「サーバー」という 用 語を聞くと「クラウドに配置された何か」を連想するかもしれませんが、ここでいうサーバーは「クライアントの 入力 に対して処理をする」程度の意味合いで配置 場所の意味は含まれません。
  7. MCP Clientの例 19 Claude Desktop, IDEs, Coding Agentでの利 用 が簡単で利

    用 者も多い(はず) Client Library, Firebase GenKitなどコードベースでの利 用 も可能 AI assistant apps AI-powered IDEs Claude Desktop etc… VS Code, Cursor, Windsurf etc… ref. https://modelcontextprotocol.io/clients
  8. MCP Serverの例 20 公式・ 非 公式含めビジネスツールから開発系、データ分析など幅広く対応が進められている LLMの 手足 となる外側のリソースなので、MCP Clientに

    比 べて圧倒的に数が多い Cline Marketplaceでも探せる ref. https://cline.bot/mcp-marketplace ref. https://blog.bytebytego.com/p/ep163-12- mcp-servers-you-can-use 開発でよく使うこの辺も公式対応 されはじめている • Supabase MCP Server • Terraform MCP Server
  9. デモ 23 TheCatAPIをMCPのToolsで呼び出し、ネコ画像を取得する簡単なMCPサーバーの例 without MCP with MCP そもそも画像提供はきず、HTML(SVGイラスト)で矩形の組み合わせ猫 を出 力

    するのが限界 外部APIを参照しているのでリアル猫画像を取得して出 力 できる ref. https://zenn.dev/kazuwombat/articles/d8789724f10092
  10. 良いなと思ったユースケース例①: GitHub MCP 24 東急のURBAN HACKSでのAI駆動開発の例 タスク分解×issue作成で、順序 立 ててAgentに指 示

    を与えることで意図したコード出 力 へ誘導 1. タスク分解 2. 分解したタスクをIssueに登録 3. Issueを参照して開発&PR作成 ref. https://github.com/Nao-Mk2/nao_github_copilot_lab/issues/2
  11. 良いなと思ったユースケース例②: Ubie UI MCP 25 Ubie社のデザインシステムをベースにUI実装を爆速にした記事が話題に デザインシステムが整っている会社ほど効果的 面 で、スキル差を吸収して統 一

    したデザインで開発できる ref. https://zenn.dev/ubie_dev/articles/f927aaff02d618 細かいところはよく 見 ると違うが、UIのトンマナはもち ろんデザイン原則も遵守している 用 に 見 えて80点はで ていそう Figma MCP Ubie UI MCP 1. Figmaデザインの取得 2. コンポーネント情報やトーク ン、アイコン情報を取得 3. 実装の提案
  12. MCP でのセキュリティ 26 pipやnpmといったパッケージ管理システムと同様、よくわからないMCP Serverは使わない Brave Search MCP Serverの設定例 Clientに平

    文 ではなくIDEの機能を使って外部から差 し込める。VS CodeならVariable Referenceという 記法が使え安全に管理できる。 GMO社によるMCPにおけるセキュリティ考慮事項と実装に おける観点(前編) https://blog. fl att.tech/entry/mcp_security_ fi rst MCP Client MCP Server Good👍
  13. まとめ 27 • MCPはAnthoropic社が提唱したオープンプロトコルでAgent時代の重要なインタフェースである • MCPはLLMの外部アクセス需要の 高 まりとそれに伴う複雑さや運 用 不可の課題から

    生 まれた • MCPにはHost・Client・Serverがあり、開発レスでもすぐに試すことができる • MCP Serverには公式・ 非 公式含めビジネスツールから開発系、データ分析など幅広く対応が進められ 自 由にアドオンできる • MCP Serverの中には脆弱なものや危険なものもあるため、必ず開発元をチェックしてからインストールする • 現在は業務や開発 工 程での利 用 が 目立 つがプロダクトを通したUXも今後変わってくるだろう
  14. References 28 • https://x.com/shanegJP/status/1925098554844184878 • The Great AI Agent Protocol

    Race: Function Calling vs. MCP vs. A2A ◦ https://zilliz.com/blog/function-calling-vs-mcp-vs-a2a-developers-guide-to-ai-agent-protocols • https://blog.cloudnative.co.jp/27994/ • Model Context Protocol (MCP) Explained ◦ https://humanloop.com/blog/mcp • AI deployment made easy: Deploy your app to Cloud Run from AI Studio or MCP-compatible AI agents ◦ https://cloud.google.com/blog/products/ai-machine-learning/ai-studio-to-cloud-run-and-cloud-run-mcp-server?hl=en • MCPの動作確認やデバッグにはPostmanを使おう ◦ https://qiita.com/nagix/items/712672a7bc741eef03aa • MCPにおけるセキュリティ考慮事項と実装における観点(前編) ◦ https://blog. fl att.tech/entry/mcp_security_ fi rst#MCP-Server
  15. FAQ 29 Q. MCPとは何ですか? MCP(Model Context Protocol)は、 大 規模 言

    語モデル(LLM)と外部ツールを連携させるためのオープンプロトコルです。AI業界における「USB-Cポート」とも称され、異なるAIモデルやツール間の相互運 用 性を 高 めることを 目 的としています。Anthropic社 によって2024年11 月 に提唱され、現在ではデファクトスタンダードになりつつあります。 Q. MCPが登場した背景は何ですか? ChatGPTの登場以来、LLMは急速に普及しましたが、ハルシネーション(事実に基づかない出 力 )や静的な知識ベースという課題がありました。これを克服するために、外部から情報を取得するRAG(Retrieval Augmented Generation)や、外部の機能やAPI を呼び出すTool Callingが登場しました。しかし、多様なAIモデルと多数の外部ツールを接続する際に発 生 する指数関数的な複雑さ(M×N統合問題)が新たな課題となりました。MCPは、この複雑さを解消し、AIシステムが外部環境と効率的に対話するための標準 的なフレームワークを提供するために 生 まれました。 Q. MCPのアーキテクチャはどのようになっていますか? MCPは、Host、Client、Serverから構成されるシンプルなクライアントサーバー構造をとっています。Serverは要件に合わせてローカルまたはリモートに配置可能です。既存のMCPを利 用 する場合、通常クライアントはホスト内に組み込まれたコンポーネントとし て存在するため、クライアントを意識する必要はほとんどありません。 Q. MCPはどのような機能を提供しますか? MCPは主に以下の3つの主要機能を提供します。 Resources: AIモデルが参照できるデータやコンテンツを提供します。ファイル、データベース内のデータ、ドキュメントなどが含まれます。 Tools: AIモデルが実 行 できる関数やアクションを提供します。計算の実 行 、外部APIの呼び出し、データベースクエリなどが含まれ、LLMが外部システムと対話することを可能にします。 Prompts: AIモデルの応答を形作るテンプレートを提供します。AIの役割や応答スタイルを定義したり、コンテキスト付きの質問を可能にします。 MCPの通信 方 法にはどのようなものがありますか? MCPのClientとServer間の通信には、主にStdioとStreamable HTTPの2つのトランスポート層が対応しています。Stdioは、ClientとServerが同 一 端末上で動作する場合に利 用 される標準 入 出 力 を 用 いた 方 法で、ローカル実 行 に最適です。Streamable HTTPは、 ネットワークを介してClientとServerが通信する 方 法で、リモート実 行 に最適です。データプロトコルにはJSON-RPC 2.0が使 用 され、メッセージの交換を 行 います。 Q. MCPはどのような場 面 で利 用 されていますか? MCPは現在、Claude DesktopのようなAIアシスタントアプリや、VS Code、Cursor、WindsurfといったAIパワードIDEでの利 用 が進んでいます。コードベースでの利 用 も可能で、Client LibraryやFirebase GenKitなどがあります。また、公式・ 非 公式を含め、 ビジネスツール、開発ツール、データ分析ツールなど、様々な分野でMCP Serverが開発・利 用 されており、LLMの「 手足 」として機能しています。具体的なユースケースとしては、GitHubリポジトリの操作、SupabaseやTerraformとの連携、デザインシステムに 基づいたUI実装の 自 動化などが挙げられます。 Q. MCP Serverを利 用 する際の注意点はありますか? MCP Serverは様々な開発元から提供されており、中には脆弱性を持つものや危険なものが存在する可能性があります。pipやnpmのようなパッケージ管理システムと同様に、開発元をしっかりと確認し、信頼できるMCP Serverを利 用 することが重要です。セキュリ ティを考慮した実装や、安全な秘密情報の管理(例えばVS CodeのVariable Referenceのような仕組みを利 用 )も推奨されています。 Q. MCPの今後の展望はどのようなものですか? MCPは、LLMが外部環境と対話するための標準プロトコルとして、Agent時代の重要なインターフェースになると考えられています。A2A(Agent to Agent)プロトコルなどが普及し、AI Agentの数が増加すれば、AgentがツールとしてMCPを利 用 する機会も増 え、MCPの使 用 頻度も増加していくと予想されます。現在は業務や開発プロセスでの利 用 が 目立 ちますが、将来的にはプロダクトを通じたユーザー体験もMCPによって 大 きく変わる可能性があります。
  16. MCPのデバッグ 31 xxxx 公式ツールのMCP Inspector ref. https://github.com/modelcontextprotocol/inspector Postmanも2025年4 月 23

    日 にリリースされMCP対応に ref. https://qiita.com/nagix/items/712672a7bc741eef03aa
  17. 32