René's URL Explorer Experiment


Title: Add conformance testing CI pipeline by maxisbey · Pull Request #1915 · modelcontextprotocol/python-sdk · GitHub

Open Graph Title: Add conformance testing CI pipeline by maxisbey · Pull Request #1915 · modelcontextprotocol/python-sdk

X Title: Add conformance testing CI pipeline by maxisbey · Pull Request #1915 · modelcontextprotocol/python-sdk

Description: Summary Add a conformance testing pipeline that validates the Python SDK against the @modelcontextprotocol/conformance npm package. This mirrors the approach used in the TypeScript SDK. Changes New Files examples/clients/conformance-client/ - Unified conformance test client Handles all test scenarios via environment variables and CLI arguments Supports OAuth authorization code flow (default for all auth scenarios) Supports client credentials with client_secret_basic and private_key_jwt scripts/run-server-conformance.sh - Server conformance test runner Starts the everything-server on port 3001 Waits for server readiness Runs npx @modelcontextprotocol/conformance server .github/workflows/conformance.yml - CI workflow server-conformance job: Tests the Python SDK server implementation client-conformance job: Tests the Python SDK client implementation Both jobs use continue-on-error: true to match the TS SDK approach Test Results (Local) Test Type Passed Server 24/24 Client (metadata suite) 36/36 Client (auth suite) 108/108 Client (sep-835 suite) 48/48 Running Locally # Server conformance ./scripts/run-server-conformance.sh # Client conformance (individual suites) npx @modelcontextprotocol/conformance client --command 'uv run --frozen mcp-conformance-client' --suite metadata npx @modelcontextprotocol/conformance client --command 'uv run --frozen mcp-conformance-client' --suite auth npx @modelcontextprotocol/conformance client --command 'uv run --frozen mcp-conformance-client' --suite sep-835

Open Graph Description: Summary Add a conformance testing pipeline that validates the Python SDK against the @modelcontextprotocol/conformance npm package. This mirrors the approach used in the TypeScript SDK. Changes New...

