fix(mcp): correct optional parameter handling#1376
Open
corylanou wants to merge 4 commits into
Open
Conversation
PR Build Metrics✅ All clear — no issues detected
Binary Size
Dependency ChangesNo dependency changes. govulncheck OutputBuild Info
History (3 previous)
🤖 Updated on each push. |
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
Correct MCP command construction so optional values use the SDK accessors, empty config paths are omitted, and restore parameters are self-describing. Restore continues accepting the legacy
oalias while publishingoutput, and boolean options now map to valid CLI flags.In scope:
Not in scope:
Motivation and Context
Before this change, the regression tests showed
databases,info,status, andresetexecuting with an empty-configvalue. Restore also ignored the self-describingoutputargument and emitted boolean values as separate positional arguments. The MCP schema exposed the CLI shorthandoand described conditional behavior as returning an exit code rather than explaining the tool behavior.Fixes #1366
How Has This Been Tested?
Changed production code is in
package main, so the workflow coverage gate is informational;cmd/litestream/mcp.gomeasured 63.1% statement coverage.Types of changes
Checklist
go fmt,go vet)go test ./...)Closes #1366