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のあれこれを認証込みで使いたい
Search
takas
May 25, 2025
Technology
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MCPのあれこれを認証込みで使いたい
2025年の.NETラボLTで発表した資料
デモのコード:
https://github.com/Takas0522/dotnetlab-demos/tree/main/2025/05
takas
May 25, 2025
More Decks by takas
See All by takas
インサイト情報からどこまで自動化できるか試してみた
takas0522
0
270
GitHub Codespacesの概要
takas0522
0
190
MCPのResourceにBlob Storageを使いたい
takas0522
0
58
Microsoft Season of Agent AI エージェントの使用開始
takas0522
0
270
AzureでFeature Flagの運用をしてみよう
takas0522
0
160
(今更)WingetでPC移行をしたお話
takas0522
0
200
Microsoft Playwright TestingのReporting機能を使ってみる
takas0522
0
57
Windows TerminalでAIを使おう!
takas0522
0
100
Semantic KernelとStructured OutputsでAI Orchestrationしてみる
takas0522
0
300
Other Decks in Technology
See All in Technology
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
110
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
0
400
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
220
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1.1k
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
570
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
490
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
190
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
420
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
320
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
17
17k
LLMアプリ、 雰囲気で運用してませんか? 〜LLMOpsの現在地〜
taka_aki
1
630
承認ゲートは何を守っているのか? AIエージェントの自律購入を実測した結果
yama3133
1
100
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
960
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Building the Perfect Custom Keyboard
takai
2
860
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Product Roadmaps are Hard
iamctodd
55
12k
Mind Mapping
helmedeiros
PRO
1
340
Evolving SEO for Evolving Search Engines
ryanjones
0
270
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
760
Transcript
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい MCPのあれこれを認証込みで使いたい 2025.05.NETラボ
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 誰? Takas(@DevTakas) Angular / Azure / .NET /
CICD / Microsoft Graph Microsoft MVP M365 and Developer Technologies
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 認証欲しくね…?
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい ユースケースとして • MCPサーバーの提供側になる場合 • ウチのサービスを元ネタにする場合は公開して良いデータはない • ウチのサービスを使える人が使える •
その人が見れるデータを参照できる • チャットツールをウチが提供する場合 • MCPを利用することで外部サービスの情報を簡単に享受できる • ただし、上記の通り認証で保護されているリソースの可能性有
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい MCP Serve/Clientを作ろう 認証ができる
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい ベース • 基本的にかずきさんのZenn見ればベースラインはできる • Kazuki Otaさんの記事一覧 | Zenn
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい ここからの内容 • 公式で提供されているやり方ではない • GitHubのテストコードや実装見て予想して構築した • 実装時にべスプラが提供されている可能性があるので公式リポ ジトリは一回見てみましょう
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 認証をどのように実装するか(Server) • ASP.NETをベースに実装されているので、問答無用で通信時に 認証を行うミドルウェアを差し込んでやる • なのでASP.NETの一般的な方法で保護可能 • 多くはAuthorization属性使うので一般的かは微妙かもだけど…
• Functionsの実装も同様 • 今回のデモはASP.NETのほうベースで作成した
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 認証をどのように実装するか(Client) • MCP Client作成時にTransportを指定する • csharp-sdk/src/ModelContextProtocol/Protocol/Transport/SseClientTransport.cs at main
· modelcontextprotocol/csharp-sdk • TransportクラスのコンストラクタでHttpClientがnewされているが引 数としても受け取ることができる
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 認証をどのように実装するか(Client) • テストでもHttpClientを食わせているのを確認できる • csharp- sdk/tests/ModelContextProtocol.AspNetCore.Tests/MapMcpTests. cs at
c750f09e9770ccc8c98b61d1b0f21ae159793042 · modelcontextprotocol/csharp-sdk • 実態もただの(?)HttpClientのSendAsyncっぽい • csharp- sdk/src/ModelContextProtocol/Protocol/Transport/StreamableHttp ClientSessionTransport.cs at main · modelcontextprotocol/csharp- sdk
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 認証をどのように実装するか(Client) • つまり通信時に認証のための処理を実施する処理をHttpClient 作成時にDelegateHandlerで指定すればよさそう • そのHttpClientをTrasportクラス利用時に指定する • ASP.NETとかAzureサーバー上でドキュメントのサンプル通りに作成
するとHttpソケットの枯渇が発生しそうというのがわかる
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい デモ
Takas(@DevTakas) MCPのあれこれを認証込みで使いたい 参考文献 • https://modelcontextprotocol.io/ • https://zenn.dev/okazuki • https://learn.microsoft.com/ja- jp/aspnet/core/security/authorization/policies?view=aspnetcore-
9.0 • https://philippbauknecht.medium.com/authentication- authorization-in-azure-functions-with-azure-active-directory- using-c-net-aad52c8de925 • https://learn.microsoft.com/ja- jp/aspnet/core/fundamentals/middleware/write?view=aspnetcor e-9.0