Add documentation about Entra limitations preventing service principal OBO as captured in issue #2192.#2196
Open
Add documentation about Entra limitations preventing service principal OBO as captured in issue #2192.#2196
Conversation
…l OBO as captured in issue #2192.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR documents a Microsoft Entra ID limitation affecting Azure MCP Server’s UseOnBehalfOf outgoing auth strategy when callers use application-only tokens (service principals / managed identities), referencing issue #2192 to help remote/self-hosting scenarios avoid a common pitfall.
Changes:
- Adds consistent warnings across Azure MCP Server docs that OBO requires delegated (user) tokens and does not work with app-only callers.
- Adds troubleshooting guidance for the
AADSTS7000114error. - Adds in-code XML documentation noting the OBO limitation for maintainers.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| servers/Azure.Mcp.Server/docs/new-command.md | Adds an OBO limitation note in remote server/auth strategy guidance. |
| servers/Azure.Mcp.Server/docs/azmcp-commands.md | Expands --outgoing-auth-strategy UseOnBehalfOf docs with an OBO limitation warning and issue link. |
| servers/Azure.Mcp.Server/azd-templates/README.md | Adds a note warning that OBO requires delegated tokens for the OBO azd template. |
| servers/Azure.Mcp.Server/TROUBLESHOOTING.md | Adds a dedicated troubleshooting section for AADSTS7000114 with explanation and link to #2192. |
| docs/Authentication.md | Updates supported auth matrix and adds a warning block explaining why Application + OBO is unsupported. |
| core/Microsoft.Mcp.Core/src/Services/Azure/Authentication/HttpOnBehalfOfTokenCredentialProvider.cs | Adds XML docs describing the OBO delegated-token requirement and expected failure mode for app-only callers. |
| core/Microsoft.Mcp.Core/src/Areas/Server/Options/OutgoingAuthStrategy.cs | Adds XML remarks documenting the OBO delegated-token requirement on the enum value. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
No functional changes. This PR adds clear documentation to reference #2192. The Entra limitations are a potential unintuitive pitfall for self-hosting remote MCP users, so we should provide transparent warnings and suggestions to users.
GitHub issue number?
References without fixing #2192
Pre-merge Checklist
servers/Azure.Mcp.Server/README.mdand/orservers/Fabric.Mcp.Server/README.mddocumentationREADME.mdchanges running the script./eng/scripts/Process-PackageReadMe.ps1. See Package READMEToolDescriptionEvaluatorand obtained a score of0.4or more and a top 3 ranking for all related test promptsconsolidated-tools.jsonbreaking-changelabelservers/Azure.Mcp.Server/docs/azmcp-commands.md./eng/scripts/Update-AzCommandsMetadata.ps1to update tool metadata inazmcp-commands.md(required for CI)servers/Azure.Mcp.Server/docs/e2eTestPrompts.mdcrypto mining, spam, data exfiltration, etc.)/azp run mcp - pullrequest - liveto run Live Test Pipeline