SQL Explainer

Explain a SQL query in plain English: tables, joins, filters, aggregations and likely performance problems.

Pay by wallet (x402) AI-generated sql-explain

Example

Example answer
{
  "steps": [
    "Parser encounters the word 'test'",
    "No SQL keywords (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.) are recognized",
    "Query fails to parse and returns a syntax error"
  ],
  "dialect": "postgres",
  "sql_length": 4,
  "explanation": "The input 'test' is not a valid SQL query. It appears to be a plain text string with no SQL syntax or commands.",
  "potential_issues": [
    "Invalid SQL syntax - not a valid SQL statement",
    "Query will fail execution with a PostgreSQL syntax error"
  ],
  "tables_referenced": [],
  "optimization_suggestions": [
    "Provide a valid SQL query to analyze",
    "Ensure the query contains proper SQL syntax with keywords like SELECT, INSERT, UPDATE, or DELETE"
  ]
}

Inputs

FieldTypeRequiredWhat it is
sqlstringYes—

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
tablesarrayAlways (present in every successful answer)
operationsarrayAlways (present in every successful answer)
plain_englishstringAlways (present in every successful answer)
potential_issuesarrayAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "sql-explain",
    "inputs": {
      "sql": "SELECT * FROM users WHERE active = true LIMIT 10"
    },
    "max_price_cents": 5
  }'

Limitations

  • Performance depends on the database and its data

    AI explanation of SQL queries — performance implications depend on your specific database engine, indexes, and data distribution

    What to do instead: Run EXPLAIN ANALYZE on your database to compare the actual execution plan with the explanation.