Insert into table
Let the LLM insert rows into a database table.
Ingredient Family: llmQueryToolIngredients
Outline Display: Allow LLM to insert rows into {{insertTable}}: {{toolDescription}}
Requires approval: {{requiresApproval}}{{guards:
Guards: {{guards}}}}{{advisory:
Not enforced by the server: {{advisory}}}}
Details
All columns must be provided (no auto-generated keys or defaults).
guards run on the row about to be inserted – the LLM’s arguments, one column each – and one refusal inserts nothing.
Local scope
Names introduced within this component’s knobs:
insertTable– table chosen from the app’s schema (viainsertTableknob)guardScope– empty table populated by ingredients
Settings
Required
-
insertTable: table
The table the LLM can insert into (all columns will be exposed) -
toolDescription: constant value (type: text; required, non-nullable)
A description of when/why to insert into this table, to help the LLM decide when to use it
Optional
-
toolTitle: constant value (type: text; optional)
The human-readable name an MCP client shows for this tool (MCP’stitle), never read by a model. Omitted, it is derived from the wire name:search_open_ordersbecomes “Search Open Orders”. Two tools in one module cannot share a title, derived or authored. -
advisory: constant value (type: text; optional)
A rule the server does NOT enforce, sent to the model as guidance under an explicit ‘not enforced’ header; use only when no deterministic form (Require, parameter constraints, allowedRecipients…) exists. The checker warns and the dashboard shows it as not guaranteed. -
requiresApproval: constant value (type: bool; required, non-nullable)
Require the user to approve each invocation of this tool before it runs. Only honored inside a Chat concept, where the agent pauses mid-turn and shows Approve/Reject buttons; rejecting tells the LLM the call was denied and ends the turn. Setting it true on a tool used by any other agent (e.g. a row-action AskAnLLM triggered by a button) is rejected by the NectryCore typechecker – except under MCP Server, which only warns. When unset, the tool is gated exactly when its steps make it anything but read-only – the same reading its MCP category comes from, so a tool that annotates itself read-only is not gated – and only where a pause is honored: an unattended surface never invents a gate it cannot keep. -
guards: ingredient slot ofrowActionsIngredients(guardScope)(many)
Rules to enforce before this tool acts, written as row-action steps – normally oneRequireper rule. The steps run in order over the row named in this tool’s details, and the first refusal ends the call: nothing is written, read or sent, the model is told the refusal’s own message, and that message is also appended to the tool’s description and listed as a rule on the tool’s card. Omit it to enforce nothing.