Title: Add schema validation to lowlevel server by bhosmer-ant · Pull Request #1005 · modelcontextprotocol/python-sdk · GitHub
Open Graph Title: Add schema validation to lowlevel server by bhosmer-ant · Pull Request #1005 · modelcontextprotocol/python-sdk
X Title: Add schema validation to lowlevel server by bhosmer-ant · Pull Request #1005 · modelcontextprotocol/python-sdk
Description: Lowlevel server validates incoming tool call arguments against tool's inputSchema note: @server.call_tool(validate_input=False) can be used to disable input validation validates tool call results against tool's outputSchema, if defined Motivation and Context Previously lowlevel server did no schema validation for tool calls. How Has This Been Tested? New tests added, old tests (which now run lowlevel tool calls through schema validation) succeed without change. Breaking Changes Possible that some tools defined in the lowlevel server "just worked" against invalid incoming arguments, these will now fail validation. @server.call_tool(validate_input=False) can be used in this situation. 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 In addition to adding validation to the lowlevel server, FastMCP delegates to the lowlevel server and will depend on validation being performed here.
Open Graph Description: Lowlevel server validates incoming tool call arguments against tool's inputSchema note: @server.call_tool(validate_input=False) can be used to disable input validation validates tool call r...
X Description: Lowlevel server validates incoming tool call arguments against tool's inputSchema note: @server.call_tool(validate_input=False) can be used to disable input validation validates tool ca...
Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/1005
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:c85cdcc4-dbee-29f5-e33b-c1add32315ee |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 90E6:1F2D8B:2D1DC2A:3C2AA97:6A5DA7C8 |
| html-safe-nonce | 09e16dbeb99f1b1a6840e100c72a27965e55e8b00dcceaae705e0c2213bded6d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MEU2OjFGMkQ4QjoyRDFEQzJBOjNDMkFBOTc6NkE1REE3QzgiLCJ2aXNpdG9yX2lkIjoiNTE2NDA0MjUxODQwMjAxNzIyNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | d44f1291a73d747f107e24892929ceb3554b13e7d10d227c90dd8a5a05e65651 |
| hovercard-subject-tag | pull_request:2612418520 |
| 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/1005/files |
| twitter:image | https://avatars.githubusercontent.com/u/177685734?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/177685734?s=400&v=4 |
| og:image:alt | Lowlevel server validates incoming tool call arguments against tool's inputSchema note: @server.call_tool(validate_input=False) can be used to disable input validation validates tool call r... |
| 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