fix(examples): Prevent resource leak in simple-auth-client CallbackServer#1348
Closed
pankaj-bind wants to merge 2 commits intomodelcontextprotocol:mainfrom
Closed
fix(examples): Prevent resource leak in simple-auth-client CallbackServer#1348pankaj-bind wants to merge 2 commits intomodelcontextprotocol:mainfrom
pankaj-bind wants to merge 2 commits intomodelcontextprotocol:mainfrom
Conversation
pcarleton
requested changes
Sep 26, 2025
| auth_code = callback_server.wait_for_callback(timeout=300) | ||
| return auth_code, callback_server.get_state() | ||
| finally: | ||
| callback_server.stop() |
Member
There was a problem hiding this comment.
we also want to stop it here though, so we're not holding on to the port. Agree it's better to have it in the finally as well, but I think we want it both places since we don't need the callback server after the callback is complete.
Contributor
|
Closing for now due to inactivity as we're managing our inbound. Feel free to ping here if you plan to come back to this! |
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.
Description
This update addresses a potential resource leak in the
simple-auth-clientexample. TheCallbackServer, which handles the OAuth2 callback, was not guaranteed to be shut down if an exception occurred during the connection setup.Specifically, if an exception was raised in the
connectmethod aftercallback_server.start()was called but before the main logic was entered, thefinallyblock that calledcallback_server.stop()would never be reached. This would leave the HTTP server running in a background thread, consuming resources.The Fix
The
connectmethod inmcp_simple_auth_client/main.pyhas been refactored to use a single, top-leveltry...finallyblock. This ensures thatcallback_server.stop()is executed regardless of whether the connection process succeeds or fails with an exception.This change makes the example client more robust and reliable by guaranteeing proper resource cleanup.
Type of change
Checklist
Additional context