Behaviour for an MCP tool: a name, description, JSON Schema for its
input, and a call function. Deliberately plain — no macro DSL, no
schema-validation library — since Beamscope.MCP.Protocol does the only
validation actually needed (required-key presence) itself.