Read-only Model Context Protocol server for SQL databases. Lets LLMs (Claude, Cursor, ChatGPT, Continue) introspect and query SQL Server, Postgres, and SQLite with multi-layer safety guards including sql-sop linting.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"sql-explorer-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# sql-explorer-mcp [](https://pypi.org/project/sql-explorer-mcp/) [](https://pypi.org/project/sql-explorer-mcp/) [](LICENSE) Read-only Model Context Protocol server for SQL databases. Lets LLMs (Claude, Cursor, ChatGPT, Continue) introspect and query **SQL Server, Postgres, and SQLite** with three layers of safety: 1. **Connection-level read-only** — `pyodbc readonly=True`, Postgres `SET TRANSACTION READ ONLY` 2. **AST validation** — sqlglot parses every query and rejects anything that isn't a `SELECT` (catches DML smuggled in CTEs) 3. **Linter pass** — [sql-sop](https://pypi.org/project/sql-sop/) checks every query and rejects error-severity findings; warnings are surfaced to the LLM as advisory output Multi-server: configure several databases in one `servers.yaml`, the LLM picks which one to target per call. ## Tools exposed to the LLM | Tool | Purpose | |---|---| | `list_servers()` | Enumerate configured servers + their dialect | | `list_databases(server?)` | List databases on a server | | `list_tables(server?, database?, schema?)` | List tables, optionally filtered by schema | | `describe_table(table, server?, schema?)` | Columns, types, nullability, defaults | | `get_table_sample(table, n=10, server?, schema?)` | Quick `SELECT TOP n / LIMIT n` | | `run_query(sql, server?)` | Execute arbitrary SELECT — three-layer safety stack | | `explain_query(sql, server?)` | Return execution plan (engine-specific) | | `search_objects(query, server?)` | Find tables and columns by name fragment | All tools accept an optional `server` to target a specific entry from `servers.yaml`. Default server is used when omitted. ## Install ```bash pip install sql-explorer-mcp # or pipx install sql-explorer-mcp ``` For SQL Server, install [Microsoft ODBC Driver 18](https://learn.microsoft.com/en-us/sql/c…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.