Draft
Conversation
- CustomChainedCredential: add forceBrowserFallback param, suppressed when AZURE_TOKEN_CREDENTIALS=prod; enables InteractiveBrowserCredential fallback only in user-identity modes (SingleIdentityTokenCredentialProvider) - SafeTokenCredential: add normalizeScopes=true for all 8 non-MSAL credentials (EnvironmentCredential, WorkloadIdentity, ManagedIdentity, VisualStudio, VisualStudioCode, AzureCli, AzurePowerShell, AzureDeveloperCli) Converts https://mcp.ai.azure.com/Foundry.Mcp.Tools to https://mcp.ai.azure.com/.default so resource-based credential types receive the correct scope format; InteractiveBrowserCredential is unwrapped and receives the verbatim MSAL permission scope - Microsoft.Mcp.slnx and Azure.Mcp.Server.slnx: remove deleted Azure.Mcp.Tools.Foundry project references
…changes - CustomChainedCredentialTests: update reflection-based constructor lookup from 2-param to 3-param to match new forceBrowserFallback parameter added in commit 9b7c48b - VisualStudioToolNameTests: remove outer TestContext.Current.CancellationToken from the linked CTS for I/O operations; add independent 2-minute timeout and Fact(Timeout=180000). In --mode all the server eagerly connects to all external MCP registry servers (incl. mcp.ai.azure.com) before responding to initialize, which can take 15-60+ seconds.
…tness - RegistryDiscoveryStrategyTests.cs: remove trailing whitespace on blank lines (WHITESPACE errors at lines 474/475 and 496/497 in CI) - VisualStudioToolNameTests.cs: add ReadJsonLineAsync helper to skip non-JSON lines in stdout (e.g. azd subprocess diagnostics) before deserializing JSON-RPC responses, fixing JsonException when a non-JSON line appears first
…rnal Foundry tools
…s to prevent registry pollution in playback recordings
… (recorded/playback tests) RecordingRedirectHandler redirects all outgoing HTTP from the server subprocess through the test proxy. When --mode all is used, RegistryToolLoader tries to connect to external registry servers (e.g. mcp.ai.azure.com from registry.json). Those connection attempts hit the test proxy during an active recording/playback session, producing unrecorded traffic in playback mode or polluting the recording sequence in record mode. Guard in RegistryToolLoader.InitializeAsync: if TEST_PROXY_URL is set (injected by CommandTestsBase.GetEnvironmentVariables only when a TestProxyFixture is present), skip discovery and mark as initialized with no clients. This fixes ALL recorded test classes automatically without per-class overrides. Also removes the redundant InitializeAsync override from FoundryExtensionsCommandTests that was added as a per-class workaround for the same root cause.
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.
No description provided.