ROB-004: tools/call with non-object arguments is rejected without an internal error¶
| Severity | Applies to | Spec section |
|---|---|---|
| warn | both eras, stdio, http | 2026-07-28/server/tools#error-handling |
Calls one safe tool (readOnlyHint: true or destructiveHint: false) with arguments that are an array, then a string. Such a request fails the CallToolRequest schema, which the spec lists as a malformed request and answers with a protocol error such as -32602 (Invalid params). Fails if the call is accepted as a success, answered with -32603 (Internal error, meaning the input reached code that did not expect it), or not answered. A tool result with isError: true is accepted. A warning: the spec describes the error kinds rather than requiring a code. Skipped when no tool may be called. Runs once per server.
From the command line: mcpprobe checks explain ROB-004. To leave it out of a run, add "ROB-004" to [checks] disable in mcpprobe.toml; to change how much it counts, use severity_overrides.