Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Sqlike MCP

de orifisher2versión 0.2.3i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.orifisher2/sqlike-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Lints SQL and checks rewrites return the same rows. Postgres, MySQL, MariaDB, SQLite, MSSQL, DuckDB

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Bases de datos y conjuntos de datos
  • Debes completar: SQLIKE_API_KEY

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "sqlike": {
      "command": "npx",
      "args": [
        "-y",
        "@sqlike/mcp"
      ],
      "env": {
        "SQLIKE_API_KEY": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add sqlike --env SQLIKE_API_KEY=your-value -- npx -y @sqlike/mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "sqlike": {
      "command": "npx",
      "args": [
        "-y",
        "@sqlike/mcp"
      ],
      "env": {
        "SQLIKE_API_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "sqlike": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@sqlike/mcp"
      ],
      "env": {
        "SQLIKE_API_KEY": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • SQLIKE_API_KEY secreto env
    Optional API key for the sqlike backend (higher rate limits).

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 9 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub orifisher2, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Bases de datos y conjuntos de datosi

  • Más estrellas que el 0% de los otros 1152 servidores de esta categoría
  • Publicado en el registro más recientemente que el 74% de los otros 1152 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1152 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Sqlike MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: SQLIKE_API_KEY

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.2.3) llegó al registro hace 12 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Supabase, MongoDB MCP Server, Elasticsearch MCP Server

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Supabase

MCP server for interacting with the Supabase platform

de supabaseMuy usado↓ 235,4 mil/sem★ 3 milActualizado hace 3 días

Computadora o nube✓ supabase.com

MongoDB MCP Server

MongoDB Model Context Protocol Server

de mongodb-jsMuy usado↓ 157,1 mil/sem★ 1,2 milActualizado hace 4 días

Se ejecuta en tu computadora

Elasticsearch MCP Server

MCP server for interacting with Elasticsearch

de cr7258En crecimiento↓ 2,7 mil/sem★ 315Actualizado hace 14 meses

Se ejecuta en tu computadora

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

sqlike: MCP server and CLI

Check your SQL before it runs, and check whether a rewrite still returns the same results.

sqlike reads a query and tells you what is wrong with it: validity errors, anti-patterns, rewrites it can apply for you, and index advice. It also compares two queries and reports whether the second one still returns the same results. There is no model anywhere in the analysis, so the same query always gets the same answer.

This repository holds the clients: an MCP server, a CLI, and the library they share. They tokenize your SQL locally, so identifiers and literals are masked before anything leaves your machine, and forward only the tokenized query. The analysis engine is not in this repo. It runs server-side and is closed.

Dialects: Postgres, MySQL, MariaDB, SQLite, SQL Server, and DuckDB. Each rule carries a verdict measured on that engine, so the severity you get is that database's behaviour and not Postgres by inheritance. DuckDB is the columnar one: it has no general-purpose secondary index, so the ten index advisors are replaced there by four columnar ones.

Why

A lot of SQL is written by an AI now, and the SQL it writes reads well more often than it runs correctly. A LEFT JOIN turns into an INNER and rows quietly disappear. A WHERE goes missing and the UPDATE hits every row. Two tables get joined on the wrong key. None of it looks wrong on the page, and none of it shows up until it has already done something.

sqlike is the check in between. It flags unsafe patterns from a catalog of 172 rules, each one verified against a real database before it ships, and it decides whether a rewrite preserves results. That second check is sound rather than complete: it certifies the rewrites it can prove, and when it cannot prove one it answers Undecided instead of guessing. Undecided never means equivalent.

Because nothing is generated, there is no retry loop, no per-token cost, and no variance between two runs on the same input. The equivalence check normalizes rather than solves, so it answers in about a millisecond where the state-of-the-art academic prover takes hundreds. That is measured head to head, including the queries where the prover wins.

Install the MCP server

Add it to any MCP client (Claude Code, Claude Desktop, Cursor, and so on):

{

"mcpServers": { "sqlike": { "command": "npx", "args": ["-y", "@sqlike/mcp"] } } }

Or install it through Smithery. Set SQLIKE_API_KEY if you have a key and want the higher rate limits. Without one you get the anonymous tier, which needs no signup.

Tools

analyze

Static analysis of one query: validity, anti-patterns, suggested rewrites, and schema and index advice. Returns the JSON analysis envelope.

ArgumentTypeDescription
sqlstringThe query to analyze. Required.
schemastringOptional DDL (CREATE TABLE / CREATE INDEX) for column and type aware checks.
statsstringOptional JSON map of table to row count, e.g. {"orders": 2000000}. Severity and index advice follow volume.
explainstringOptional query plan (Postgres EXPLAIN (ANALYZE, FORMAT JSON), MySQL EXPLAIN FORMAT=JSON, SQLite EXPLAIN QUERY PLAN as .mode json rows, SQL Server SHOWPLAN_XML, DuckDB EXPLAIN (FORMAT JSON)). Confirms or dismisses index findings by what the planner did.
dialectstringpostgres (default), mysql, mariadb, sqlite, mssql, or duckdb.
allow_rawbooleanOnly used when a query fails to parse, and so cannot be tokenized: send the raw SQL to get a parse diagnostic. Default false.
diff

Checks whether two queries are equivalent, which is the judgement an LLM cannot reliably make about its own rewrite. Returns a verdict (Equivalent, EquivalentWithNotes, Differs, or Undecided), a confidence level, and a report per property (columns, rows, cardinality, order), so you see what changed rather than a single yes or no.

ArgumentTypeDescription
sql_astringThe original query. Required.
sql_bstringThe rewritten query to check against sql_a. Required.
schemastringOptional DDL both queries resolve against (one shared schema).
dialectstringpostgres (default), mysql, mariadb, sqlite, mssql, duckdb.

CLI

The same checks from a terminal or a CI job. Run it with no install, or put it on the path:

npx -y @sqlike/cli --help

npm i -g @sqlike/cli brew install orifisher2/sqlike/sqlike

# analyze a query — the hosted API is the default, so no flags are needed

sqlike check query.sql

several files at once, with a schema

sqlike check migrations/*.sql --schema schema.sql

reading from stdin, machine-readable output (one JSON record per file)

cat query.sql | sqlike check - --schema schema.sql --json

check that a rewrite is equivalent

sqlike diff before.sql after.sql

Point it elsewhere with --remote or SQLIKE_URL, and authenticate with --key or SQLIKE_API_KEY.

If you have the query's EXPLAIN output, pass it with --explain plan.json and the real access paths will confirm or dismiss the index findings. The plan is tokenized before it leaves the machine, same as the query and the schema.

Exit codes are a contract, so each one means exactly one thing:

checkdiff
0clean, or nothing at or above --fail-onequivalent
1a warning, when --fail-on warn asks for itdiffers
2a blocking defect: invalid SQL, or a high-severity correctness problemundecided
3operational — unreachable, rate-limited, or unparseablesame
4usage error (a bad flag)same

check defaults to --fail-on block, so advisory findings report without failing a build. Ask for --fail-on warn to be strict, or never to only report. 3 is never a verdict about your SQL — a pipeline can tell "this query is bad" from "the call did not go through".

In CI, and on commit

Gate SQL where it is written. Both run the same checks as the CLI, and both tokenize locally first.

GitHub Actions. Findings land inline on the pull-request diff. The workflow authenticates as your repository owner using GitHub's own OIDC token — no signup, no API key to store or leak.

permissions:

id-token: write # authenticate as this repo's owner pull-requests: read # check only the files this PR changes contents: read # mode: diff, to read the earlier version of a file steps:

  • uses: actions/checkout@v5
  • uses: orifisher2/sqlike@cli-v0.4.2 with: dialect: postgres schema: db/schema.sql

Set mode: diff and it answers a different question on every pull request: *did this rewrite change what the query returns?* Only modified files are compared, and a verdict of "cannot prove either way" never fails a build.

Pull requests from forks run anonymously. GitHub does not issue OIDC tokens to workflows a fork triggers, so a contributor's pull request cannot authenticate as your repository — it falls back to an anonymous, per-IP rate limit. Nothing is broken and there is nothing to configure; your own branches still authenticate normally. The action says so rather than suggesting a permission that would not help.

Outside a pull request there is no set of changed files, so changed-only cannot apply and every matching file is checked. The action warns when that happens, because on a large repository it is enough requests to reach a rate limit.

pre-commit. Same checks before the commit lands:

repos:
  • repo: https://github.com/orifisher2/sqlike rev: cli-v0.4.2 hooks:
  • id: sqlike args: [--dialect, postgres]

The hook blocks a commit on a real defect, not on a bad connection: if sqlike cannot be reached it says so and lets the commit through.

Private by design

Tokenization happens here, on your machine, before any request goes out. sqlike never sees your real table names, columns, or values, so there is nothing to leak and nothing to train on. An AI assistant needs the real thing to help you; sqlike does not.

If a query cannot be parsed it cannot be tokenized, and the client refuses to send it rather than transmit raw SQL. Sending it anyway is an explicit opt-in (allow_raw on the tools, --allow-raw on the CLI).

See THREAT-MODEL.md for what that does and does not cover.

What is in this repo

  • `crates/mcp`: sqlike-mcp, the MCP server. Ships to npm as @sqlike/mcp.
  • `crates/cli`: sqlike, the command-line client. Ships to npm as @sqlike/cli.
  • `crates/client`: the shared forwarder, with no engine in it: tokenize, call the API, detokenize.
  • `crates/core-parse`: the SQL parser, stage model, tokenizer, and result types.
  • `packages/`: the npm packaging, with a prebuilt binary per platform.
  • `skills/`: the agent skill, so a coding agent knows when to reach for sqlike on its own.

Learn more

Try it at [sqlike.com](https://sqlike.com). The equivalence checker is measured in public against the standard academic benchmark, including a head-to-head with the state-of-the-art prover, at [sqlike.com/benchmark](https://sqlike.com/benchmark).

Note

This repository is generated from the upstream monorepo, which is the source of truth. Please file issues here. Code changes are made upstream and mirrored back.

License

Apache-2.0. See LICENSE.

crates/sqlparser is a vendored copy of sqlparser-rs, also Apache-2.0. Its NOTICE file records the upstream version and lists every file changed since.

Pregunta a PopNx