René's URL Explorer Experiment


Title: Add support for serverside oauth by praboud-ant · Pull Request #255 · modelcontextprotocol/python-sdk · GitHub

Open Graph Title: Add support for serverside oauth by praboud-ant · Pull Request #255 · modelcontextprotocol/python-sdk

X Title: Add support for serverside oauth by praboud-ant · Pull Request #255 · modelcontextprotocol/python-sdk

Description: Motivation and Context Implements https://spec.modelcontextprotocol.io/specification/draft/basic/authorization/ from the specification. How Has This Been Tested? I've added some integration tests as part of this branch. I've also implemented a new MCP server (outside of this repo), and integrated it against the new parts of the the SDK, to play around with the interface a bit and see how it feels. Tested with inspector: Breaking Changes No - this is strictly additive. Types of changes Bug fix (non-breaking change which fixes an issue) New feature (non-breaking change which adds functionality) Breaking change (fix or feature that would cause existing functionality to change) Documentation update Checklist I have read the MCP Documentation My code follows the repository's style guidelines New and existing tests pass locally I have added appropriate error handling I have added or updated documentation as needed Additional context

Open Graph Description: Motivation and Context Implements https://spec.modelcontextprotocol.io/specification/draft/basic/authorization/ from the specification. How Has This Been Tested? I've added some integration tes...

