Skip to main content

Droost: Database Delete

droost_db_delete Write (gated)

Module: Droost core

Raw SQL DELETE with intent guardrails: requires confirm=true and refuses a missing WHERE clause. Same rule as db_create — entity data belongs to droost_entity_delete. Gated + CLI-only.

Example call
{
    "tool": "droost_db_delete",
    "arguments": {
        "query": "DELETE FROM droost_demo WHERE name = 'answer'",
        "confirm": true
    }
}
Example response — captured live on this site
{
    "success": false,
    "message": "This tool is disabled. Enable it with: drush config:set droost.settings allow_destructive true (or via Admin → Configuration → Development → Droost), then reload the MCP server in your editor — the running server caches this flag at startup and will keep refusing until it is restarted. (To disable later, use --input-format=yaml false so the value is stored as a real boolean.)",
    "data": null
}

Runs a single DELETE statement. Requires confirm: true, and refuses a DELETE with no WHERE clause. Disabled unless droost.settings.allow_destructive is on, and only over the CLI/STDIO transport. For entity-aware deletes that protect critical records, use droost_entity_delete.

Input schema (JSON Schema)
{
    "type": "object",
    "properties": {
        "query": {
            "type": "string",
            "description": "A single DELETE statement with a WHERE clause, e.g. \"DELETE FROM watchdog WHERE wid < 100\"."
        },
        "confirm": {
            "type": "boolean",
            "description": "Required: set true to acknowledge this is a destructive delete."
        }
    },
    "required": [
        "query",
        "confirm"
    ]
}