-
Notifications
You must be signed in to change notification settings - Fork 32.7k
Initial support of dynamic auth providers for MCP #249501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
With this change, we support being able to on-the-fly create an Auth Provider based on an oauth-authorization-server's metadata. MCP then leverages this because by following the MCP spec we can figure out the oauth server metadata and then request a token from that server. The tokens are persisted and will be refreshed on demand... all based on the OAuth spec.
Hi @TylerLeonhardt, I am contacting you to share some feedback if you don't mind.
Any idea what could be the issue? Thanks |
@lkchao-majority can you open these as two new issues and we'll work through them? Please provide the platform you're on and what you're MCP config looks like in VS Code.
|
if (isDisposable(provider)) { | ||
provider.dispose(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@TylerLeonhardt this is causing a Maximum call stack size exceeded
error in the extension host, from the github authentication extension when running vscode in the browser, the extension should be responsible of disposing any of its resources rather than vscode doing it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch, I've removed that in #249845
With this change, we support being able to on-the-fly create an Auth Provider based on an oauth-authorization-server's metadata.
MCP then leverages this because by following the MCP spec we can figure out the oauth server metadata and then request a token from that server.
The tokens are persisted and will be refreshed on demand... all based on the OAuth spec.
Fixes #247759