Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MCPのあれこれを認証込みで使いたい
Search
takas
May 25, 2025
Technology
57
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
280
GitHub Codespacesの概要
takas0522
0
200
MCPのResourceにBlob Storageを使いたい
takas0522
0
64
Microsoft Season of Agent AI エージェントの使用開始
takas0522
0
280
AzureでFeature Flagの運用をしてみよう
takas0522
0
170
(今更)WingetでPC移行をしたお話
takas0522
0
200
Microsoft Playwright TestingのReporting機能を使ってみる
takas0522
0
66
Windows TerminalでAIを使おう!
takas0522
0
100
Semantic KernelとStructured OutputsでAI Orchestrationしてみる
takas0522
0
310
Other Decks in Technology
See All in Technology
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
4
680
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.9k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.1k
AI時代、データエンジニアが一番おもろい
genshun9
0
680
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
120
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
190
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
30
18k
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
Goodbye ShellScript, Hello File-based App
shunsock
0
530
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
30k
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
3.4k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Skip the Path - Find Your Career Trail
mkilby
1
230
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Google's AI Overviews - The New Search
badams
0
1.6k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
260
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
The SEO Collaboration Effect
kristinabergwall1
1
570
Design in an AI World
tapps
1
320
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