fix: make callbackHost optional in addMcpServer for non-OAuth servers#963
Merged
threepointone merged 1 commit intomainfrom Feb 21, 2026
Merged
fix: make callbackHost optional in addMcpServer for non-OAuth servers#963threepointone merged 1 commit intomainfrom
threepointone merged 1 commit intomainfrom
Conversation
Allow addMcpServer to omit callbackHost for MCP servers that do not use OAuth. The agent no longer derives a callback URL or eagerly creates an OAuth auth provider unless a callbackHost is provided or the server actually requires OAuth; if the server returns AUTHENTICATING without a callbackHost a clear error is thrown. Updated enforcement so callbackPath is only required when sendIdentityOnConnect is false and a callbackHost is present. MCP client manager now accepts an optional callback_url and skips creating auth providers when none is stored. Added tests covering no-options usage and the relaxed enforcement behavior and added a changeset entry.
🦋 Changeset detectedLatest commit: dc6de1d The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
commit: |
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.
addMcpServer()previously required acallbackHost(either explicitly or derived from the request context) and eagerly created an OAuth auth provider for every connection, even when the MCP server does not use OAuth. This made simple non-OAuth connections unnecessarily difficult — especially from@callablemethods where the request context origin is unreliable (it's the WebSocket upgrade request, not the client's origin).This PR defers OAuth setup to when it's actually needed:
callbackHost,callbackUrl, andauthProviderare only constructed when acallbackHostis availableAUTHENTICATING(401) but nocallbackUrlwas configured, a clear error is thrown: "This MCP server requires OAuth authentication. Provide callbackHost in addMcpServer options to enable the OAuth flow."authProvidercreation for servers with no storedcallback_urlcallbackPathenforcement forsendIdentityOnConnect: falseis only applied when acallbackHostis present (no callback URL to protect otherwise)Before
After