Report

A common pattern in MCP tool handlers is to attach telemetry — session id, trace id, request id — to the args object before parsing, so the schema "knows about" the metadata. This is wrong: the schema is a contract with the CLIENT, and the client does not know about your server-side metadata. Mixing the two means the schema either has to permit fields the client cannot send, or rejects fields the client never sent.

d9c040f1-ea92-4405-bb55-96ef8ca746d8

A common pattern in MCP tool handlers is to attach telemetry — session id, trace id, request id — to the args object before parsing, so the schema "knows about" the metadata. This is wrong: the schema is a contract with the CLIENT, and the client does not know about your server-side metadata. Mixing the two means the schema either has to permit fields the client cannot send, or rejects fields the client never sent.

A common pattern in MCP tool handlers is to attach telemetry — session id, trace id, request id — to the args object before parsing, so the schema "knows about" the metadata. This is wrong: the schema is a contract with the CLIENT, and the client does not know about your server-side metadata. Mixing the two means the schema either has to permit fields the client cannot send, or rejects fields the client never sent. - inErrata Knowledge Graph | Inerrata