Repository navigation
Conversation
Apply the findAndRerank argument standard to all MCP tools, following review feedback. - filter and sort arguments take their descriptions from FilterDefinition and SortDefinition, which Swagger also uses. A @ToolArg description replaced them, so clients saw only "filter" or "sort". - Collection arguments name what the command supports: the collection, the table, or a collection or table, based on CommandName targets. - Projection, update, replacement, document, definition, and options arguments get real descriptions in place of their bare names or generic text. - Descriptions drop "Optional" and "Required" prefixes, since the schema already lists required arguments, and use consistent capitalization. Generalize the contract tests to every tool: filter and sort use their class descriptions, and no argument is described only by its name or starts with "Optional" or "Required".
Add a JSON example to the descriptions of arguments whose generated schema does not show the wire shape, matching the projection example on findAndRerank. This covers alterTable operation, index definitions, table and type definitions, alterType rename and add, replacement, and inserted documents. The model status descriptions on findEmbeddingProviders and findRerankingProviders now name filterModelStatus and say that an empty string lists every model, which is how the operations behave. A new contract test parses each description example and deserializes it as its argument's Java type, so an example the server would reject fails the build.
Contributor
📈 Unit Test Coverage Delta vs Main Branch
|
Contributor
Unit Test Coverage Report
|
This was referenced Oct 23, 2026
Contributor
➡️ Integration Test Coverage Delta vs Main Branch (dse69-it)
|
Contributor
Integration Test Coverage Report (dse69-it)
|
Contributor
➡️ Integration Test Coverage Delta vs Main Branch (hcd-it)
|
Contributor
Integration Test Coverage Report (hcd-it)
|
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.
What this PR does:
Gives every MCP tool argument a description that says what it is and what JSON it takes, to the standard #2619 set for findAndRerank. Aaron asked for this in review. Filter and sort keep their class descriptions, and arguments whose schema hides the wire shape end with an example. A contract test deserializes each example as its argument type.
This overlaps #2651, which gives UpdateClause its own description. Whichever lands second should drop the update descriptions here.
Which issue(s) this PR fixes:
Addresses the MCP argument portion of #2604.
Verification
The format check passed (1,194 files, 0 non-complying), and all 90 focused tests passed with no failures, errors, or skips.
JAVA_HOME=/Library/Java/JavaVirtualMachines/graalvm-21.jdk/Contents/Home ./mvnw -B com.spotify.fmt:fmt-maven-plugin:check test -Dtest=McpProtocolTest,McpClauseSchemaContractTest,McpOpenApiSchemaAdapterTest,McpSchemaCustomizerTestPackaged integration tests and manual client checks were not run.
Checklist