Sqlite Explorer
FreeNot checkedRead-only SQLite database explorer for MCP clients. Allows discovery of tables and columns via resources and running SELECT queries via a tool.
About
Read-only SQLite database explorer for MCP clients. Allows discovery of tables and columns via resources and running SELECT queries via a tool.
README
A production-grade Model Context Protocol server that exposes a read-only SQLite database to any MCP client (Claude Code, Claude Desktop, …). It ships both transports, real input/output bounds, structured logging, auth, tests, CI, and a container.
Built on the official @modelcontextprotocol/sdk (v1.29.x).
Design
| Capability | MCP primitive | Why |
|---|---|---|
| Discover tables / columns | Resource (schema://tables, schema://table/{name}) |
Read-only context the model reads; cacheable, side-effect-free |
| Run a query | Tool (query) |
An action with cost/risk: validated input, can fail, auditable |
The server is defined once (src/server.ts) and exposed over two transports from shared code:
src/stdio.ts— for local clients (the client launches it as a subprocess).src/http.ts— Streamable HTTP for remote clients on other machines.
Safety
- The read-only boundary is the engine, not a string check. The DB is opened
{ readonly: true }withPRAGMA query_only = ON; SQLite rejects any write regardless of the SQL sent. The single-statement / SELECT-only gate insrc/db.tsonly produces clearer errors. - Output is bounded —
MAX_ROWScap +busy_timeoutso a runaway scan can't exhaust memory. - Secrets via Zod-validated env (
src/env.ts); nothing hardcoded. HTTP requires a 32+ charMCP_BEARER_TOKEN, checked with a constant-time compare and fail-closed. - The stdout rule — on stdio, stdout is the JSON-RPC channel. All logging goes to stderr
(
src/logger.ts); an ESLintno-consolerule enforces it.
Quick start
npm install
npm run seed # creates data.db (sample customers + orders)
npm test # unit + in-memory integration tests
npm run build
Run locally (stdio) + connect to Claude Code
npx @modelcontextprotocol/inspector node build/stdio.js # debug standalone first
claude mcp add --transport stdio sqlite -- node "$(pwd)/build/stdio.js"
Run remotely (Streamable HTTP)
export MCP_BEARER_TOKEN=$(openssl rand -hex 32)
npm run start:http
# from any machine (behind TLS in production):
claude mcp add --transport http sqlite https://your-host/mcp \
--header "Authorization: Bearer $MCP_BEARER_TOKEN"
Confirm with claude mcp list and /mcp inside a session.
Docker
docker build -t sqlite-explorer-mcp .
docker run --rm -p 8080:8080 \
-e MCP_BEARER_TOKEN=$(openssl rand -hex 32) \
-e BIND_HOST=0.0.0.0 \
-v "$(pwd)/data.db:/app/data.db:ro" \
sqlite-explorer-mcp
Terminate TLS at a reverse proxy in front of the container; never expose the plain HTTP port publicly. For per-user identity/revocation, Streamable HTTP also supports OAuth 2.0 — ship the bearer token first and add OAuth only when compliance requires named-user attribution.
Configuration
All via environment (see .env.example): SQLITE_PATH, PORT, BIND_HOST, MCP_BEARER_TOKEN,
MAX_ROWS, QUERY_TIMEOUT_MS, LOG_LEVEL.
License
MIT
Install Sqlite Explorer in Claude Desktop, Claude Code & Cursor
unyly install sqlite-explorer-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add sqlite-explorer-mcp -- npx -y github:FrankieSoltero/sqlite-explorer-mcpFAQ
Is Sqlite Explorer MCP free?
Yes, Sqlite Explorer MCP is free — one-click install via Unyly at no cost.
Does Sqlite Explorer need an API key?
No, Sqlite Explorer runs without API keys or environment variables.
Is Sqlite Explorer hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Sqlite Explorer in Claude Desktop, Claude Code or Cursor?
Open Sqlite Explorer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
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
by 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
by madhurprashPostgres
Query your database in natural language
by AnthropicPostgreSQL
Read-only database access with schema inspection.
by modelcontextprotocolCompare Sqlite Explorer with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All data MCPs
