SQLike
Provides SQL static analysis and query-equivalence checking for MySQL, with support for dialect-specific validation, anti-pattern detection, and schema-aware optimization advice.
Provides SQL static analysis and query-equivalence checking for SQLite, with support for dialect-specific validation, anti-pattern detection, and schema-aware optimization advice.
sqlike: MCP server & clients
Deterministic SQL static analysis and query-equivalence checking for Postgres, MySQL, SQLite, and SQL Server, as an MCP server, a CLI, and a shared client library. Part of sqlike.
These are thin remote clients. They tokenize your SQL locally (identifiers and literals are masked before anything leaves your machine) and forward the tokenized query to the sqlike API for analysis. They contain no analysis engine; that runs server-side and is closed.
Install the MCP server
Add it to any MCP client (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"sqlike": { "command": "npx", "args": ["-y", "@sqlike/mcp"] }
}
}Or install via Smithery. An optional
SQLIKE_API_KEY environment variable raises rate limits; without it you get the open anonymous tier.
Related MCP server: GoSQLX
Tools
analyze
Static analysis of one SQL query: validity, anti-patterns, suggested rewrites, and schema/index advice. Returns the JSON analysis envelope.
Argument | Type | Description |
| string | The SQL query to analyze. Required. |
| string | Optional DDL ( |
| string |
|
| boolean | Only used when a query fails to parse (so can't be tokenized): send raw SQL for a parse diagnostic. Default |
diff
Check whether two SQL queries are equivalent (result-preserving), for verifying a rewrite or
refactor. Returns a verdict (Equivalent / EquivalentWithNotes / Differs / Undecided), a
confidence level, and a per-property report (columns, rows, cardinality, order). Undecided never
means equivalent. This is a judgement an LLM cannot reliably self-grade.
Argument | Type | Description |
| string | The original query. Required. |
| string | The rewritten query to check against |
| string | Optional DDL both queries resolve against (one shared schema). |
| string |
|
CLI
crates/cli builds sqlike, a command-line client:
sqlike check "SELECT * FROM users WHERE id = 1" --remote https://api.sqlike.comWhat's here
crates/mcp:sqlike-mcp, the MCP server. Ships to npm as@sqlike/mcp.crates/cli:sqlike, the command-line client.crates/client: the shared, engine-free forwarder: tokenize → call API → detokenize.crates/core-parse: the SQL parser, stage model, tokenizer, and result types.packages/: the npm packaging for@sqlike/mcp(per-platform prebuilt binaries).
Privacy
Tokenization happens here, on your machine, before any request. If a query can't be parsed it can't
be tokenized; the client then refuses to send it rather than transmit raw SQL, unless you
explicitly opt in (allow_raw / --allow-raw).
Note
This repository is generated from the upstream monorepo (the source of truth). Please file issues here; code changes are made upstream and mirrored.
License
MIT OR Apache-2.0, at your option.
This server cannot be installed
Maintenance
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/orifisher2/sqlike'
If you have feedback or need assistance with the MCP directory API, please join our Discord server