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
2k
AWS上でMCPを安全に使いたい ~Mastraを添えて~
Har1101
April 21, 2025
Tweet
Share
More Decks by Har1101
See All by Har1101
Jr.Championsもいいけど、Community Buildersもね!
har1101
2
210
AgentCoreで始めるAmbient Agent
har1101
3
130
AgentCore×非同期実行で広がる、Ambient Agentの可能性
har1101
2
64
「OutputOps」なエージェントを作りたかった…~エージェント開発Tipsを添えて~
har1101
3
130
Strands Agents SDKのAgent Graphへ入門してみよう!
har1101
5
360
まだ間に合う!Strands Agents SDKの入門からちょっと応用気味なところまで
har1101
2
260
Bedrock AgentCoreを使って簡単なチャットアプリを作ってみた!
har1101
8
1.2k
私たちはなぜAWS Summitに参加するのか?
har1101
1
480
Bedrockのプロンプト管理どうしてる?
har1101
7
1.2k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Done Done
chrislema
186
16k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
How STYLIGHT went responsive
nonsquared
100
5.9k
Building Applications with DynamoDB
mza
96
6.8k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Code Review Best Practice
trishagee
72
19k
Navigating Team Friction
lara
190
16k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.1k
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なエージェントを作成できる!?