Skip to main content

Droost: Database Read

droost_db_read Read-only

Module: Droost core

Read-only SQL SELECT against the live database — the escape hatch when entity queries can't express what you need (aggregates, joins across field tables). Runs freely; results are capped by limit.

Example call
{
    "tool": "droost_db_read",
    "arguments": {
        "query": "SELECT nid, title FROM node_field_data WHERE type = 'tool' ORDER BY nid LIMIT 3"
    }
}
Example response — captured live on this site
{
    "success": true,
    "message": "3 row(s) returned (limit 50).",
    "data": {
        "returned": 3,
        "limit": 50,
        "has_more": false,
        "rows": [
            {
                "nid": "2",
                "title": "droost_ai_generate"
            },
            {
                "nid": "3",
                "title": "droost_app_info"
            },
            {
                "nid": "4",
                "title": "droost_architecture"
            }
        ]
    }
}

Runs a single read SQL statement (SELECT, WITH, SHOW, DESCRIBE, or EXPLAIN) and returns the rows. The statement must begin with a read verb; use droost_db_create/_update/_delete for writes. Use "limit" to cap returned rows.

Input schema (JSON Schema)
{
    "type": "object",
    "properties": {
        "query": {
            "type": "string",
            "description": "A single read statement, e.g. \"SELECT nid, title FROM node_field_data LIMIT 5\"."
        },
        "limit": {
            "type": "integer",
            "description": "Max rows to return (default 50, max 500)."
        }
    },
    "required": [
        "query"
    ]
}