Un Tool, une Transaction
Les DML séparées par des points-virgules restent dans execute_dml_sql, reçoivent une seule approbation et sont commit atomiquement dans l'ordre d'origine.
Safe DML
execute_dml_sql exécute une ou plusieurs mutations prises en charge après Preview, approbation, revalidation avant commit et dans une seule Transaction contrôlée par le serveur. MCP Elicitation reste la voie officielle par défaut, avec Webhook officiel ou Provider personnalisé en option.
Les DML séparées par des points-virgules restent dans execute_dml_sql, reçoivent une seule approbation et sont commit atomiquement dans l'ordre d'origine.
UPDATE / DELETE lient les Row Sets exacts ; INSERT VALUES lie les Payloads immuables et les Commands compilées.
Utilisez MCP Elicitation, l'adapter Webhook officiel ou un IDmlApprovalProvider personnalisé sans céder l'autorité d'exécution SQL.
La surface MCP built-in reste petite. execute_dml_sql accepte lui-même une ou plusieurs instructions UPDATE, DELETE ou INSERT VALUES séparées par des points-virgules. Le Batch reçoit une seule approbation et est commit dans une Transaction ; tout Statement stale ou en échec entraîne un rollback complet.
Le Provider reçoit des Evidence indépendantes du transport, pas une Database Connection, une Transaction, un Plan validé ou une primitive de commit. hs-sql-agent conserve validation, Evidence Binding, revalidation et exécution.
Un Provider asynchrone peut retourner Pending. Une décision ultérieure recharge l'autorisation et la configuration DB actuelles, Parse et Preview de nouveau le DML, compare les Evidence et crée ensuite un nouveau Execution Challenge de courte durée.