René's URL Explorer Experiment


Title: refactor: replace lowlevel Server decorators with on_* constructor kwargs by maxisbey · Pull Request #1985 · modelcontextprotocol/python-sdk · GitHub

Open Graph Title: refactor: replace lowlevel Server decorators with on_* constructor kwargs by maxisbey · Pull Request #1985 · modelcontextprotocol/python-sdk

X Title: refactor: replace lowlevel Server decorators with on_* constructor kwargs by maxisbey · Pull Request #1985 · modelcontextprotocol/python-sdk

Description: The official Python SDK for Model Context Protocol servers and clients - refactor: replace lowlevel Server decorators with on_* constructor kwargs by maxisbey · Pull Request #1985 · modelcontextprotocol/python-sdk

Open Graph Description: Replace the decorator-based handler registration on the lowlevel Server with direct on_* keyword arguments on the constructor. Handlers are now raw callables with a uniform (ctx, params) -> resu...

X Description: Replace the decorator-based handler registration on the lowlevel Server with direct on_* keyword arguments on the constructor. Handlers are now raw callables with a uniform (ctx, params) -> ...

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

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:31db9d55-f2c0-eec3-5b5d-fa088307586e
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idBC2E:1D5981:126FE83:1848BF1:6A5BCFDF
html-safe-nonce37acce6bc899a7264a13093924ec6710d11234f647e4b5e604e4005a98af1564
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQzJFOjFENTk4MToxMjZGRTgzOjE4NDhCRjE6NkE1QkNGREYiLCJ2aXNpdG9yX2lkIjoiOTEwMjQ2NzIzMDY2Nzc3NTY3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacc19b6f54923b4e4bd7ba8503c6d32a51dd10349c69c30723681fa60c23a061bf
hovercard-subject-tagpull_request:3238232276
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///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/modelcontextprotocol/python-sdk/1985/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/766c9acf5c804502bbc3455ac6dbcd58e08ccee7f75796e52249d141c36277ff/modelcontextprotocol/python-sdk/pull/1985
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/766c9acf5c804502bbc3455ac6dbcd58e08ccee7f75796e52249d141c36277ff/modelcontextprotocol/python-sdk/pull/1985
og:image:altReplace the decorator-based handler registration on the lowlevel Server with direct on_* keyword arguments on the constructor. Handlers are now raw callables with a uniform (ctx, params) -> resu...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamemaxisbey
hostnamegithub.com
expected-hostnamegithub.com
None5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b
turbo-cache-controlno-cache
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
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release9c975978430e9ad293956f2bbdaf153b1bd84a99
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/python-sdk/pull/1985#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F1985
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%2F1985
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%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=modelcontextprotocol%2Fpython-sdk
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/1985
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/1985
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/1985
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
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 259 https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests 307 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
maxisbeyhttps://github.com/maxisbey
mainhttps://github.com/modelcontextprotocol/python-sdk/tree/main
sketch/lowlevel-server-v2-kwargshttps://github.com/modelcontextprotocol/python-sdk/tree/sketch/lowlevel-server-v2-kwargs
Conversationhttps://github.com/modelcontextprotocol/python-sdk/pull/1985
Commits26 (26)https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits
Checkshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/checks
Files changedhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files
refactor: replace lowlevel Server decorators with on_* constructor kwargshttps://github.com/modelcontextprotocol/python-sdk/pull/1985#top
maxisbeyhttps://github.com/maxisbey
mainhttps://github.com/modelcontextprotocol/python-sdk/tree/main
sketch/lowlevel-server-v2-kwargshttps://github.com/modelcontextprotocol/python-sdk/tree/sketch/lowlevel-server-v2-kwargs
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 2, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#issue-3887840105
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
#1968https://github.com/modelcontextprotocol/python-sdk/pull/1968
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 3, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#ref-pullrequest-3865501458
sketch: refactor lowlevel server to handler pattern #1968 https://github.com/modelcontextprotocol/python-sdk/pull/1968
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
February 3, 2026 14:06https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22498525139
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
force-pushedhttps://github.com/modelcontextprotocol/python-sdk/compare/acea3d780d2ab40745ea0ab7d99188b56f6e7e49..8e1d9471562e3c2b27f6a6afe86d17539821a90a
acea3d7https://github.com/modelcontextprotocol/python-sdk/commit/acea3d780d2ab40745ea0ab7d99188b56f6e7e49
8e1d947https://github.com/modelcontextprotocol/python-sdk/commit/8e1d9471562e3c2b27f6a6afe86d17539821a90a
Compare https://github.com/modelcontextprotocol/python-sdk/compare/acea3d780d2ab40745ea0ab7d99188b56f6e7e49..8e1d9471562e3c2b27f6a6afe86d17539821a90a
February 3, 2026 15:27https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22500838638
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 3, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22500984367
https://github.com/apps/claude
claudehttps://github.com/apps/claude
Feb 3, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#issuecomment-3842039342
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 3, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3745980987
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files
src/mcp/server/mcpserver/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-51d6996c0b80b8a5c42e7071451cb9ed3c91b398facebe99b94aad911059190e
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/mcpserver/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-51d6996c0b80b8a5c42e7071451cb9ed3c91b398facebe99b94aad911059190e
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/shared/_context.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-51d43110ef8cfa0d238a0e8ce301c02851259f50d00316c5146c91fa4e768ece
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
February 3, 2026 15:41https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22501213465
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Feb 3, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3746029857
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/mcpserver/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-51d6996c0b80b8a5c42e7071451cb9ed3c91b398facebe99b94aad911059190e
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/shared/message.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-e87607af2a5ca4eeaf91e471c711340e954899e1504ebb1fcc981afe4639bc70
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
force-pushedhttps://github.com/modelcontextprotocol/python-sdk/compare/7221cca7cb89499ca76fb5e4dd38082550495303..7e9e53f88e5593dd26663ffedfb461fff144d7f9
7221ccahttps://github.com/modelcontextprotocol/python-sdk/commit/7221cca7cb89499ca76fb5e4dd38082550495303
7e9e53fhttps://github.com/modelcontextprotocol/python-sdk/commit/7e9e53f88e5593dd26663ffedfb461fff144d7f9
Compare https://github.com/modelcontextprotocol/python-sdk/compare/7221cca7cb89499ca76fb5e4dd38082550495303..7e9e53f88e5593dd26663ffedfb461fff144d7f9
February 9, 2026 13:38https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22644313111
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Feb 9, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3774930327
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Feb 9, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3774931645
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 10, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#ref-issue-3879779910
Add type annotations for all server decorators (list_tools, list_resources, read_resource) #1980 https://github.com/modelcontextprotocol/python-sdk/issues/1980
maxisbeyhttps://github.com/maxisbey
February 11, 2026 15:16https://github.com/modelcontextprotocol/python-sdk/pull/1985#commits-pushed-2a5ebec
https://github.com/maxisbey
refactor: replace lowlevel Server decorators with on_* constructor kw…https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/2a5ebec66cd702e4147c03ee56b8faed0088cf80
2a5ebechttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/2a5ebec66cd702e4147c03ee56b8faed0088cf80
https://github.com/maxisbey
fix: remove unnecessary request_ctx contextvar from notification hand…https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/2b9e8c7204b0f5b37e53101f6ba1dab208620b7d
2b9e8c7https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/2b9e8c7204b0f5b37e53101f6ba1dab208620b7d
https://github.com/maxisbey
fix: address PR review comments on migration docs and type hintshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/a7779e119c3a7cc9bd8497c2e5b10f7d9cc31952
a7779e1https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/a7779e119c3a7cc9bd8497c2e5b10f7d9cc31952
https://github.com/maxisbey
fix: collapse single-arg Server() to one line in migration examplehttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/b2dc1af855e6f1ad20779ebffd5418bf9813a936
b2dc1afhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/b2dc1af855e6f1ad20779ebffd5418bf9813a936
https://github.com/maxisbey
refactor: replace _create_handler_kwargs with private methods on MCPS…https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/e7a6e5ffcd16cac9fb26df7a5aea33bdd5721928
e7a6e5fhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/e7a6e5ffcd16cac9fb26df7a5aea33bdd5721928
https://github.com/maxisbey
refactor: use dict instead of list of tuples for handler mapshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/e0fc054d89620facc28f171e26b4ea47e7beab99
e0fc054https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/e0fc054d89620facc28f171e26b4ea47e7beab99
https://github.com/maxisbey
docs: document keyword-only Server constructor params in migration guidehttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/56e4ada661a35049733ff77bf2f6867c01679c6d
56e4adahttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/56e4ada661a35049733ff77bf2f6867c01679c6d
https://github.com/maxisbey
refactor: inline _register_default_task_handlers into enable_taskshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/5e4274a67be8af0c7f8a9295ba523146558deaaf
5e4274ahttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/5e4274a67be8af0c7f8a9295ba523146558deaaf
https://github.com/maxisbey
feat: add on_* handler kwargs to enable_tasks for custom task handlershttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/032ebb26e137cc71b72145fdfae8ec6118502819
032ebb2https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/032ebb26e137cc71b72145fdfae8ec6118502819
https://github.com/maxisbey
refactor: drop explicit Any from ServerRequestContext, rely on Reques…https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/9b77527c3664905d57c919ff452303a659ecba1d
9b77527https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/9b77527c3664905d57c919ff452303a659ecba1d
https://github.com/maxisbey
refactor: make ExperimentalHandlers generic on LifespanResultThttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/b466beb261082a098b34e0b8daef034adede622c
b466bebhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/b466beb261082a098b34e0b8daef034adede622c
https://github.com/maxisbey
refactor: type MCPServer handler signatures instead of Anyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/edf48333a28f4aab27eae642ad5f5dac36296760
edf4833https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/edf48333a28f4aab27eae642ad5f5dac36296760
https://github.com/maxisbey
refactor: type notify as ClientNotification, remove getattrhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/7801dc3e463c0003af5868577cc1b9dc1ab88d82
7801dc3https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/7801dc3e463c0003af5868577cc1b9dc1ab88d82
https://github.com/maxisbey
fix: resolve pyright errors in ExperimentalHandlers.enable_taskshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/5fd17d133741accd5e20422a0d16e526375e7fd4
5fd17d1https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/5fd17d133741accd5e20422a0d16e526375e7fd4
https://github.com/maxisbey
fix: advertise subscribe capability when handler is registeredhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/178d41f442cbbd1e5cf1d8d940bd79b609a87b0d
178d41fhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/178d41f442cbbd1e5cf1d8d940bd79b609a87b0d
https://github.com/maxisbey
refactor: make on_ping non-optional with default handler per MCP spechttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/ca8fd2e380c381f11fe9dce15891f8500edd7640
ca8fd2ehttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/ca8fd2e380c381f11fe9dce15891f8500edd7640
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
force-pushedhttps://github.com/modelcontextprotocol/python-sdk/compare/e9df629329fa2fae52effe730d0f2afd84433100..ca8fd2e380c381f11fe9dce15891f8500edd7640
e9df629https://github.com/modelcontextprotocol/python-sdk/commit/e9df629329fa2fae52effe730d0f2afd84433100
ca8fd2ehttps://github.com/modelcontextprotocol/python-sdk/commit/ca8fd2e380c381f11fe9dce15891f8500edd7640
Compare https://github.com/modelcontextprotocol/python-sdk/compare/e9df629329fa2fae52effe730d0f2afd84433100..ca8fd2e380c381f11fe9dce15891f8500edd7640
February 11, 2026 15:16https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22707082790
maxisbeyhttps://github.com/maxisbey
February 11, 2026 17:48https://github.com/modelcontextprotocol/python-sdk/pull/1985#commits-pushed-f4c256f
https://github.com/maxisbey
fix: update tests to use new Server constructor kwargs patternhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/f4c256fd5753317c9ec04de2401bbd7f96e65c03
f4c256fhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/f4c256fd5753317c9ec04de2401bbd7f96e65c03
https://github.com/maxisbey
fix: migrate experimental task server tests to new handler patternhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/b3f817fd2f6dc702645b6c101e57ec5b145fed93
b3f817fhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/b3f817fd2f6dc702645b6c101e57ec5b145fed93
https://github.com/maxisbey
fix: migrate tests to new Server constructor kwargs patternhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/c72c2dc0b02fe1cc29a72239f0fb1fa39d80a0e7
c72c2dchttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/c72c2dc0b02fe1cc29a72239f0fb1fa39d80a0e7
https://github.com/maxisbey
fix: skip partial task capability testshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/793b144d39185bd4378aa72e33e1a6056a64d7e6
793b144https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/793b144d39185bd4378aa72e33e1a6056a64d7e6
https://github.com/maxisbey
fix: migrate examples and snippets to new Server constructor kwargs p…https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/8da8b7b4593a8735e8326df87e5bd5cbdbe306bb
8da8b7bhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/8da8b7b4593a8735e8326df87e5bd5cbdbe306bb
https://github.com/maxisbey
fix: update README.v2.md prose to match new low-level Server APIhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/92f0de5b3864bdb758d4524742c135d79db9ed0e
92f0de5https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/92f0de5b3864bdb758d4524742c135d79db9ed0e
https://github.com/maxisbey
fix: improve test coverage across lowlevel server and experimental taskshttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/f61ca1ff5aa3f80e7f534cdf87360791e3dcb333
f61ca1fhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/f61ca1ff5aa3f80e7f534cdf87360791e3dcb333
https://github.com/maxisbey
fix: cover experimental property cache-hit branch and fix completion …https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/c1a7020f225701e2684a178de8d1800997f96db9
c1a7020https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/c1a7020f225701e2684a178de8d1800997f96db9
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
February 11, 2026 22:55https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22718792318
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 11, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#issuecomment-3887699174
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Feb 12, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3790329466
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9
examples/servers/simple-pagination/mcp_simple_pagination/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9#diff-8013baeccecb4c3cf7794c3eb26b5cea0d14dcf59a0b4c6d6727ae6818d9803e
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Copilothttps://github.com/apps/copilot-pull-request-reviewer
February 12, 2026 11:12https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22731781491
started reviewinghttps://github.com/modelcontextprotocol/python-sdk/sessions/426e0610-2059-4517-8ef4-2feb53fc96f4
Kludexhttps://github.com/Kludex
February 12, 2026 11:12https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22731794231
View session https://github.com/modelcontextprotocol/python-sdk/sessions/426e0610-2059-4517-8ef4-2feb53fc96f4
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Feb 12, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3790338510
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9
Kludexhttps://github.com/Kludex
https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3790338510
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/apps/copilot-pull-request-reviewer
Copilothttps://github.com/apps/copilot-pull-request-reviewer
Feb 12, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3790380671
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9
Copilothttps://github.com/apps/copilot-pull-request-reviewer
https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3790380671
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Add Copilot custom instructionshttps://github.com/modelcontextprotocol/python-sdk/new/main/.github/instructions?filename=*.instructions.md
Learn how to get startedhttps://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
docs/migration.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
examples/servers/simple-streamablehttp/mcp_simple_streamablehttp/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9#diff-6f8bfa77e7dd219d4340997e7e165170e698dd73e1a872ad790fafa4147d7f3b
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
src/mcp/server/lowlevel/server.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9#diff-b21bf5e21c058ccfddb404c209f2d4288e4f32b121111ffc9d466638631d13e4
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 12, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#issuecomment-3890553029
https://private-user-images.githubusercontent.com/224885523/548812674-0da89425-d860-4e79-b5e1-f726ef36a675.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4ODEyNjc0LTBkYTg5NDI1LWQ4NjAtNGU3OS1iNWUxLWY3MjZlZjM2YTY3NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNTExZDU2ZjY2NDZmYmIzMDM0ZmM2OGNhYTNhYWZiMzkzMDY3YjYwZWU5ZDI3MjdmOTE1YTg3NTlhN2Q5NGEwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.SpaEYf9qn9EAka-lwVW0UG9hU5GcFuo16krqp3DM5Ao
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
fix: address PR review comments (typo and field name in docs)https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/868165a1a0d1cb9eaffe14eae092bc9047f069b0
868165ahttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/868165a1a0d1cb9eaffe14eae092bc9047f069b0
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Kludexhttps://github.com/Kludex
stale reviewhttps://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3790338510
868165ahttps://github.com/modelcontextprotocol/python-sdk/commit/868165a1a0d1cb9eaffe14eae092bc9047f069b0
February 12, 2026 14:10https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22736653952
https://github.com/maxisbey
fix: improve migration guide accuracy and document additional breakin…https://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/903866c9ccd27f45b67b4ee5a30ab34f1cdafe28
903866chttps://github.com/modelcontextprotocol/python-sdk/pull/1985/commits/903866c9ccd27f45b67b4ee5a30ab34f1cdafe28
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Kludexhttps://github.com/Kludex
February 12, 2026 15:50https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22739718248
https://github.com/Kludex
Kludexhttps://github.com/Kludex
Feb 12, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#pullrequestreview-3791869645
View reviewed changes https://github.com/modelcontextprotocol/python-sdk/pull/1985/files/903866c9ccd27f45b67b4ee5a30ab34f1cdafe28
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
0a22a9dhttps://github.com/modelcontextprotocol/python-sdk/commit/0a22a9dc33ee5396877f2cdae2165e5a05108357
Feb 12, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22739916845
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
February 12, 2026 15:55https://github.com/modelcontextprotocol/python-sdk/pull/1985#event-22739920350
BryceEWatsonhttps://github.com/BryceEWatson
Feb 12, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#ref-commit-4effbed
https://github.com/BryceEWatson
merge: resolve conflict with upstream mainhttps://github.com/BryceEWatson/python-sdk/commit/4effbed519906910eda5faa795a6168ad9811b94
4effbedhttps://github.com/BryceEWatson/python-sdk/commit/4effbed519906910eda5faa795a6168ad9811b94
modelcontextprotocol#1985https://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 12, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1985#issuecomment-3891994816
http://127.0.0.1:$port/mcphttp://127.0.0.1:$port/mcp
http://127.0.0.1:$port\\\http://127.0.0.1:$port%5C%5C%5C
http://127.0.0.1:23000/mcphttp://127.0.0.1:23000/mcp
http://127.0.0.1:23001/mcphttp://127.0.0.1:23001/mcp
http://127.0.0.1:23002/mcphttp://127.0.0.1:23002/mcp
http://127.0.0.1:23003/mcphttp://127.0.0.1:23003/mcp
http://127.0.0.1:23004/mcphttp://127.0.0.1:23004/mcp
http://127.0.0.1:23005/mcphttp://127.0.0.1:23005/mcp
#10https://github.com/modelcontextprotocol/python-sdk/issues/10
https://private-user-images.githubusercontent.com/224885523/548948985-44c58c21-a4f8-4e7d-8770-7ea862a2a487.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ4OTg1LTQ0YzU4YzIxLWE0ZjgtNGU3ZC04NzcwLTdlYTg2MmEyYTQ4Ny5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iODY0ZjUyMzY3MWY2MzVmOGZhMDlhMjBiNGVhMzdlOTE3ODNlNzIzZmFmYzgzNWMxOTA1NGViNGNiODM3ZDJjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.DSBa-FKgBmOHA46Tj3ZhZNHMVJqEfSDptQypidqdjwU
https://private-user-images.githubusercontent.com/224885523/548948991-9b8a9461-f025-43b7-9ca9-3e0f413f7745.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ4OTkxLTliOGE5NDYxLWYwMjUtNDNiNy05Y2E5LTNlMGY0MTNmNzc0NS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yZDY0MWYwN2RhZDhlMmNiZGVjMTViNzY4MDM4ZWIxMGZiOTU3MTFkYmRhYjAzOWQ4NjZjZDQwMTRlNDI3N2Q2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.nbKuPOow-w4BAemGXLtHh061QQCop7MigsMO987NckU
https://private-user-images.githubusercontent.com/224885523/548948994-073c014b-600b-4a4e-82ad-51af449b4061.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ4OTk0LTA3M2MwMTRiLTYwMGItNGE0ZS04MmFkLTUxYWY0NDliNDA2MS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZThiZDY0ZTdmZTg3NWUyM2JjOGMxYWI5NWUwMDE5M2ZlMDZhY2Y1NTU1MTI4NTFiMzI5ZmJlMTU0NjliZDRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.KKDFaqqajtobBCyeKcmihz9arTqxuvC2bs0UTjfErUI
https://private-user-images.githubusercontent.com/224885523/548948999-b6e7b50b-fcf8-4aec-b32f-8c8e53f7760f.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ4OTk5LWI2ZTdiNTBiLWZjZjgtNGFlYy1iMzJmLThjOGU1M2Y3NzYwZi5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NGRhNDJlZmYzNGM3ZTk5NTAxMGZjNWQ1MDM4MzI3MTNiYjNlZDc5ZTM0NjY1NmYzN2U3ZDFkZWM3ZTNmMmUxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.SUH5CWWX-d27TmTwpD193BlNbp2lTL297NtHS9LScCI
https://private-user-images.githubusercontent.com/224885523/548949000-41e6cb75-7ed5-4f35-8dfd-3369b50d8fca.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDAwLTQxZTZjYjc1LTdlZDUtNGYzNS04ZGZkLTMzNjliNTBkOGZjYS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNTljYjRjZjU3YWUwNTdkZTUxNzM4NjM4MTQ2ODM1ZjU5ODIzMWMyZWMwZTlmYzc3YzE3NWZmMzgyZmUxMWU1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.Bra-OsXmRnIeymuyx6GL6YcTwVgC4kVhBlkbhIeH6yc
https://private-user-images.githubusercontent.com/224885523/548949001-2209b345-5f10-4c37-bf86-b582b678b4c1.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDAxLTIyMDliMzQ1LTVmMTAtNGMzNy1iZjg2LWI1ODJiNjc4YjRjMS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYmM5MzZlNzc3MGEyYWFkYzI1YmJiMGI1NDE2ZGZlN2YzZTgxZGFhYjBmNzViZjIzYzY2ZWI5ZmEwMmZmZjZlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.1UeARVBYjvHZojgrMK_PSfqFG1QK0-n2HjMh7eqjrrM
https://private-user-images.githubusercontent.com/224885523/548949008-158e9056-6fdc-4d1c-aa71-ce4f29ddc813.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDA4LTE1OGU5MDU2LTZmZGMtNGQxYy1hYTcxLWNlNGYyOWRkYzgxMy5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNzUzZTVjOGFjYTZjOGFmMzQ4MWIyNjAwODcwOWNiZWM1ZWIxMzgxNzRkN2NkYjU3YTI3ZTExMDA5MjdhNWFhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.Q7LEque8ZaULISf5r-hsxq9AietKtTC7owyqm21Wlfg
https://private-user-images.githubusercontent.com/224885523/548949013-e5a8e4e3-33c6-4c71-937f-3b3dfc83f3c0.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDEzLWU1YThlNGUzLTMzYzYtNGM3MS05MzdmLTNiM2RmYzgzZjNjMC5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04OWUwNTg3Mjk0MjRlYTY0MjczOTU2Yjk1MzI3Yzc5NmNiNDY3YmNhOTFiMDc2NWQ4MTgwMzI3OGRkZTcxZDEzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.OSkjYzbYLchKvht8IPjs-kRlJqTT2uBFY4LSGlIkV1k
https://private-user-images.githubusercontent.com/224885523/548949016-1f32819a-da24-4467-8728-c4c2127cb93d.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDE2LTFmMzI4MTlhLWRhMjQtNDQ2Ny04NzI4LWM0YzIxMjdjYjkzZC5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNzkwYzk3YTNkZGFkZDk3Njc4MGFlN2ZkNTUzYWYzYTZkODI2NTc5YWVjZjAwMmUxNDY3MGU2MTNkMmQzYTk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.5cmQ5BauPNd6SobzIbirzm4OXcyR9XshTuLDKhA4EB4
https://private-user-images.githubusercontent.com/224885523/548949021-bd9b4c18-f5a5-45d6-afaf-378b87470794.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDIxLWJkOWI0YzE4LWY1YTUtNDVkNi1hZmFmLTM3OGI4NzQ3MDc5NC5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03ZjMwNWU1ZGQ2ZDY2Y2YyNTZkY2UzNmVkODc3Yzc2MzRiYjgzYjA1ZDZkZjEyMWE2YmZhNTJkMjgzZTk1NmIyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.Dw3x1GpEJRd4tscXrXWuiau-6pSUmyPL8vH5Zg0MDM8
https://private-user-images.githubusercontent.com/224885523/548949028-370abc8b-2cd1-4253-af20-22bab5f1c875.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDI4LTM3MGFiYzhiLTJjZDEtNDI1My1hZjIwLTIyYmFiNWYxYzg3NS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZDE4ZmEyZWYyZmJjYTBkZTRkM2UzYTFlNWZmOGJiNGI4Zjk2YjQyMDZlNzRjOGZkYTU5MDA1YTI2ZjFiMjE4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.cRqkC5NQiFdWksMOJ0qEaZp11O_DKr9et6QqOBNcEn4
https://private-user-images.githubusercontent.com/224885523/548949031-8a0867c5-c992-4240-a726-097265c78545.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDMxLThhMDg2N2M1LWM5OTItNDI0MC1hNzI2LTA5NzI2NWM3ODU0NS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMGRjZTVlYjg4Zjc4MDQ0MGJmOGI5MGEzMDUxMzM1YTY1MGI5NjMzYzBiNDc2YTVlNWM0YjQxMWNhZDFlYWU3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.V3V5TtspFzO-ubu7VTrcRx6Wfqpe_sCPxuvZLIAdxGU
https://private-user-images.githubusercontent.com/224885523/548949034-53076893-e238-49be-bd28-19ab48166efe.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDM0LTUzMDc2ODkzLWUyMzgtNDliZS1iZDI4LTE5YWI0ODE2NmVmZS5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZTY5MDI4NjczMzY5ZDg1MGUzYTczZTc5MjAzYTNhMjk1YmVjMmNlOWUwNjc0MmQ3NzUzZjFiMGM3NmE3YjJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.kG5k6lEb7fnJ-YN_Jum0mwwPjf2aIchuaz8mXGtOSsY
https://private-user-images.githubusercontent.com/224885523/548949040-202427df-7c69-404d-9427-6451b5fc3fdf.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDQwLTIwMjQyN2RmLTdjNjktNDA0ZC05NDI3LTY0NTFiNWZjM2ZkZi5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNDNhYjhiYzllNTJmOGQ0YjE2NjQxMTBiNTE5OTkwODg0YWRiODliZGYyYzhjNzgwYzlkODJjNTZlZmY1MDJlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.yWIJtdsFoFK9-fliQgCO4FVq5qVttglTLrLvyPmrlI0
https://private-user-images.githubusercontent.com/224885523/548949045-21b1f443-7de7-46dc-8c15-4e2ab9b16716.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODQ0MDIxODgsIm5iZiI6MTc4NDQwMTg4OCwicGF0aCI6Ii8yMjQ4ODU1MjMvNTQ4OTQ5MDQ1LTIxYjFmNDQzLTdkZTctNDZkYy04YzE1LTRlMmFiOWIxNjcxNi5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxOFQxOTExMjhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xOTg2YmFjNDllNTVhYmVjNjg4ZDI3ODNiM2E0NWQ3MjM0MTM4NGJiMGU2MGUxMWRhY2QwNGIzZDBkY2EyOTViJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZnaWYifQ.FoMUDPSxGDWvAMoa91lzRUriZ12Z2hhTD3kSJN7qgIk
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
maxisbeyhttps://github.com/maxisbey
Feb 19, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#ref-issue-3964872609
Support custom method handlers with custom params and return types on MCPServer #2105 https://github.com/modelcontextprotocol/python-sdk/issues/2105
BryceEWatsonhttps://github.com/BryceEWatson
Mar 7, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1985#ref-commit-b23b702
https://github.com/BryceEWatson
merge: resolve conflicts with upstream mainhttps://github.com/BryceEWatson/python-sdk/commit/b23b702b3daa6a160bfe6fe968d3e04439c39dc2
b23b702https://github.com/BryceEWatson/python-sdk/commit/b23b702b3daa6a160bfe6fe968d3e04439c39dc2
modelcontextprotocol#2203https://github.com/modelcontextprotocol/python-sdk/pull/2203
modelcontextprotocol#1985https://github.com/modelcontextprotocol/python-sdk/pull/1985
modelcontextprotocol#2095https://github.com/modelcontextprotocol/python-sdk/pull/2095
modelcontextprotocol#2080https://github.com/modelcontextprotocol/python-sdk/pull/2080
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F1985
Copilot code review https://github.com/apps/copilot-pull-request-reviewer
Copilot https://github.com/apps/copilot-pull-request-reviewer
https://github.com/modelcontextprotocol/python-sdk/pull/1985/files/c1a7020f225701e2684a178de8d1800997f96db9
https://github.com/Kludex
Kludex https://github.com/Kludex
https://github.com/modelcontextprotocol/python-sdk/pull/1985/files/903866c9ccd27f45b67b4ee5a30ab34f1cdafe28
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1985
https://github.com/maxisbey
https://github.com/Kludex
https://github.com/apps/copilot-pull-request-reviewer
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.