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

MCP開発のリアル_Machine Learning 15minutes!

MCP開発のリアル_Machine Learning 15minutes!

第104回 Machine Learning 15minutes! Hybridで登壇したスライドです

Avatar for 小島舞子 / Maiko Kojima

小島舞子 / Maiko Kojima

September 01, 2025
Tweet

Other Decks in Programming

Transcript

  1. 株式会社クラフター(旧:チャットブック)代表取締役 iU情報経営イノベーション専門職大学 客員教授 一般社団法人生成AI活用普及協会(GUGA)協議員 一般社団法人Women AI Initiative Japan理事 NPO法人Waffle ビジネス開発講座 指南役 Newspicks 法人向けAIのプロピッカー

    Forbes Japan Women in Tech 30選出 早稲田大学在学中の 2010年にスタートアップを共同創業し、副代表兼 CTOと して30本以上のiOS /Androidアプリを開発。累計500万人超のユーザーに利 用される。2016年に株式会社クラフターを設立。マーケティング特化型チャッ トボット「CraftChat」を開発し、300社以上の法人に導入。 2022年7月、同社を マネックスグループへ売却。 2023年6月には、社内資料を安全に参照できる 企業向け生成AIプラットフォーム「Crew(クルー)」をリリース。 『企業競争力を高めるための生成 AIの教科書』出版(Gakken) 趣味:読書(図書館)、海外旅行、オーケストラ鑑賞 自己紹介:小島舞子 maikokojima
  2. © 2025 Crafter, Inc. All rights reserved. Before:Function Callingで個別実装 Function

    Callingの問題点: • サービスごとに定義・管理がバラバラ ◦ 例えばNotion、Asana、Slackなど、呼び出すたびに個別の関数定義を書き、認証やエラー ハンドリングを繰り返す。 • 運用の手間があった ◦ 仕様変更やAPIアップデートがあると、それぞれの関数呼び出しコードを修正する必要があ る。 ◦ 認証トークンやセキュリティ設定もサービスごとに別管理。
  3. © 2025 Crafter, Inc. All rights reserved. 理想:MCPサーバと接続して簡単呼び出し! • MCPサーバ=APIを公式で実装してくれているようなもの

    ◦ すべての外部サービスを「 MCPサーバー」として定義でき、クライアントからは統一インター フェースで呼び出せる。 ◦ つまり「Notion専用関数」「Asana専用関数」といった実装が不要になる。 • 一元的な認証とセキュリティ ◦ IAMやOAuthなど、サーバー側に共通の認証・権限管理を組み込める。 ◦ ログや利用履歴もMCPサーバーでまとめて監査できる。 • 拡張と保守が容易 ◦ 新しいサービスを追加したい時は、 MCPサーバーを1つ立てればOK。 ◦ クライアント側のコード変更は最小限で済む。 • 複数クライアント対応 ◦ ClaudeやCursor、自社開発のクライアントなど、異なるクライアントから同じ MCPサーバー を利用可能。 ◦ つまり「API連携の窓口」を共通化できる。
  4. © 2025 Crafter, Inc. All rights reserved. 問題①:公式 MCPサーバーがノラ接続を許可していない 例:Asana

    公式のMCPサーバーを提供しているが、 RemoteでOAuth認証するにはAllowlistしか許されていない 連携したいホストは、 Allowlist Requestを送る必要がある ※現在許されているのは CursorとClaudeのみ →超高難易度ゲーム (「無理ゲーを丁寧に言って」と伝えた Crew版表現)
  5. © 2025 Crafter, Inc. All rights reserved. MCPクライアントのライフサイクル概要 • Connection

    Establishment ◦ MCPクライアントがサーバーへ接続( stdio、HTTP、WebSocketなど) ◦ 双方で機能やプロトコルバージョンを確認・交渉 • Capability Discovery ◦ クライアントがサーバーに利用可能なリソースやツール、プロンプトを問い合わせ ◦ サーバーの提供機能を把握 • Active Communication ◦ クライアントがリソース取得、ツール実行、プロンプト利用などのリクエストを送信 ◦ サーバーがデータ返却や処理を実行 • Resource Management ◦ セッション中にリソースの更新通知を受信 ◦ 永続的な状態や認証トークンの管理 • Graceful Termination ◦ セッション終了時に接続を適切にクローズ ◦ 双方でリソース解放やデータ整合性を確保 https://modelcontextprotocol.io/specification/2025-03-26/basic/lifecycle
  6. © 2025 Crafter, Inc. All rights reserved. MCPクライアントとサーバのホスティング • 通信方法

    ◦ Stdio ▪ サブプロセスとして起動し、標準入力 /標準出力で通信 ▪ デスクトップアプリ向きだが、クラウド運用には不向き ◦ Streamable HTTP ▪ HTTP経由で通信 ▪ DockerやAWS Lambdaなどサービスとして稼働可能 • 運用方法 ◦ Dockerコンテナ ▪ MCPサーバーごとにDockerイメージを作成 ▪ ローカル/開発環境に適する ▪ 応答速度が速い ◦ AWS Lambda ▪ SAMを使ってデプロイ、Lambda Web AdapterでHTTPサーバー化 ▪ Function URLがストリーミング対応済み ▪ 高いスケーラビリティと低運用コスト
  7. © 2025 Crafter, Inc. All rights reserved. MCPクライアントのフレームワーク • LangChain

    MCP Adapters ◦ LangChainやLangGraphでMCPツールを簡単に利用可能にする公式パッケージ ◦ 複数のMCPサーバーからツールを取得し、エージェントに統合 ◦ 例:計算サーバーや天気サーバーなど、用途ごとにサーバーを分けて接続 • OpenAI Agents SDK with MCP ◦ OpenAI公式のエージェントSDKはMCPをネイティブサポート ◦ MCPサーバーのツールを自動で取得し、エージェントに組み込み ◦ Web検索やコード実行、画像生成などの組み込みツールとも連携可能 ◦ liteLLMを使えば他社LLMも利用可能
  8. © 2025 Crafter, Inc. All rights reserved. 今後やらなきゃいけなさそうなこと • Authentication

    ◦ OAuth対応、スコープやアクセス権の管理 • Admin Function ◦ MCPサーバー連携時により多くの情報をメタデータに追加する ◦ 追跡や監査ログ • Multi-Server Flow ◦ 複数のMCPサーバーと連動してワークフローを組む ◦ エラーハンドリング対応
  9. © 2025 Crafter, Inc. All rights reserved. まとめ • 公式MCPサーバーはほとんど全てがPoC中!

    • 困ったらMCPライフサイクル概要を読むべし! • 便利なフレームワークを使おう • 『企業競争力を高めるための生成AIの教科書』 8月7日刊行!本を買ってね! https://amzn.asia/d/9mZuJzo