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
AWS上でMCPを安全に使いたい ~Mastraを添えて~
Search
Har1101
April 21, 2025
7
1.9k
AWS上でMCPを安全に使いたい ~Mastraを添えて~
Har1101
April 21, 2025
Tweet
Share
More Decks by Har1101
See All by Har1101
Strands Agents SDKのAgent Graphへ入門してみよう!
har1101
5
240
まだ間に合う!Strands Agents SDKの入門からちょっと応用気味なところまで
har1101
2
200
Bedrock AgentCoreを使って簡単なチャットアプリを作ってみた!
har1101
8
730
私たちはなぜAWS Summitに参加するのか?
har1101
1
440
Bedrockのプロンプト管理どうしてる?
har1101
6
1k
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.8k
Ambient Agent on AWS!
har1101
3
640
Bedrockエージェントにおける MCP利用ケースについて考えてみる
har1101
4
610
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
7
2.6k
Featured
See All Featured
Visualization
eitanlees
148
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How STYLIGHT went responsive
nonsquared
100
5.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
GitHub's CSS Performance
jonrohan
1032
460k
The Cult of Friendly URLs
andyhume
79
6.6k
Code Reviewing Like a Champion
maltzj
525
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Transcript
AWS上でMCPを安全に使いたい ~Mastraを添えて~ 2025/04/21 (月) JAWS-UG AI/ML #25 Generative AI/ML LT大会
福地開
Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社
年次:3年目 業務:インフラエンジニア(AWS) 活動:ITなんでも勉強会「つながりテック」 運営 表彰:AWS Community Builders(AI Engineering)
MCP、使ってますか?
MCPとは? ◆MCP: Model Context Protocol ◆LLMアプリと外部サービスを連携しやすくするもの →「こうやって接続してね、よそのサービスも同じ感じだよ」な 感じの統一されたインターフェース
MCPの課題 ◆ステートフルアーキテクチャ • MCPクライアントとMCPサーバーの間で、永続的な接続を前提 • つまり、コンテナや仮想マシンなどが必要 • サーバーレス構成(AWS Lambdaなど)で使いづらい (Streamable
HTTP対応で解消される?) ◆セキュリティ • MCPクライアントにMCPサーバーの設定を入れれば 誰でも利用可能 • 今のところローカルでの利用がメインだが、 認証認可の仕組みが発展途上
AWSで、よりMCPをセキュアに使う
Lambda MCP サーバー ◆AWS公式が提供しているMCPサーバー • MCPクライアントとAWS Lambda関数間のブリッジとして機能し、 生成AIモデルがLambda関数をツールとしてアクセスして実行できるようになる • パブリックに公開することなく、モデルがツールを利用できる
• Bedrock Agentのアクショングループと同じ感じで使えるものという理解をしている 参考:https://github.com/awslabs/mcp/blob/main/src/lambda-mcp-server/README.md
Lambda MCP サーバーのセキュリティ ◆MCPサーバーとツール(Lambda関数)を分離する • MCPクライアントにはツールを呼び出すためのAWS認証情報のみ付与する →クライアントからの他AWSサービスの操作・ネットワークへのアクセスを根本的に防止 →クライアント単位での権限制御により、きめ細やかなセキュリティ分離を実現 • ツールは関数ロールを使用して、リソース操作を行う
→ツール側に認証情報などを持たせることで、さらにセキュリティ向上が見込める
◆AWS上で完結するMCP搭載アプリケーション • Mastra×Lambda Web AdapterをMCPクライアントとする • Lambda MCPサーバーを使う • それぞれのLambdaで関数ロールを設定し、権限制御
• これで完璧なMastra×MCPエージェントの完成! 今回やってみたかったこと
◆AWS上で完結するMCP搭載アプリケーション • Mastra×Lambda Web AdapterをMCPクライアントとする • Lambda MCPサーバーを使う • それぞれのLambdaで関数ロールを設定し、権限制御
• これで完璧なMastra×MCPエージェントの完成! 今回やってみたかったこと 上手くいきませんでした…すみませんmm
できたこと
◆ECSでも、Lambda Web Adapterでも、お好みで ◆ストリーミングレスポンス対応、MCPももちろん使える! Mastra × Next.jsのデプロイ
◆Lambda Web Adapterの良いところ: 非Lambda用のWebアプリをそのままLambda上で動かせる ◆必要なもの:以下1行 Mastra × Next.jsのデプロイ 参考:https://speakerdeck.com/tmokmss/aws-lambda-web-adapterwohuo-yong-suruxin-siisabaresunoshi-zhuang-patan
Mastra上でMCPの設定 この辺は定型文 (場合によってはuvxのパスを指定する) 環境変数を指定 FUNCTION_LISTのところで関数名を 指定しておくと、ツールとして自動で 登録される(便利!!)
できなかったこと
◆Claude Desktopからはうまくいく Mastra上からツールにクエリが上手くいかない…
◆Mastra上だと上手くいかない… Mastra上からツールにクエリが上手くいかない…
◆ドキュメントに存在しない… ◆Lambdaは独自のインターフェースがあるので、 それをどう実装するか…? Mastra単体でLambda上にデプロイする方法が不明
AWS×MCPの可能性(もとい、妄想)
◆Ambientエージェント: ユーザーからの入力等がなくても、より自律的に動くAI ◆今作りたいのはこんな感じ…乞うご期待! AWSでAmbientなエージェントを作成できる!?