Skip to content

Conversation

olaservo
Copy link
Member

Fix CLI argument parsing to support JSON values (resolves #431)

Motivation and Context

The CLI only accepted string arguments for tool calls, while the web UI supported full JSON values (objects, arrays, numbers, booleans). This made the CLI less useful for testing tools that require structured data.

How Has This Been Tested?

  • CLI builds successfully without TypeScript errors
  • Tested parsing of strings, numbers, booleans, objects, arrays, and null values
  • Verified backward compatibility with existing string arguments
  • Confirmed help command displays correctly

Breaking Changes

None. All existing CLI usage continues to work unchanged.

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

@olaservo olaservo added cli Issues and PRs specific to cli mode bug Something isn't working tools Issues related to testing tools labels Jul 26, 2025
@olaservo olaservo requested a review from cliffhall August 22, 2025 02:15
Copy link
Member

@cliffhall cliffhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally, looks good. I wonder if we should add an example of JSON tool args in the CLI Mode section of the README?

@olaservo
Copy link
Member Author

olaservo commented Aug 28, 2025

I wonder if we should add an example of JSON tool args in the CLI Mode section of the README?

Done!

@olaservo olaservo requested a review from cliffhall August 28, 2025 03:45
Copy link
Member

@cliffhall cliffhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 👍

@cliffhall cliffhall merged commit ef11c36 into modelcontextprotocol:main Aug 28, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cli Issues and PRs specific to cli mode tools Issues related to testing tools
Projects
None yet
Development

Successfully merging this pull request may close these issues.

tool_arg has to be a string?
2 participants