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
0
16
MCPのあれこれを認証込みで使いたい
2025年の.NETラボLTで発表した資料
デモのコード:
https://github.com/Takas0522/dotnetlab-demos/tree/main/2025/05
takas
May 25, 2025
Tweet
Share
More Decks by takas
See All by takas
MCPのResourceにBlob Storageを使いたい
takas0522
0
10
Microsoft Season of Agent AI エージェントの使用開始
takas0522
0
150
AzureでFeature Flagの運用をしてみよう
takas0522
0
18
(今更)WingetでPC移行をしたお話
takas0522
0
34
Microsoft Playwright TestingのReporting機能を使ってみる
takas0522
0
10
Windows TerminalでAIを使おう!
takas0522
0
29
Semantic KernelとStructured OutputsでAI Orchestrationしてみる
takas0522
0
200
Semantic KernelとBingサーチ-202405
takas0522
0
47
Microsoft Playwright Testingを使ってみよう
takas0522
0
380
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
IIWレポートからみるID業界で話題のMCP
fujie
0
360
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
Securing your Lambda 101
chillzprezi
0
280
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
230
vLLM meetup Tokyo
jpishikawa
1
240
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
880
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
150
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
180
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
130
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
200
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Site-Speed That Sticks
csswizardry
10
640
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Statistics for Hackers
jakevdp
799
220k
Designing for humans not robots
tammielis
253
25k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
Raft: Consensus for Rubyists
vanstee
140
7k
Scaling GitHub
holman
459
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Balancing Empowerment & Direction
lara
1
300
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
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