Fix OAuth authentication by passing instance_url to AuthManager #31
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.
OAuth Authentication Fix Summary
Problem: OAuth authentication was failing because
AuthManager._get_oauth_token()was trying to accessoauth_config.instance_url, but theOAuthConfigclass only has atoken_urlfield, not aninstance_urlfield.Solution: Pass the instance URL separately to the
AuthManagerconstructor from the main server configuration.Required Changes:
src/servicenow_mcp/auth/auth_manager.py:instance_url: str = Noneparameter to__init__()self.instance_url = instance_url_get_oauth_token(), replaceoauth_config.instance_urlwithself.instance_urlinstance_urlis Nonesrc/servicenow_mcp/server.py:Enhanced OAuth flow (optional but recommended):
client_credentialsandpasswordgrant typesThis allows the AuthManager to access the instance URL needed for constructing the OAuth token endpoint URL when
token_urlis not explicitly configured.