sqlai.dev SQL Verifier

io.github.JadeSparrowPublished by GitHub account JadeSparrowv1.0.0Updated Oct 25, 2026

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

VerifiedStreamable HTTPWeb executableDatabasesDeveloper Tools

Overview

AI-generated overview

A remote MCP server that runs and validates SQL against a fresh in-memory database, returning real rows, typed errors, query plans and result diffs.

What you can do
Run a SQL query against a fresh ephemeral in-memory database built from your schema and optional seed rows, returning real rows, column names and types, row count and dialect notes, with errors as structured JSON including position and suggestion. Validate a query without executing it, checking parsing and name/type binding and returning referenced tables or a structured error. Inspect the engine-native query plan with full-table-scan warnings to see whether an index would be used. Run up to ten queries against the same schema and seed, each in its own fresh database. Compare two queries' results as order-insensitive multisets to check a refactor.
When to use it
Useful when an assistant writes or reviews SQL and needs to confirm it actually runs, catch column or table mistakes, check index usage, or verify that a rewritten query returns the same rows as the original.
Requirements
A remote streamable HTTP endpoint; no packages, environment variables or headers are declared, and no authentication is declared. Network access to the endpoint is needed.
Before you install
Queries execute against an ephemeral in-memory database built from the schema and seed rows you supply, so those definitions are sent to the remote service. Writes in one batch query are not visible to the next, so it is not suitable for testing multi-statement transactions. Results are capped at 500 rows with truncation flagged.

Installation

In SourceWeft

  1. Open sqlai.dev SQL Verifier in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.JadeSparrow%2Fsqlai-dev-sql-verifier/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sqlai-dev-sql-verifier": {
      "type": "http",
      "url": "https://mcp.sqlai.dev/mcp"
    }
  }
}

Tools

5

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"]].

Parametersseedqueryrequiredengineschemarequired

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"?'.

Parametersqueryrequiredengineschemarequired

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.

Parametersqueryrequiredengineschemarequired

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.

Parametersseedengineschemarequiredqueriesrequired

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).

Parametersseedengineschemarequiredquery_arequiredquery_brequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.