Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Safe Sql

БесплатноНе проверен

Enables read-only SQL database access for AI assistants, allowing schema exploration and safe query execution without risk of data modification.

GitHubEmbed

Описание

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 SELECT or WITH … SELECT
  • no write / DDL / admin keywordsINSERT/UPDATE/DELETE/DROP/ALTER/CREATE/PRAGMA/ATTACH/… are rejected
  • a LIMIT is 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.

from github.com/ahmedabdirahman1-max/safe-sql-mcp

Установка Safe Sql

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/ahmedabdirahman1-max/safe-sql-mcp

FAQ

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

Compare Safe Sql with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории data