M7. MCP authorization (OAuth code flow)
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- azure, csharp
調査の方向性
docs/mcp.md と docs/agentic-roadmap.md から始め、特にロードマップ項目 M7 を確認してから、HTTP トランスポートと既存の Entra/RBAC 資格情報パスを追跡します。リモートからの未認証リクエストが拒否され、bearer token による認可が機能し、ID が Cosmos/ARM 資格情報まで到達し、localhost の no-auth が引き続きフラグで制御され、脅威モデルとドキュメントが更新されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Why
Today the MCP server relies solely on origin-header validation and localhost binding — safe for a single-user local machine, but there is no authorization layer. Any remote, hosted, or shared agent deployment (team agent, CI runner, cloud-hosted assistant) currently has no supported way to authenticate a caller. The MCP spec defines an OAuth 2.1 authorization-code flow for exactly this; adopting it unlocks hosted/agentic scenarios without falling back to master keys.
This is the natural companion to confirmation/elicitation (item M3): authorization answers "who is allowed to call," M3 answers "what may they do."
Proposed behavior
- Implement the MCP authorization-code flow for the HTTP transport: advertise the authorization server, validate bearer tokens on each request, and map the authenticated identity onto the shell's existing Entra/RBAC connection so tool calls run with least-privilege, per-caller credentials rather than a shared session.
- Keep localhost/no-auth as an explicit opt-in for the current single-user experience.
Acceptance criteria
- Unauthenticated remote requests are rejected.
- A client can complete the authorization-code flow and call tools with a bearer token.
- Identity flows to the Cosmos/ARM credential.
- Localhost no-auth mode preserved behind a flag.
- Threat model +
docs/mcp.mdupdated.
Filed from the Agentic & Automation Roadmap (docs/agentic-roadmap.md), item M7, Wave 2. Priority P1.
- 主要言語
- C#
- スター
- 3
- フォーク
- 7
- 平均マージ
- 3日 22時間
- マージ済み PR(30日)
- 20
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Azure/CosmosDBShell のほかの issue
-
automation P1
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
Azure/CosmosDBShell#178 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
automation P1
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
Azure/CosmosDBShell#175 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
agentic enhancement P0
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
Azure/CosmosDBShell#153 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
Azure/CosmosDBShell#118 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
Azure/CosmosDBShell#107 · コメント 3 件 ·
メンテナーはふだん 2 日以内に返信
Azure/CosmosDBShell の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
lay295/TwitchDownloader#1675 ·
-
copilot documentation
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
space-wizards/RobustToolbox#7119 ·
メンテナーはふだん 1 日以内に返信
-
Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 4 日以内に返信
-
.NET Bug Waiting for: Product Owner
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
getsentry/sentry-dotnet#5666 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信