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
6
740
AWS上でMCPを安全に使いたい ~Mastraを添えて~
Har1101
April 21, 2025
Tweet
Share
More Decks by Har1101
See All by Har1101
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
970
Amazon Bedrock Agentsのマルチエージェント機能で競馬予想アプリ作ってみた!
har1101
5
810
re:Inventのアップデートを使ってRAGアプリ開発とRAGOpsに入門してみた!
har1101
1
280
BedrockのナレッジベースとLlamaIndexでGraphRAGを作って精度比較してみた!
har1101
3
440
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
740
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
510
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Docker and Python
trallard
44
3.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Visualization
eitanlees
146
16k
Automating Front-end Workflow
addyosmani
1369
200k
Why Our Code Smells
bkeepers
PRO
336
57k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.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なエージェントを作成できる!?