safe-sql-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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: Database 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.
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Related MCP Servers
- 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 gradedqualityDmaintenanceEnables AI assistants to safely query and explore SQL Server and PostgreSQL databases with read-only access, supporting schema discovery, relationship exploration, and query execution.29 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
- AlicenseAqualityCmaintenanceEnables AI agents to safely explore and query a SQLite database in read-only mode, allowing them to inspect schema and run analytical SQL queries without risking data modification.3MIT