X Description: Summary Add a conformance testing pipeline that validates the Python SDK against the @modelcontextprotocol/conformance npm package. This mirrors the approach used in the TypeScript SDK. Changes New...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:24af3666-54ef-bc53-d8ba-fe00433c5833
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id89A4:3699FD:57757A:7417BE:6A5B9BC3
html-safe-nonced2dc043d1eab1b2d52c74abcecd640f83dbd8dbcce50eb28c83da5e471f48536
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OUE0OjM2OTlGRDo1Nzc1N0E6NzQxN0JFOjZBNUI5QkMzIiwidmlzaXRvcl9pZCI6IjgyMTc2NDcxNTA2ODk2NTU3NDciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmaca59f766b4a86e324fc245e0edf461f608708962292006af7ef94c194e6004dce
hovercard-subject-tagpull_request:3192111850
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/1915/files
twitter:imagehttps://avatars.githubusercontent.com/u/224885523?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/224885523?s=400&v=4
og:image:altSummary Add a conformance testing pipeline that validates the Python SDK against the @modelcontextprotocol/conformance npm package. This mirrors the approach used in the TypeScript SDK. Changes New...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b
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
release9c975978430e9ad293956f2bbdaf153b1bd84a99
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F1915%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%2F1915%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/1915/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/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 259 https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests 305 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
maxisbeyhttps://github.com/maxisbey
mainhttps://github.com/modelcontextprotocol/python-sdk/tree/main
add-conformance-testing-cihttps://github.com/modelcontextprotocol/python-sdk/tree/add-conformance-testing-ci
Conversation 14 https://github.com/modelcontextprotocol/python-sdk/pull/1915
Commits 11 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits
Checks 28 https://github.com/modelcontextprotocol/python-sdk/pull/1915/checks
Files changed https://github.com/modelcontextprotocol/python-sdk/pull/1915/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
Add conformance testing CI pipeline https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#top
Show all changes 11 commits https://github.com/modelcontextprotocol/python-sdk/pull/1915/files
de7f8c4 Add conformance testing CI pipeline maxisbey Jan 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/de7f8c4cdf6822d75740def7c85caec8cd71c77c
7ff7dd5 Fix CI: use --package instead of --all-packages maxisbey Jan 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/7ff7dd5b308efc53813b94c94b356a144308f81d
6be97c9 Add --suite all to client conformance maxisbey Jan 20, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/6be97c9e99c1550734b705d7a6d4c5a482851f0a
9127055 Fix elicitation conformance tests and add results/ to gitignore maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/9127055e52b38da68488d7eb34ef7270dda6940e
8d139d7 Add CIMD client_metadata_url to conformance client maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/8d139d7a6b9086620232519da70912ea75de0485
70ab5ca Move conformance client/server scripts to scripts/conformance/ maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/70ab5cae0b0957b2fe4d25898e4702a410340576
bec2f20 Move conformance-auth-client to scripts/conformance/ maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/bec2f20492da56f68756e1c4789a1b6c38fc7817
834f791 Merge branch 'main' into add-conformance-testing-ci maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/834f791baeb71ab67debf21ab4251e4563f499c0
12c7936 Pin @modelcontextprotocol/conformance to 0.1.10 maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/12c7936413f6b711a0ed9a86298696c82d331efc
f7c1b76 Pin GitHub Actions to commit SHAs maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/f7c1b76559292b473c1c2223475fab88e4f9eb1b
f025224 Move conformance scripts to .github/actions/conformance/ maxisbey Jan 21, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/1915/commits/f0252241a7de5451f3c983b6e0c38b57ad56f022
Clear filters https://github.com/modelcontextprotocol/python-sdk/pull/1915/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
client.py https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
run-server.sh https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-4f2c42eaf447652d04e265a22fcd47cda9b7c111eb3f369afa471cf551f0a33f
conformance.yml https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-e5ed24bc2f5084a1664419e35473c15466f87e7552ef1fad4d13cdde0eaed400
.gitignore https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947
README.md https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-0ee6587db8f011a7d55041faf36367c9e6f9c363be308d8370fc0333fadc9d7e
__init__.py https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-355f368a67f281c06c9fea5f8c6555cc76de54649c623fa6792d9f31099c57a8
__main__.py https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-55c879a86de8c1000f2e0f081b49c229d41171f9c3427a07da6895528f065d65
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-6f992c6dbb7741cfc165a139dfee782fe36f8abfb0a0f1759b8f3137d195c0a9
uv.lock https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-84321598744d84dbee2318e634c74c9aae39a1c253f1c4bd17ebf9ef2f807b11
.github/actions/conformance/client.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
View file https://github.com/modelcontextprotocol/python-sdk/blob/f0252241a7de5451f3c983b6e0c38b57ad56f022/.github/actions/conformance/client.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/1915/{{ revealButtonHref }}
Kludexhttps://github.com/Kludex
Jan 21, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#r2713066378
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
.github/actions/conformance/run-server.shhttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files#diff-4f2c42eaf447652d04e265a22fcd47cda9b7c111eb3f369afa471cf551f0a33f
View file https://github.com/modelcontextprotocol/python-sdk/blob/f0252241a7de5451f3c983b6e0c38b57ad56f022/.github/actions/conformance/run-server.sh
Open in desktop https://desktop.github.com
Kludexhttps://github.com/Kludex
Jan 21, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#r2713171189
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
maxisbeyhttps://github.com/maxisbey
Jan 21, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#r2713222019
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
maxisbeyhttps://github.com/maxisbey
Jan 21, 2026https://github.com/modelcontextprotocol/python-sdk/pull/1915/files#r2713575592
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
modelcontextprotocol/conformance#113https://github.com/modelcontextprotocol/conformance/pull/113
#1921https://github.com/modelcontextprotocol/python-sdk/pull/1921
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/files
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/1915/{{ revealButtonHref }}
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/1915/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.