sqlai.dev SQL Verifier

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

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
92%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,218token 数(工具定义)
~1.8 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.95%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

https://mcp.sqlai.dev/mcpstreamable-http

它能做什么

工具清单

工具(5)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢run_sql(schema, query, seed, engine)

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

输入模式

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "DDL statements (CREATE TABLE ...; multiple statements allowed)."
    },
    "query": {
      "type": "string",
      "description": "ONE SQL statement to execute. Stacked statements are rejected."
    },
    "seed": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "description": "Optional seed rows: {\"table_name\": [{\"col\": value, ...}, ...]}. Max 10MB total."
    },
    "engine": {
      "type": "string",
      "enum": [
        "sqlite",
        "duckdb"
      ],
      "description": "Engine. Server-side supports 'sqlite' (default). 'duckdb' runs in the browser demo at sqlai.dev only."
    }
  },
  "required": [
    "schema",
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢validate_sql(schema, query, engine)

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

输入模式

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "DDL statements."
    },
    "query": {
      "type": "string",
      "description": "ONE SQL statement to validate."
    },
    "engine": {
      "type": "string",
      "enum": [
        "sqlite",
        "duckdb"
      ],
      "description": "Engine. Server-side supports 'sqlite' (default). 'duckdb' runs in the browser demo at sqlai.dev only."
    }
  },
  "required": [
    "schema",
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢explain_plan(schema, query, engine)

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.

输入模式

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "DDL statements (include your indexes!)."
    },
    "query": {
      "type": "string",
      "description": "ONE SQL statement to explain."
    },
    "engine": {
      "type": "string",
      "enum": [
        "sqlite",
        "duckdb"
      ],
      "description": "Engine. Server-side supports 'sqlite' (default). 'duckdb' runs in the browser demo at sqlai.dev only."
    }
  },
  "required": [
    "schema",
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢run_sql_batch(schema, queries, seed, engine)

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.

输入模式

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "DDL statements."
    },
    "queries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Up to 10 statements, one per entry."
    },
    "seed": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "description": "Optional seed rows: {\"table_name\": [{\"col\": value, ...}, ...]}. Max 10MB total."
    },
    "engine": {
      "type": "string",
      "enum": [
        "sqlite",
        "duckdb"
      ],
      "description": "Engine. Server-side supports 'sqlite' (default). 'duckdb' runs in the browser demo at sqlai.dev only."
    }
  },
  "required": [
    "schema",
    "queries"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢diff_results(schema, seed, query_a, query_b, engine)

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

输入模式

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "description": "DDL statements."
    },
    "seed": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "description": "Optional seed rows: {\"table_name\": [{\"col\": value, ...}, ...]}. Max 10MB total."
    },
    "query_a": {
      "type": "string",
      "description": "Original query."
    },
    "query_b": {
      "type": "string",
      "description": "Refactored/alternative query."
    },
    "engine": {
      "type": "string",
      "enum": [
        "sqlite",
        "duckdb"
      ],
      "description": "Engine. Server-side supports 'sqlite' (default). 'duckdb' runs in the browser demo at sqlai.dev only."
    }
  },
  "required": [
    "schema",
    "query_a",
    "query_b"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本5 个工具
已验证未记录版本5 个工具
已验证未记录版本5 个工具