Description
Describe the bug
When using MCP Inspector, if a request is made with a syntactically invalid JSON string as a parameter, the Inspector does not send the invalid data. Instead, it silently re-sends the valid parameters from the last successful request. This makes debugging tools extremely difficult, as the server receives stale, unexpected data, and there is no error shown on the client-side UI to indicate the actual input was ignored.
This issue is confirmed to be present in the latest version, v0.14.3, as executed via npx.
To Reproduce
Steps to reproduce the behavior:
Start MCP Inspector pointing to a tool server.
Bash
npx -y @modelcontextprotocol/inspector@latest
Select a tool that accepts a JSON object as a parameter (e.g., a filters parameter).
First Request (Valid): Execute the tool with a valid JSON string.
Example input: {"status": "active"}
Observe the server logs to confirm it correctly received the parameters: {'status': 'active'}.
Second Request (Invalid): In the same parameter field, enter a malformed JSON string.
Example input: {"status": "inactive",} (note the trailing comma).
Execute the tool again and check the server logs.
Expected behavior
On the second request, the tool server should receive the malformed string or a null value for the filters parameter. This should ideally trigger a server-side validation error (like an HTTP 400 Bad Request), correctly indicating that the client sent invalid data. The server should not receive the data from the first request.