Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MCP開発のリアル_Machine Learning 15minutes!
Search
小島舞子 / Maiko Kojima
September 01, 2025
Programming
100
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MCP開発のリアル_Machine Learning 15minutes!
第104回 Machine Learning 15minutes! Hybridで登壇したスライドです
小島舞子 / Maiko Kojima
September 01, 2025
More Decks by 小島舞子 / Maiko Kojima
See All by 小島舞子 / Maiko Kojima
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
1.2k
Other Decks in Programming
See All in Programming
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
130
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.9k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
220
「人を評価する AI」の設計と実装
ryoyanara
0
220
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
MySQLとPostgreSQLって何が違うの?
akagami
0
120
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
5k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
Hono + Inertia + React で LP を構築した話
oukayuka
2
130
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
270
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
350
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
310
WENDY [Excerpt]
tessaabrams
11
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
エンジニアに許された特別な時間の終わり
watany
108
250k
Google's AI Overviews - The New Search
badams
0
1.1k
Thoughts on Productivity
jonyablonski
76
5.3k
Practical Orchestrator
shlominoach
191
12k
Facilitating Awesome Meetings
lara
57
7.1k
Unsuck your backbone
ammeep
672
58k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Transcript
世界を自動化して人生に楽しさと自由を
株式会社クラフター(旧:チャットブック)代表取締役 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
© 2025 Crafter, Inc. All rights reserved. MCPとは?
© 2025 Crafter, Inc. All rights reserved.
© 2025 Crafter, Inc. All rights reserved. 発端:Crew上からMCPサーバと接続したい! • Crewは、法人・自治体が安全に生成AIの利用を支援
• 長野県、箕面市、他複数の自治体・企業に導入
© 2025 Crafter, Inc. All rights reserved. Before:Function Callingで個別実装 Function
Callingの問題点: • サービスごとに定義・管理がバラバラ ◦ 例えばNotion、Asana、Slackなど、呼び出すたびに個別の関数定義を書き、認証やエラー ハンドリングを繰り返す。 • 運用の手間があった ◦ 仕様変更やAPIアップデートがあると、それぞれの関数呼び出しコードを修正する必要があ る。 ◦ 認証トークンやセキュリティ設定もサービスごとに別管理。
© 2025 Crafter, Inc. All rights reserved.
© 2025 Crafter, Inc. All rights reserved. 理想:MCPサーバと接続して簡単呼び出し! • MCPサーバ=APIを公式で実装してくれているようなもの
◦ すべての外部サービスを「 MCPサーバー」として定義でき、クライアントからは統一インター フェースで呼び出せる。 ◦ つまり「Notion専用関数」「Asana専用関数」といった実装が不要になる。 • 一元的な認証とセキュリティ ◦ IAMやOAuthなど、サーバー側に共通の認証・権限管理を組み込める。 ◦ ログや利用履歴もMCPサーバーでまとめて監査できる。 • 拡張と保守が容易 ◦ 新しいサービスを追加したい時は、 MCPサーバーを1つ立てればOK。 ◦ クライアント側のコード変更は最小限で済む。 • 複数クライアント対応 ◦ ClaudeやCursor、自社開発のクライアントなど、異なるクライアントから同じ MCPサーバー を利用可能。 ◦ つまり「API連携の窓口」を共通化できる。
© 2025 Crafter, Inc. All rights reserved. しかし、現実は甘くない …
© 2025 Crafter, Inc. All rights reserved. 問題①:公式 MCPサーバーがノラ接続を許可していない 例:Asana
公式のMCPサーバーを提供しているが、 RemoteでOAuth認証するにはAllowlistしか許されていない 連携したいホストは、 Allowlist Requestを送る必要がある ※現在許されているのは CursorとClaudeのみ →超高難易度ゲーム (「無理ゲーを丁寧に言って」と伝えた Crew版表現)
© 2025 Crafter, Inc. All rights reserved. 問題②:詳細なアクセス権限の管理が難しい • ユーザーがMCPサーバーからコールしたデータを取得する際、各ユーザーで細かく権限分けす
ることができない • 組織の情報は取得できるが、それ以外の Metadataの取得と内包が難しい
© 2025 Crafter, Inc. All rights reserved. 解決方法: MCP全体を自社ホストでカスタマイズしよう
© 2025 Crafter, Inc. All rights reserved. Crew MCP Overview
Chat Output Authentication
© 2025 Crafter, Inc. All rights reserved. Crew MCP Overview
© 2025 Crafter, Inc. All rights reserved. 実装前の基本!
© 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
© 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がストリーミング対応済み ▪ 高いスケーラビリティと低運用コスト
© 2025 Crafter, Inc. All rights reserved. MCPクライアントを 0から作るよりも フレームワークがあるよ!
© 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も利用可能
© 2025 Crafter, Inc. All rights reserved. 今後やらなきゃいけなさそうなこと • Authentication
◦ OAuth対応、スコープやアクセス権の管理 • Admin Function ◦ MCPサーバー連携時により多くの情報をメタデータに追加する ◦ 追跡や監査ログ • Multi-Server Flow ◦ 複数のMCPサーバーと連動してワークフローを組む ◦ エラーハンドリング対応
© 2025 Crafter, Inc. All rights reserved. まとめ • 公式MCPサーバーはほとんど全てがPoC中!
• 困ったらMCPライフサイクル概要を読むべし! • 便利なフレームワークを使おう • 『企業競争力を高めるための生成AIの教科書』 8月7日刊行!本を買ってね! https://amzn.asia/d/9mZuJzo