Repository navigation
Fix explicit null validation for optional MCP tool inputs - #474
Open
dustin-sale wants to merge 3 commits into
Open
dustin-sale wants to merge 3 commits into
dustin-sale wants to merge 3 commits into
Conversation
Accept explicit null for 154 optional tool parameters in Database, Networking, Cloud Guard, MySQL, and DBTools. Add schema and dispatch regression tests and update existing server changelogs. Refs oracle#470 Signed-off-by: Dustin Sale <dustin.sale@oracle.com>
Accept explicit null for 148 optional tool parameters across ADP, Essbase, and Data Transforms. Add focused schema and dispatch regression tests, preserving the coverage gate and coverage tests already on main. Refs oracle#470 Signed-off-by: Dustin Sale <dustin.sale@oracle.com>
dustin-sale
marked this pull request as ready for review
October 7, 2026 16:20
dustin-sale
requested review from
AlaaShaker,
gebhardtr and
krisrice
as code owners
October 7, 2026 16:20
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Optional tool arguments annotated with non-nullable types reject explicit
JSON null even when their default is None. For example, Database calls
with
"region": nullfail validation instead of using the configureddefault region.
Update 302 optional parameters across six servers to accept null,
preserving existing defaults, handler behavior, and validation constraints:
Add regression tests for advertised schemas and tool calls with omitted,
null, valid, and invalid inputs. Update existing server changelogs.
No dependencies change. Data Studio's coverage improvements and 90%
coverage gate already on main are preserved without modification.
Fixes #470
Type of change
How Has This Been Tested?
Null-input regression tests failed before the annotation fixes and passed
afterward. External OCI and database operations are mocked.
With the project toolchain and package dependencies installed:
moon run :test— passed; 31 tasks completed.Data Studio: 764 tests passed with 90.15% coverage.
moon run root:combine-coverage --force— passed with 94%combined Python coverage.
moon run root:lint --force— passed.src/mysql-mcp-server:python -m unittest oracle.mysql_mcp_server.tests.test_null_inputs -v— two tests passed, including three parameter subtests.
src/dbtools-mcp-server:python -m unittest test_null_inputs -v— two tests passed, including three parameter subtests.
Validation limits: the full MySQL suite has nine failures and 24 setup
errors under the offline configuration; the same failing/error test IDs
occur on unchanged baseline code. DBTools' existing live-service suite
was not run. These two packages are excluded from the Moon workspace.
Test Configuration:
Other packages use their existing dependency definitions.
Checklist: