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
48
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
180
MCPのResourceにBlob Storageを使いたい
takas0522
0
57
Microsoft Season of Agent AI エージェントの使用開始
takas0522
0
260
AzureでFeature Flagの運用をしてみよう
takas0522
0
140
(今更)WingetでPC移行をしたお話
takas0522
0
180
Microsoft Playwright TestingのReporting機能を使ってみる
takas0522
0
53
Windows TerminalでAIを使おう!
takas0522
0
96
Semantic KernelとStructured OutputsでAI Orchestrationしてみる
takas0522
0
290
Other Decks in Technology
See All in Technology
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
520
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
120
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
1
820
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.6k
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
530
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
11
4k
DatabricksにおけるMCPソリューション
taka_aki
1
280
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
320
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
180
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
140
SRE Next 2026 何でも屋からの脱却
bto
0
1k
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
450
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
WENDY [Excerpt]
tessaabrams
11
38k
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
350
Discover your Explorer Soul
emna__ayadi
2
1.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
260
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
400
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
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