Skip to content

Commit 99a7edb

Browse files
fix(auth): request JSON token responses
1 parent 77431eb commit 99a7edb

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

src/mcp/client/auth/oauth2.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ def prepare_token_auth(
192192
if headers is None:
193193
headers = {} # pragma: no cover
194194

195+
headers.setdefault("Accept", "application/json")
196+
195197
if not self.client_info:
196198
return data, headers # pragma: no cover
197199

tests/client/test_auth.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,7 @@ async def test_token_exchange_request_authorization_code(self, oauth_provider: O
597597
assert request.method == "POST"
598598
assert str(request.url) == "https://api.example.com/token"
599599
assert request.headers["Content-Type"] == "application/x-www-form-urlencoded"
600+
assert request.headers["Accept"] == "application/json"
600601

601602
# Check form data
602603
content = request.content.decode()
@@ -623,6 +624,7 @@ async def test_refresh_token_request(self, oauth_provider: OAuthClientProvider,
623624
assert request.method == "POST"
624625
assert str(request.url) == "https://api.example.com/token"
625626
assert request.headers["Content-Type"] == "application/x-www-form-urlencoded"
627+
assert request.headers["Accept"] == "application/json"
626628

627629
# Check form data
628630
content = request.content.decode()
@@ -655,6 +657,7 @@ async def test_basic_auth_token_exchange(self, oauth_provider: OAuthClientProvid
655657
request = await oauth_provider._exchange_token_authorization_code("test_auth_code", "test_verifier")
656658

657659
# Should use basic auth (registered method)
660+
assert request.headers["Accept"] == "application/json"
658661
assert "Authorization" in request.headers
659662
assert request.headers["Authorization"].startswith("Basic ")
660663

@@ -700,6 +703,7 @@ async def test_basic_auth_refresh_token(self, oauth_provider: OAuthClientProvide
700703

701704
request = await oauth_provider._refresh_token()
702705

706+
assert request.headers["Accept"] == "application/json"
703707
assert "Authorization" in request.headers
704708
assert request.headers["Authorization"].startswith("Basic ")
705709

0 commit comments

Comments
 (0)