Fix integer parameter conversion #85
Draft
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
Fixes integer parameter conversion in MCP server where JSON float values (like 0.0) were not being converted to integers before passing to Python functions, even when tool schema specified "type": "integer".
Type of Change
Testing
uv run pytestuv run ruff check .(for production code)uv run black --check .(for production code)uv run mypy .(for production code)Security Considerations
Breaking Changes
If this is a breaking change, describe what users need to do to migrate:
N/A - This is a bug fix that improves existing behavior without breaking changes.
Additional Notes
The MCP server had an unused
_convert_param_typemethod that correctly handled type conversion. The fix applies this conversion before passing parameters to the SDK executor as a defensive measure. Added integration test to verify float-to-integer conversion works correctly through the full MCP protocol flow.