{"apiVersion":"v1","directorySlug":"sqlai-mcp-8ec84f406a","title":"sqlai.dev — don","description":"Free online SQL verifier: paste a schema and a query, and it actually executes in your browser on SQLite or DuckDB. Real errors, real results, no LLM guessing. Paid MCP endpoint for AI agents.","pageUrl":"https://www.mcpbundles.com/skills/sqlai-mcp-8ec84f406a","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.sqlai.dev/mcp","hostedMcpUrl":null,"toolCount":5,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.sqlai/sqlai-mcp-8ec84f406a","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"run_sql","description":"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\"]].","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schema","query"],"properties":{"seed":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"query":{"type":"string"},"engine":{"enum":["sqlite","duckdb"],"type":"string"},"schema":{"type":"string"}},"additionalProperties":false},"logicalName":"run_sql","displayName":"run_sql","title":"run_sql","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_sql","description":"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\"?'.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schema","query"],"properties":{"query":{"type":"string"},"engine":{"enum":["sqlite","duckdb"],"type":"string"},"schema":{"type":"string"}},"additionalProperties":false},"logicalName":"validate_sql","displayName":"validate_sql","title":"validate_sql","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"explain_plan","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schema","query"],"properties":{"query":{"type":"string"},"engine":{"enum":["sqlite","duckdb"],"type":"string"},"schema":{"type":"string"}},"additionalProperties":false},"logicalName":"explain_plan","displayName":"explain_plan","title":"explain_plan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"run_sql_batch","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schema","queries"],"properties":{"seed":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"engine":{"enum":["sqlite","duckdb"],"type":"string"},"schema":{"type":"string"},"queries":{"type":"array","items":{"type":"string"},"maxItems":10}},"additionalProperties":false},"logicalName":"run_sql_batch","displayName":"run_sql_batch","title":"run_sql_batch","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"diff_results","description":"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).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["schema","query_a","query_b"],"properties":{"seed":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"engine":{"enum":["sqlite","duckdb"],"type":"string"},"schema":{"type":"string"},"query_a":{"type":"string"},"query_b":{"type":"string"}},"additionalProperties":false},"logicalName":"diff_results","displayName":"diff_results","title":"diff_results","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=sqlai-dev-don&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Auc3FsYWkuZGV2L21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22sqlai-dev-don%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.sqlai.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22sqlai-dev-don%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.sqlai.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=sqlai.dev+%E2%80%94+don&connectorUrl=https%3A%2F%2Fmcp.sqlai.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"sqlai-dev-don\" --url \"https://mcp.sqlai.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sqlai-mcp-8ec84f406a","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sqlai-mcp-8ec84f406a/tools/{tool}","mcpServerUrl":"https://mcp.sqlai.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sqlai-mcp-8ec84f406a?live=1"}