23a0a47a7f
The MCP create_node/update_node inputSchema only advertised type/label/ip/hostname/status (plus parent_id on update), so LLM clients could not set documentation/hardware fields the backend already validates and stores. Mirror NodeBase/NodeUpdate by spreading a shared _NODE_FIELDS schema into both tools: os, notes, mac, check_method, check_target, services, cpu_count, cpu_model, ram_gb, disk_gb, show_hardware, container_mode, custom_icon, properties. type stays an enum of canonical node types. _dispatch already forwarded args verbatim, so no dispatch change. Also extend _slim_canvas NODE_KEEP so get_canvas round-trips the new documentation fields the LLM can now write. Refactor tool definitions into a module-level TOOLS list for direct schema assertions in tests. ha-relevant: no