X Description: Motivation and Context Implements https://spec.modelcontextprotocol.io/specification/draft/basic/authorization/ from the specification. How Has This Been Tested? I've added some integration...

Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/255

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:f8e7b819-063a-8182-c6b1-b808b6466a0f
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id80AE:31CB57:14545A9:1D046A3:6A5A2370
html-safe-noncee61cb3bb6df9a0e57dd44001a78ea83e7e77b1a01381061152b0c141fc73b49e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MEFFOjMxQ0I1NzoxNDU0NUE5OjFEMDQ2QTM6NkE1QTIzNzAiLCJ2aXNpdG9yX2lkIjoiMzczODEzNjIxMjQ3MDg5OTU2OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac56d7b0dbe7cbe9fbee85b6ee43832723e2ca0736dabc7467b43462df3f51a008
hovercard-subject-tagpull_request:2382959488
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/modelcontextprotocol/python-sdk/pull/255/files
twitter:imagehttps://avatars.githubusercontent.com/u/175163119?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/175163119?s=400&v=4
og:image:altMotivation and Context Implements https://spec.modelcontextprotocol.io/specification/draft/basic/authorization/ from the specification. How Has This Been Tested? I've added some integration tes...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonee31742e80bbd077fd5679c13ed870ce4e0c13803a2fa5beaae557b6769de2c8a
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git
octolytics-dimension-user_id182288589
octolytics-dimension-user_loginmodelcontextprotocol
octolytics-dimension-repository_id862584018
octolytics-dimension-repository_nwomodelcontextprotocol/python-sdk
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id862584018
octolytics-dimension-repository_network_root_nwomodelcontextprotocol/python-sdk
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec9fcdbf98c619d1561ed843fa01d9766a32b5cd9
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F255%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F255%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=modelcontextprotocol%2Fpython-sdk
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
modelcontextprotocol https://github.com/modelcontextprotocol
python-sdkhttps://github.com/modelcontextprotocol/python-sdk
Notifications https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Fork 3.7k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Star 23.6k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Code https://github.com/modelcontextprotocol/python-sdk
Issues 255 https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests 303 https://github.com/modelcontextprotocol/python-sdk/pulls
Actions https://github.com/modelcontextprotocol/python-sdk/actions
Projects https://github.com/modelcontextprotocol/python-sdk/projects
Models https://github.com/modelcontextprotocol/python-sdk/models
Security and quality 6 https://github.com/modelcontextprotocol/python-sdk/security
Insights https://github.com/modelcontextprotocol/python-sdk/pulse
Code https://github.com/modelcontextprotocol/python-sdk
Issues https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests https://github.com/modelcontextprotocol/python-sdk/pulls
Actions https://github.com/modelcontextprotocol/python-sdk/actions
Projects https://github.com/modelcontextprotocol/python-sdk/projects
Models https://github.com/modelcontextprotocol/python-sdk/models
Security and quality https://github.com/modelcontextprotocol/python-sdk/security
Insights https://github.com/modelcontextprotocol/python-sdk/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2Fnew%2Fchoose
ihrprhttps://github.com/ihrpr
mainhttps://github.com/modelcontextprotocol/python-sdk/tree/main
praboud/authhttps://github.com/modelcontextprotocol/python-sdk/tree/praboud/auth
Conversation 61 https://github.com/modelcontextprotocol/python-sdk/pull/255
Commits 89 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits
Checks 0 https://github.com/modelcontextprotocol/python-sdk/pull/255/checks
Files changed https://github.com/modelcontextprotocol/python-sdk/pull/255/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
Add support for serverside oauth https://github.com/modelcontextprotocol/python-sdk/pull/255/files#top
Show all changes 89 commits https://github.com/modelcontextprotocol/python-sdk/pull/255/files
682ff1e wip praboud-ant Mar 6, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/682ff1e9e3c8c66aafa5a9f1acd2e21deeeaa9a4
331d51e Unwind changes praboud-ant Mar 6, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/331d51eb04d0f667ff131c6d2315b00fd6751c00
d283f56 wip praboud-ant Mar 7, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/d283f560cc3a461555daba6acd533ab0be157cde
e96d280 Get tests passing praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/e96d280a683f0dbfab4f3939d4f5cbd93c47928a
1e9dd4c Clean up provider interface praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/1e9dd4c213a2e31920df0c7dab4e6db699c3c5bc
d535089 Lint praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/d535089a661a94f43f5f0e24846c07d0fd23919e
031cadf Clean up registration endpoint praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/031cadff64ecde859f59b1a5ab19997ffe84979e
765efb6 Lint praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/765efb6a096ef187c103f5a95f5d3423885514b5
0637bc3 update token + revoke to use form data praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/0637bc3c09013388438ec3fd67878e6b37b62d74
b99633a Adjust more things to fit spec praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/b99633af2a3de7e68a6852f46d3f7c50478898dc
9ae1c21 Lint praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/9ae1c2174b6fe5105bfd730f3485e03eb10471a9
50683b9 Remove dup praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/50683b9cb752663eb7a378e3db637196fbdabec7
2c5f26a Comment praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/2c5f26a86ddb52c0f7b531d7a10470dddd43264d
e605994 Refactor back to authorize() praboud-ant Mar 10, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/e60599461b397450b10e423534ccd71e1b062ada
e7c5f87 Improve validation for /token praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/e7c5f87fd30910e61fd0321a7f725d49eb782eba
83c0c9f Improve validation for registration praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/83c0c9f7b5a16e85fb814b3bda9675bd5b10399d
0c1aae9 Improve /authorize validation & add tests praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/0c1aae97c7de1ea09ba33b356d3b1d41fe9a010b
038fb04 Hoist oauth token expiration check into bearer auth middleware praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/038fb045f076b6aa8b151febdd7f93f827834316
a4e17f3 Add tests for /revoke validation praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/a4e17f3f13446e26fe1f6dc3dd7688e72a0c5bb5
5f11c60 Lint + typecheck praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/5f11c601f4743e2fed2dd1dd67671ad0edbbca22
571913a Clean up unused error classes praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/571913a89397a9f1c29e7150d9cf3adecc367073
d43647f Update to use Python 3.10 types praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/d43647f8f385207a04eb7f0eb737875cfbe70cfd
9d72c1e Use classes for handlers praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/9d72c1e598f41e8e1741e20b541ce1776c57882d
a5079af Refactor praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/a5079af9844b169a7bc34668275554fced20565a
c4c2608 Simplify bearer auth logic praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/c4c26087c224d443853723913666ef0218652586
bc62d73 Avoid asyncio dependency in tests praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/bc62d73214b62415b8e6f1fe346d8a4320054041
3852179 Add comment praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/3852179c7dc1801c67c193632ccb10667346dd28
874838a Lint praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/874838a58f54c11287a32b2f6d89e21ecc9a7c5a
f788d79 Add json_response.py comment praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/f788d7900beed7fa0ae582c9e855d6b35b664af5
152feb9 Format praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/152feb94df7324f47ba9d1a1521bcc9062a1fd8d
f37ebc4 Move around the response models to be closer to the handlers praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/f37ebc46e5b19d3ee0e6e57f937dfd12e40e106c
c2873fd Get rid of silly TS comments praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/c2873fdb16ca939fea14e06f6e018aa67301370c
fe2c029 Remove ClientAuthRequest praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/fe2c029096e5c8e2a5d8973d7db9d3b1eefa7d59
3a13f5d Reorganize AuthInfo praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/3a13f5d8e3458258cdaedb242ee049e93af9ee18
37c5fc4 Refactor client metadata endpoint praboud-ant Mar 11, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/37c5fc4e22ee488541cec001fbc331d42318adba
792d302 Make metadata more spec compliant praboud-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/792d3020e2495ee8ef995e18df63e4b3bfa23a3b
6c48b11 Use python 3.10 types everywhere praboud-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/6c48b1107b80b91fae17fea0d7438cf392b9c5e1
a437566 Add back authorization to the /revoke endpoint, simplify revoke praboud-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/a437566229b5b97eff4233cba5a2a86466665b43
9fee929 Move around validation logic praboud-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/9fee92976c165d02692cb4da315b87cca1cbdde5
d79be8f Fixups while integrating new auth capabilities praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/d79be8f227d7dd23f2a9782d4edb559273a70a31
8d637b4 Pull all auth settings out into a separate config praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/8d637b432eae7ffcfb6a21c22be4372cdcea743f
8c86bce Move router file to be routes praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/8c86bce36275c6eb5018dafe613841078d5f75da
31618c1 Add auth context middleware praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/31618c148e9600dec4b0a3baeed62e8b2695c6f1
5ebbc19 Validate scopes + provide default praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/5ebbc19b713bd896764cad369cdf8432823e50c7
50673c6 Validate grant_types on registration praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/50673c6360749521db9181effec0e883ae51781a
02d76f3 auth: client implementation dsp-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/02d76f32c54a367758072b8541f755188ce20fba
88edddc update lock dsp-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/88edddcd0a776966cc87d1673b2a8d64b27c4af5
d774be7 fix dsp-ant Mar 12, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/d774be7daefaf6968f60b9ab9bdd3c8966153e70
a09e958 foo dsp-ant Mar 14, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/a09e9580c71ed4ff7892468a7dbe7bfabea1fd0c
4e73552 Format praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/4e73552027316dce3b3b9fa5a8130341b50d037c
56f694e Move StreamingASGITransport into the library code, so MCP integration… praboud-ant Mar 19, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/56f694e16aa072e5e53fead581260ebae044cddb
60da682 Improved error handling, generic types for provider praboud-ant Mar 21, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/60da6822a3f836becba91b73e533bf31ca0d53fa
374a0b4 Rename AuthInfo to AccessToken praboud-ant Mar 21, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/374a0b4903ffcaf4dc0b99cb46ad1465a0f7d8a2
fb5a568 Rename praboud-ant Mar 22, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/fb5a56831e5f0573d0cd6eaa3647d7470d0b904a
76ddc65 Add docs praboud-ant Mar 22, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/76ddc65a2dad159960b73326aab326565969c722
e42dbf5 Merge remote-tracking branch 'origin/main' into praboud/auth praboud-ant Mar 22, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/e42dbf560ac2349958b65ded65592054e214f567
10e00e7 Typecheck praboud-ant Mar 22, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/10e00e7e128d858091d541d56382e72d7df67ea0
87571d8 Return 401 on missing auth, not 403 praboud-ant Mar 25, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/87571d8ff4fee015709438b72c8999d3a026a780
c6f991b Convert AuthContextMiddleware to plain ASGI middleware & add tests praboud-ant Mar 25, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/c6f991bdd9b92349bd48a2340db3b81fea4705a3
482149e Fix redirect_uri handling praboud-ant Mar 25, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/482149e094ff93b4a70a2f1b6322137e22371f17
5230180 Remove client for now praboud-ant Mar 25, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/52301804f9cd03afd9ce92bd1838e36337d0eb11
8e15abc Add test for auth context middleware praboud-ant Mar 25, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/8e15abcdb0185915a2384eb42b8f733d90227ea4
0a1a408 Add CORS support praboud-ant Mar 25, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/0a1a4089450a40219db9a92f98908136c0ed1e24
3069aa3 Comment praboud-ant Mar 27, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/3069aa3d72fd34faedb7d55d9add17c67208c290
16f0688 Merge remote-tracking branch 'origin/main' into praboud/auth praboud-ant Mar 27, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/16f06887e50d83fc52f9c26ae998c036b6000951
5ecc7f0 Remove client tests praboud-ant Mar 27, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/5ecc7f02195c810fba4b63e14513ed259b0d487b
8c251c9 Add ignores praboud-ant Mar 27, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/8c251c94725b39788f0805efdcd07ef91fb37c49
f46dcb1 Merge remote-tracking branch 'origin/main' into praboud/auth praboud-ant Apr 18, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/f46dcb100230029cb118aeee5ccbef37dfcaddcc
d3725cf Review feedback praboud-ant Apr 18, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/d3725cf5bea7fa3573e94f2aec9c20b19d5aff7e
07f4e3a Fix stream resource leaks and upgrade Starlette bhosmer-ant Apr 13, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/07f4e3ac5ed933815d2c250c37c980566d474937
1237148 Lint praboud-ant Apr 18, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/1237148503e9a227836a0d620113813dbbeaeaae
1ad1842 Review comments praboud-ant Apr 18, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/1ad1842af73faee2aa879638fdcada2b031caa90
fa068dd Rename OAuthServerProvider to OAuthAuthorizationServerProvider praboud-ant Apr 18, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/fa068dd027474d16fafbbb63cc902a86ef0f76b3
9b5709a Merge branch 'main' into praboud/auth ihrpr Apr 30, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/9b5709a8df21e82026817bab7adaa4d77bf2783b
67d568b revert starlette upgrade ihrpr Apr 30, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/67d568b86ec6d111c3c69ad7c81ac0bea7cb16b2
16a7efa add python-multipart - was missing ihrpr Apr 30, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/16a7efa585ad1cec7daa31e62c792218805a2c73
91c09a4 ruff ihrpr Apr 30, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/91c09a407a9c1df49ccb77485f7d87be2aad8d66
0582bf5 try fixing test ihrpr Apr 30, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/0582bf541e997e818da477c0b428d423f5300afe
8194bce increse timeout ihrpr Apr 30, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/8194bced3b09e5e89e36fd0e7c145e97f415f1b9
2c63020 fix test ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/2c63020a05caba0c9075224bef743ea529291019
2ea68f2 test ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/2ea68f2588c7f736d03ee1fb8898a0155ec32fbe
b0fe041 fix test ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/b0fe0418ff19f7c923e1b33b1a57bcc91e5e9383
ba366e3 test ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/ba366e332d0aef7194338a74de85f8463872093f
e1a9fec test ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/e1a9fec1c6068662df7d5678e15764af4a1e49e6
af4221f skip test ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/af4221f231b50e91b9e42099967d549fff4a47b6
f2840fe Test auth (#609) ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/f2840fe5d370b7d1324f0cf517da0c66caa39325
cda4401 remove pyright upgrade and ruff format ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/cda4401c043a60b2249c4069315a3d0500bfd95b
f2cc6ee uv lock ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/f2cc6eef7e431b7d3b88336208be292aebcf3e82
23ef519 Merge branch 'main' into praboud/auth ihrpr May 1, 2025 https://github.com/modelcontextprotocol/python-sdk/pull/255/commits/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d
Clear filters https://github.com/modelcontextprotocol/python-sdk/pull/255/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
.gitignore https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
CLAUDE.md https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
README.md https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
main.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-29fac9db8eee314fe4708bc7f3c4f8cef31dd11aec180a8ccb995f840716c4f8
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
__init__.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-e54c103464b3d0669244bec49b8fa9d7de388a14eca2cb680fae101d9df59df3
errors.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-ec9e76cf64548fe5d817a1b432debc029e70bdc762089621445d4b38ba09334c
__init__.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-41be071f4a433c410c0fadab4ecb9a4ccaee7c9aeb2d8292951e31588bd3c1e8
authorize.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-29f49c82612bbc9e8070a2be90b36aa33ca72f1ddae66f15f261bfcbb1a9a85d
metadata.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-1b7fbdcb4ef897175becf3eb92b73af8726d5c5a52f72b22d61aba56efe1dc30
register.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6643f748c6f203d6b3c55593361c894373aa78f360ebaa4f3b60b445efccc5af
revoke.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-56bd9bb95f99c6e44613e86b1f8a83f343d920dbd1c6d195af80d8ec54384852
token.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-0bfdf5a468abdd078a0287db095a4ad5ebfcb04ea3e437026cdc8038c137ecab
json_response.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-0c9125a55c25ea92c8a852b894dbfb7ca863984511d92ec209f2894e276b042f
__init__.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-8aaec87d6c3fbde4ff1bbe88b64da350a5ae59134eddbb38f018d2ed1dca1151
auth_context.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-0c533b2b9dc4b0c5803c44c5b970efe3366bcefc785cfdfadf0da311dc82fa18
bearer_auth.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-0b11aaab79fc19c511b87711ce27207efba24fbd0226bea59af663715ba0f0ec
client_auth.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-24c1b3fd929c3f6acb7f5a09322c15122e44e894b595a6013b0ae6259ad27500
provider.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-f7e852ad288ea2750460eb8e8ef0d6152216cd97ae505acd5f06146cf866abec
routes.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6dfb076f1d9772b9a78be06b88bbbae0f92a0108284fcf247f342cd1a88433f2
settings.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-ed6123a6a50ac222dad0c2887aa3186d37bbc67f7a2105d4a06320638a75fd25
server.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-14a2991a8f2be5b9e60dab5fae92d2230dc23e57937ad5e5641b832d9c662738
server.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
streaming_asgi_transport.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-450cf973f68283f2afdc57506764dc6baa67eef15ef22b828e0c98dbdb9770c2
auth.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-01350058961f3196e3373d707e2178962377dc9a85f481ade94e8f05e4701c8d
test_auth_context.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-41747b6c65d5442fb743084650be89f105a3f5242c2edc7d2a31e531ac3874b9
test_bearer_auth.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-e9da357dd9e1fbd6287ffd8766f14cfb02020d11144474be22c36805c6fa6382
test_error_handling.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-91ee20daa15c8be5663ae23f6ebbc6294ef39fd9f22c8165b93f1b6ed9a415ba
__init__.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-b43e52f566a27fab5112b032c3bcedb7f814a43b0387699c43bc0bb521da565b
test_auth_integration.py https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6db9f61c163fde554e33209f7b184b6485d848942a133b8cf17024c70f216004
uv.lock https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-84321598744d84dbee2318e634c74c9aae39a1c253f1c4bd17ebf9ef2f807b11
.gitignorehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/.gitignore
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
CLAUDE.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/CLAUDE.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-6ebdb617a8104a7756d0cf36578ab01103dc9f07e4dc6feb751296b9c402faf7
README.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
jerome3o-anthropichttps://github.com/jerome3o-anthropic
May 1, 2025https://github.com/modelcontextprotocol/python-sdk/pull/255/files#r2070576956
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
ihrprhttps://github.com/ihrpr
May 1, 2025https://github.com/modelcontextprotocol/python-sdk/pull/255/files#r2070638919
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
examples/clients/simple-chatbot/mcp_simple_chatbot/main.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-29fac9db8eee314fe4708bc7f3c4f8cef31dd11aec180a8ccb995f840716c4f8
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/examples/clients/simple-chatbot/mcp_simple_chatbot/main.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-29fac9db8eee314fe4708bc7f3c4f8cef31dd11aec180a8ccb995f840716c4f8
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-29fac9db8eee314fe4708bc7f3c4f8cef31dd11aec180a8ccb995f840716c4f8
pyproject.tomlhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/pyproject.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
https://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
src/mcp/server/auth/__init__.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-e54c103464b3d0669244bec49b8fa9d7de388a14eca2cb680fae101d9df59df3
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/src/mcp/server/auth/__init__.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
src/mcp/server/auth/errors.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-ec9e76cf64548fe5d817a1b432debc029e70bdc762089621445d4b38ba09334c
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/src/mcp/server/auth/errors.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
src/mcp/server/auth/handlers/__init__.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-41be071f4a433c410c0fadab4ecb9a4ccaee7c9aeb2d8292951e31588bd3c1e8
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/src/mcp/server/auth/handlers/__init__.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
src/mcp/server/auth/handlers/authorize.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-29f49c82612bbc9e8070a2be90b36aa33ca72f1ddae66f15f261bfcbb1a9a85d
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/src/mcp/server/auth/handlers/authorize.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
src/mcp/server/auth/handlers/metadata.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/255/files#diff-1b7fbdcb4ef897175becf3eb92b73af8726d5c5a52f72b22d61aba56efe1dc30
View file https://github.com/modelcontextprotocol/python-sdk/blob/23ef519b92eaf5d6d3f162ac9e0ac5f41764576d/src/mcp/server/auth/handlers/metadata.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/255/{{ revealButtonHref }}
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/255/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.