safe-sql-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@safe-sql-mcpshow me the top 5 products by sales"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Safe SQL MCP — let Claude query a database, safely
A Model Context Protocol server that gives an AI assistant (Claude Desktop, Claude Code, or any MCP client) read-only access to a SQL database. The model can explore the schema and run queries — but it cannot modify or destroy data, by construction.
Python · official MCP SDK (FastMCP) · SQLite · a read-only SQL guard with defense-in-depth · safety eval tests.
Why a guard (the point of this server)
Handing an LLM raw database access is the obvious risk: one wrong — or
prompt-injected — query and it runs DROP TABLE. This server makes that
structurally impossible. Every statement passes through
app/guard.py before execution:
one statement only — no stacked
SELECT 1; DROP TABLE usersreads only — must be
SELECTorWITH … SELECTno write / DDL / admin keywords —
INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/PRAGMA/ATTACH/…are rejecteda
LIMITis enforced so a query can't dump an entire table
And as a second layer, the connection is opened with PRAGMA query_only = ON
(app/query.py) — so even a guard miss cannot write. Defense in
depth, which is the right posture when an autonomous model holds the keyboard.
Related MCP server: DB Insights MCP Server
Tools exposed
Tool | What it does |
| names of the queryable tables |
| columns: name, type, nullable, primary_key |
| runs a vetted read-only query → |
run_sql returns the exact vetted SQL it executed, so the assistant (and you)
can see precisely what ran.
Run / connect
Requires Python 3.10+.
pip install -r requirements.txt
python server.py # starts the MCP server over stdioIt serves a bundled demo store database (customers / products / orders) so you
can try it immediately. Point it at your own SQLite file with the SAFE_SQL_DB
environment variable.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"safe-sql": {
"command": "python",
"args": ["server.py"],
"cwd": "/absolute/path/to/safe-sql-mcp"
}
}
}Claude Code — from the project directory:
claude mcp add safe-sql -- python server.pyThen ask: "What are my top products by units sold?" — the assistant calls
list_tables / describe_table to learn the schema, then run_sql to answer.
Tests (the safety boundary is verified)
python -m unittest discover -s tests -vThe suite asserts that reads (including CTEs and joins) pass and get a LIMIT,
and that every category of dangerous statement — writes, DDL, PRAGMA, ATTACH,
stacked statements — is rejected.
Project layout
server.py FastMCP server + the three tools
app/
guard.py read-only SQL guard (the security boundary)
query.py schema introspection + query-only execution
db.py bundled demo store database
tests/ safety + query evalDemo project. The pattern — expose data to an AI assistant through a narrow, validated, read-only interface rather than a raw connection — is how I'd ship an MCP server to production.
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides AI assistants with read-only access to inspect database schemas, preview data, and run safe queries across PostgreSQL, MySQL, MongoDB, and SQL Server. It enables AI tools to understand database structures and relationships automatically to generate more accurate code.2 npm7MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to query SQL databases safely with read-only access, allowing schema discovery and SELECT queries while blocking writes and DDL operations.-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to safely query and explore SQL Server and PostgreSQL databases with read-only access, supporting schema discovery, relationship exploration, and query execution.11 npm3MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to explore SQL Server schemas, relationships, and execute safe SQL queries with read-only mode by default and optional write control.1MIT