Uh oh!
There was an error while loading. Please reload this page.
fix(auth): oauth metadata discovery - #641
Conversation
wdawson
commented
Feb 2, 2026
This was due to an intentional correction in the MCP spec version 2025-11-25 |
glicht
commented
Feb 3, 2026
The change that was implemented was a breaking change. I don't think that was the purpose. The sdk stopped working with common mcp servers (such as cloudflare). Also from what I checked in the typescript-sdk it supports fetching from: |
wdawson
commented
Feb 3, 2026
@glicht I think it's ok. Just wanted to point out why it was done. I think the bigger problem is that this SDK seems to not use the protected resource metadata location and tries to discover something first. Fixing that bug might fix this issue with Cloudflare |
@alexhancock can you also look into it issue and fix once? |
glicht
commented
Feb 4, 2026
Yes. I've tested locally and the fix works as expected. Thanks |
alexhancock
commented
Feb 4, 2026
I feel like we've made a patchwork set of fixes/adjustments/tweaks over time. I get so confused by the ordering needed! Is anyone well positioned to take a holistic look at how the Rust SDK gets/uses resource metadata? |
alexhancock
commented
Feb 4, 2026
@glicht for this one specifically, looks like it needs the code formatter run. |
glicht
commented
Feb 4, 2026
Thanks. I've pushed a format fix. |
wdawson
commented
Feb 4, 2026
@alexhancock I'm happy to take a pass. I know there are several issues and PRs in flight and I don't know the history. But I was a contributor to some of the authorization changes (hopefully the less confusing ones 😅) and should be able to get to a "correct" implementation if that would be a good starting point. Then would love help testing that against all the things people need/want to make sure there aren't regressions like @glicht mentioned. Let me know if that approach is useful. Alternatively I can review or advise another implementor. Happy to chat on discord or whatever. |
Uh oh!
There was an error while loading. Please reload this page.
alexhancock
commented
Feb 4, 2026
Yes @wdawson let's do a comprehensive change that addresses all edge cases in this space and makes the implementation of metadata discovery & handling correct. Then when we have a branch where we believe everything functions 100% to spec, I can make a test build of goose (the other project I work on) which uses the branch and we can test with various servers before a merge Thanks for being willing to help! |
modelcontextprotocol/rust-sdk#598 in 0.14 broke some MCP oauth (like Linear) and modelcontextprotocol/rust-sdk#641 fixed it in 0.15
modelcontextprotocol/rust-sdk#598 in 0.14 broke some MCP oauth (like Linear) and modelcontextprotocol/rust-sdk#641 fixed it in 0.15
modelcontextprotocol/rust-sdk#598 in 0.14 broke some MCP oauth (like Linear) and modelcontextprotocol/rust-sdk#641 fixed it in 0.15
modelcontextprotocol/rust-sdk#598 in 0.14 broke some MCP oauth (like Linear) and modelcontextprotocol/rust-sdk#641 fixed it in 0.15
modelcontextprotocol/rust-sdk#598 in 0.14 broke some MCP oauth (like Linear) and modelcontextprotocol/rust-sdk#641 fixed it in 0.15
Auth metadata discovery stopped checking <base_domain>/.well-known/oauth-authorization-server with the 0.13 release. Adding a fix.
Motivation and Context
See #632
How Has This Been Tested?
Added unit test that failed before the fix and passes after the fix
Breaking Changes
No
Types of changes
Checklist
Additional context