SQLite MCP Sidecar
dev.xakpc · Updated
Agent-safe MCP sidecar for one live SQLite database: read-only default, bounded writes.
At a glance
SQLite MCP Sidecar is an MCP server in the Databases & Storage category. It runs locally over stdio via `docker run -i --rm ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3`, and needs SQLITE_SIDECAR_DB and SQLITE_SIDECAR_TOKEN. It exposes 8 tools, including schema, query and insert. It scores B (71/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install SQLite MCP Sidecar in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install SQLite MCP Sidecar in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add sqlite-mcp-sidecar -e 'SQLITE_SIDECAR_DB=<SQLITE_SIDECAR_DB>' -e 'SQLITE_SIDECAR_TOKEN=<SQLITE_SIDECAR_TOKEN>' -- docker run -i --rm ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Verify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. schema, query, insert). It discovers them automatically.
How to install SQLite MCP Sidecar in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "sqlite-mcp-sidecar": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3" ], "env": { "SQLITE_SIDECAR_DB": "<SQLITE_SIDECAR_DB>", "SQLITE_SIDECAR_TOKEN": "<SQLITE_SIDECAR_TOKEN>" } } } }Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install SQLite MCP Sidecar in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "sqlite-mcp-sidecar": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3" ], "env": { "SQLITE_SIDECAR_DB": "<SQLITE_SIDECAR_DB>", "SQLITE_SIDECAR_TOKEN": "<SQLITE_SIDECAR_TOKEN>" } } } }Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install SQLite MCP Sidecar in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.sqlite-mcp-sidecar] command = "docker" args = ["run", "-i", "--rm", "ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3"] env = { SQLITE_SIDECAR_DB = "<SQLITE_SIDECAR_DB>", SQLITE_SIDECAR_TOKEN = "<SQLITE_SIDECAR_TOKEN>" }Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install SQLite MCP Sidecar in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "sqlite-mcp-sidecar": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3" ], "env": { "SQLITE_SIDECAR_DB": "<SQLITE_SIDECAR_DB>", "SQLITE_SIDECAR_TOKEN": "<SQLITE_SIDECAR_TOKEN>" } } } }Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install SQLite MCP Sidecar in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "sqlite-mcp-sidecar": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3" ], "env": { "SQLITE_SIDECAR_DB": "<SQLITE_SIDECAR_DB>", "SQLITE_SIDECAR_TOKEN": "<SQLITE_SIDECAR_TOKEN>" } } } }Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
How to install SQLite MCP Sidecar in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "sqlite-mcp-sidecar": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/xakpc/sqlite-mcp-sidecar:0.1.3" ], "env": { "SQLITE_SIDECAR_DB": "<SQLITE_SIDECAR_DB>", "SQLITE_SIDECAR_TOKEN": "<SQLITE_SIDECAR_TOKEN>" } } } }Fill in your credentials
Replace <SQLITE_SIDECAR_DB>, <SQLITE_SIDECAR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does SQLite MCP Sidecar need from you?
API key — Deployment bearer token (a long random string)
SQLITE_SIDECAR_DBrequiredEnvironment variablePath of the existing SQLite file inside the container
SQLITE_SIDECAR_TOKENrequiredsecretEnvironment variableDeployment bearer token (a long random string)
SQLITE_SIDECAR_PERMISSIONSoptionalEnvironment variablePermission set: schema, read, write, backup, diagnostics, danger-raw-write
Pass secrets through your shell environment rather than committing them into a config file.
What tools does SQLite MCP Sidecar expose? (8)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- schema`schema`
- query`read`
- insert`write`
- update`write`
- delete`write`
- backup`backup`
- diagnostics`diagnostics`
- execute_write_sql`danger-raw-write`
What the code can do
Source analysis currently covers npm packages only. This server ships as a container image, whose contents are not readable the same way.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a Docker container with whatever mounts and env you pass it.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit 5 days ago — Actively maintained.
- Repository created 1 month ago — Very new project with little track record yet.
- 1 GitHub stars — Very little community usage so far.
Client compatibility
Health score
B · 71Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 5 days ago.
- Adoption20%9%
1 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%75%
Links to its own repository; package linkage unverified.
- Packaging15%50%
No pinned version — installs resolve to whatever is latest at launch.
Documentation
Full READMEsqlite-sidecar-mcp
An agent-safe MCP sidecar for one live SQLite database.
It gives an AI agent controlled access to a database that another application already owns, and it limits the damage that an authorized but mistaken agent can cause.
[![ci][ci-shield]][ci-url] [![license][license-shield]][license-url] [![ghcr][ghcr-shield]][ghcr-url] [![dotnet][dotnet-shield]][dotnet-url]
<details> <summary>Contents</summary>
- About the project
- Built with
- Getting started
- The eight tools
- Permissions
- Configuration
- Deployment
- Security
- Contributing
- License
- Contact
- Acknowledgments
</details>
About the project
An application owns a SQLite file. You want an agent to read it, and perhaps to change a few rows. Handing the agent a SQL connection gives it the whole file and one DELETE with a wrong predicate is unrecoverable. sqlite-sidecar-mcp sits next to that application as one more SQLite client and speaks MCP over HTTP. The owning application does not change.
It runs in production next to the MCP Canary API, where it gives the operator's coding agent read-only access to the live database.
flowchart TD
agent[AI / MCP client] -->|HTTPS| proxy[Reverse proxy]
proxy -->|private HTTP| sidecar[sqlite-sidecar-mcp]
sidecar -->|SQLite client| db[(app.db)]
app[Owning application] -->|SQLite client| dbThe product defends against two callers. One is an unauthorized client, which the token and the request budget stop. The other is an authorized client that makes a mistake, and that one is the unusual part: an agent with permission to write can still write the wrong thing. Structured writes, a mandatory predicate, a row limit that counts cascades, and a per-minute write budget exist for it.
[!IMPORTANT] One sidecar process serves one database. The request budget, the write budget and the idempotency cache live in process memory. A second replica gives you two independent budgets and two independent caches, and nothing reports it. Do not scale this service. Run a second sidecar only for a *different* database or a *different* trust boundary.
Built with
Excerpt — the full document is on GitHub.
Alternatives to SQLite MCP Sidecar
- MySQL Ops MCPB · 77MySQL MCP server: browse schema, query, CRUD. Delete/drop gated by user approval.
- ainative-postgres-mcpA · 85Zero-config Postgres MCP with auto-provisioning — drop-in for server-postgres.
- read-only-local-mysql-mcp-serverA · 85MCP server for read-only MySQL database queries in Claude Desktop
- PostgreSQL (hardened, read-only)A · 87Read-only PostgreSQL over MCP. Writes refused at the parsed SQL, plus a READ ONLY transaction.
Maintain SQLite MCP Sidecar? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/dev-xakpc-sqlite-mcp-sidecar)Catalog data refreshed . Something wrong? Report it.