# sqlai.dev SQL Verifier MCP server

Executes SQL in a real ephemeral database: rows, typed errors with suggestions, plans, diffs.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-jadesparrow-sqlai-dev-sql-verifier
- Website: https://sqlai.dev

## Install
- Endpoint: https://mcp.sqlai.dev/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mcp.sqlai.dev/mcp

## Tools
- run_sql - Execute a SQL query against a fresh ephemeral in-memory database built from your schema (and optional seed rows). Returns real rows (max 500, truncation flagged), column names+types, row_count, and dialect notes. Errors come back as structured JSON with type/position/suggestion — a failed query is a useful answer, not a failure of this tool. Example: schema "CREATE TABLE t(id INTEGER, name TEXT);", query "SELECT name FROM t WHERE id=1", seed {"t":[{"id":1,"name":"ada"}]} → rows [["ada"]]. Endpoint: https://mcp.sqlai.dev/mcp
- validate_sql - Validate a SQL query against a schema WITHOUT executing it (parse + name/type binding via EXPLAIN). Returns ok with referenced tables, or a structured error: {type: unknown_column|unknown_table|syntax|..., message, position, suggestion}. The suggestion is rule-based (edit distance against your schema). Example: query "SELECT nmae FROM users" → error type unknown_column, suggestion 'did you mean "name"?'. Endpoint: https://mcp.sqlai.dev/mcp
- explain_plan - Return the engine-native query plan for a query (SQLite: EXPLAIN QUERY PLAN) plus full-table-scan warnings. Use it to check whether an index would be used before recommending one. Example: "SELECT * FROM orders WHERE status=?" on an unindexed column → plan ["SCAN orders"], warning about the full scan. Endpoint: https://mcp.sqlai.dev/mcp
- run_sql_batch - Run up to 10 queries against the same schema+seed. Each query executes in its OWN fresh database — writes in one query are NOT visible to the next (use this for testing variants, not for multi-statement transactions). Returns an array of run_sql results in order. Endpoint: https://mcp.sqlai.dev/mcp
- diff_results - Answer "do these two queries return the same thing?" — the self-check for query refactors. Executes query_a and query_b against identical fresh databases and compares result multisets (order-insensitive; order divergence reported separately when ORDER BY is present). Returns equal:boolean, row counts, and capped row-level diffs (only_in_a / only_in_b). Endpoint: https://mcp.sqlai.dev/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.JadeSparrow
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 7, 2026
- Source: https://registry.modelcontextprotocol.io
