Title: Add ValidationOptions for lenient output schema validation by lorenss-m · Pull Request #1260 · modelcontextprotocol/python-sdk · GitHub
Open Graph Title: Add ValidationOptions for lenient output schema validation by lorenss-m · Pull Request #1260 · modelcontextprotocol/python-sdk
X Title: Add ValidationOptions for lenient output schema validation by lorenss-m · Pull Request #1260 · modelcontextprotocol/python-sdk
Description: Motivation and Context Currently, MCP clients raise RuntimeError when tools don't return structured content matching their outputSchema. This breaks integrations with servers that have schema/implementation mismatches. This PR adds optional lenient validation that converts these errors to warnings, allowing clients to continue operating with imperfect servers. How Has This Been Tested? Added test suite in tests/client/test_validation_options.py All existing tests pass Tested with real MCP servers exhibiting validation issues Breaking Changes None. Default behavior unchanged. Lenient validation is opt-in: from mcp.client.session import ValidationOptions # Opt-in to lenient validation options = ValidationOptions(strict_output_validation=False) session = ClientSession(read, write, validation_options=options) 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 Added ValidationOptions class following existing patterns (e.g., TransportSecuritySettings) Modified ClientSession.call_tool() to check options before raising validation errors Fixed workspace config issue with structured_output_lowlevel.py by creating proper package structure
Open Graph Description: Motivation and Context Currently, MCP clients raise RuntimeError when tools don't return structured content matching their outputSchema. This breaks integrations with servers that have schema/i...
X Description: Motivation and Context Currently, MCP clients raise RuntimeError when tools don't return structured content matching their outputSchema. This breaks integrations with servers that have sche...
Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/1260
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:7fb415e3-f9d2-04a1-d902-f5c3d7105beb |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 9E6E:336741:A72807:DF8450:6A5B4A74 |
| html-safe-nonce | b1cf1548c0b26a1c6f4e4362e5d11daae9d3f1440a41412eca9a34ad507e6868 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTZFOjMzNjc0MTpBNzI4MDc6REY4NDUwOjZBNUI0QTc0IiwidmlzaXRvcl9pZCI6IjMxNjkwOTYzMjE4NDE0NDk1ODgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 72d526685ddc7c2f6e5c4b59d51706cbdc5c3148755c1eea2fe2aa45bbdeb3fe |
| hovercard-subject-tag | pull_request:2733794886 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/modelcontextprotocol/python-sdk/pull/1260/files |
| twitter:image | https://avatars.githubusercontent.com/u/31991968?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/31991968?s=400&v=4 |
| og:image:alt | Motivation and Context Currently, MCP clients raise RuntimeError when tools don't return structured content matching their outputSchema. This breaks integrations with servers that have schema/i... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git |
| octolytics-dimension-user_id | 182288589 |
| octolytics-dimension-user_login | modelcontextprotocol |
| octolytics-dimension-repository_id | 862584018 |
| octolytics-dimension-repository_nwo | modelcontextprotocol/python-sdk |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 862584018 |
| octolytics-dimension-repository_network_root_nwo | modelcontextprotocol/python-sdk |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width