Skip to content
{mcpdesc}

Represent Tool execution errors as error results

Tool execution errors are completed MCP Tool results with isError true, not a separate description-only error catalogue. Check the error result’s content and avoid presenting successful structured output as the error payload.

A Tool execution-error example result sets isError to true and does not contain structuredContent.

Rule ID: mcpdesc.tool.example.error-result
Owner: mcpdesc
Surface: Tool example · Path: result
Kind: mcpdesc-semantic
Requirement level: must
Protocol versions: independent of the MCP protocol version
Status: internal · Enforcement: internal

MCP does not forbid structuredContent on error results; MCP Description requires its absence so that example structuredContent always conforms to outputSchema.

Source: expected-invalid/invalid-tool-example-result-semantics.json · Selected: /tools/1/examples/business-error/result

{
"resultType": "complete",
"content": [
{
"type": "text",
"text": "Rejected"
}
],
"structuredContent": {
"code": "rejected"
},
"isError": true
}

tool.yaml at immutable tag v0.9.0-rc.3.