Safe Sql
БесплатноНе проверенEnables read-only SQL database access for AI assistants, allowing schema exploration and safe query execution without risk of data modification.
Описание
Enables read-only SQL database access for AI assistants, allowing schema exploration and safe query execution without risk of data modification.
README
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 users - reads only — must be
SELECTorWITH … SELECT - no write / DDL / admin keywords —
INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/PRAGMA/ATTACH/…are rejected - a
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.
Tools exposed
| Tool | What it does |
|---|---|
list_tables() |
names of the queryable tables |
describe_table(table) |
columns: name, type, nullable, primary_key |
run_sql(sql) |
runs a vetted read-only query → {sql, columns, row_count, rows} |
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 stdio
It 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.py
Then 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 -v
The 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 eval
Demo 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.
Установка Safe Sql
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ahmedabdirahman1-max/safe-sql-mcpFAQ
Safe Sql MCP бесплатный?
Да, Safe Sql MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Safe Sql?
Нет, Safe Sql работает без API-ключей и переменных окружения.
Safe Sql — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Safe Sql в Claude Desktop, Claude Code или Cursor?
Открой Safe Sql на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
автор: wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolCompare Safe Sql with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
