mcp-sqlite
by CACTUSCASH
README.md
# mcp-sqlite
**A [Model Context Protocol](https://modelcontextprotocol.io) server that gives Claude safe, read-only access to a SQLite database.**
Point it at a `.db` file and you can ask, in plain language:
> "What tables are in this database, and how many orders did we ship in July?"
Claude lists the tables, reads the schema, writes the SQL itself, and runs it — but it **cannot write, drop, or attach**. Every query is checked, so the worst it can do is read.
## Why read-only matters
Handing a model a live database is one keystroke away from `DELETE FROM users`. This server closes that off at the door: the connection is opened read-only, and the `query` tool rejects anything that isn't a `SELECT` / `WITH` / `EXPLAIN`. You get the usefulness of "ask your database in English" without the "please don't drop the table" anxiety.
## Tools
| Tool | Input | Does |
|---|---|---|
| `list_tables` | — | Lists tables and views (hides SQLite internals) |
| `describe_table` | `table` | Columns, types, PKs, nullability (validated identifier) |
| `query` | `sql` | Runs a read-only query; caps results at 200 rows |
## Install
Needs **Node ≥ 22.5** (it uses the built-in `node:sqlite` — no native build step, nothing to compile).
```bash
npm install
npm run build
```
**Claude Desktop** — `claude_desktop_config.json`:
```json
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": ["/absolute/path/to/mcp-sqlite/dist/index.js", "/absolute/path/to/your.db"]
}
}
}
```
**Claude Code**:
```bash
claude mcp add sqlite node /absolute/path/to/mcp-sqlite/dist/index.js /absolute/path/to/your.db
```
Restart the client, then ask it about your data.
## How it's built
- **TypeScript**, ESM, the official `@modelcontextprotocol/sdk`, and `zod` for tool schemas.
- **Zero database dependencies** — Node's built-in `node:sqlite` does the work.
- Safety is layered: read-only connection + a query allow-list + identifier validation on table names, so a bad prompt can't turn into a bad write.
## License
MIT © Sa'ood Williams
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues