Supabase
Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.
Description from the maker (original English)
MCP server for local SQLite database operations
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"sqlite-tools": {
"command": "npx",
"args": [
"-y",
"mcp-sqlite-tools"
]
}
}
}Run this in your terminal
claude mcp add sqlite-tools -- npx -y mcp-sqlite-toolsPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"sqlite-tools": {
"command": "npx",
"args": [
"-y",
"mcp-sqlite-tools"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"sqlite-tools": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-sqlite-tools"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account spences10, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.0.11) reached the registry 14 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Supabase, MongoDB MCP Server, Elasticsearch MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Supabase’s official server lets AI create tables, query data and review project settings in your Supabase database.
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A Model Context Protocol (MCP) server for safe, local SQLite database operations. It gives MCP clients explicit read, write, schema, transaction, CSV, backup, and maintenance tools.
The MCP client starts this server through npx; a global installation is not required.
MCPick can add the server to a supported client without manual JSON editing. This command targets Claude Code's local scope by default:
npx -y mcpick add \
--name sqlite-tools \ --command npx \ --args "-y,mcp-sqlite-tools"
Select a client and scope explicitly when needed:
npx -y mcpick add \
--name sqlite-tools \ --command npx \ --args "-y,mcp-sqlite-tools" \ --client vscode \ --scope project
The add command supports Claude Code, Gemini CLI, VS Code, Cursor, Windsurf, OpenCode, and Pi. Run npx mcpick clients to see current client capabilities, scopes, and configuration locations.
The examples track the latest package release. For reproducible configuration, replace mcp-sqlite-tools in --args with an exact version such as mcp-sqlite-tools@x.y.z.
For unsupported clients or advanced configuration, add the server manually:
{
"mcpServers": { "mcp-sqlite-tools": { "command": "npx", "args": ["-y", "mcp-sqlite-tools"], "env": { "SQLITE_DEFAULT_PATH": ".", "SQLITE_ALLOW_ABSOLUTE_PATHS": "true", "SQLITE_BUSY_TIMEOUT": "30000", "SQLITE_JOURNAL_MODE": "wal", "SQLITE_BACKUP_PATH": "./backups" } } } }
VS Code uses a servers object instead of mcpServers. See the configuration guide for more client-specific examples.
| Variable | Purpose | Default |
|---|---|---|
SQLITE_DEFAULT_PATH | Base directory for database files | . |
SQLITE_ALLOW_ABSOLUTE_PATHS | Allow paths outside the default directory | true |
SQLITE_BACKUP_PATH | Default backup directory | Default database path |
SQLITE_BUSY_TIMEOUT | SQLite lock busy timeout in milliseconds | 30000 |
SQLITE_JOURNAL_MODE | delete, truncate, persist, or wal | wal |
DEBUG | Enable diagnostic logging | false |
When SQLITE_ALLOW_ABSOLUTE_PATHS=false, relative and absolute paths must resolve inside SQLITE_DEFAULT_PATH. Symbolic links cannot be used to escape that directory.
Use SQLITE_JOURNAL_MODE=delete for databases in file-synchronized directories. The unsafe SQLite modes memory and off are not accepted.
SQLITE_MAX_QUERY_TIME remains available as a deprecated alias for SQLITE_BUSY_TIMEOUT. It does not limit wall-clock query runtime.
Tools are separated by intent so MCP clients can apply clear approval rules.
| Tool | Purpose |
|---|---|
open_database | Open an existing database |
close_database | Close one database connection |
list_databases | Find database files in a directory |
database_info | Read file and SQLite metadata |
list_tables | List tables and views |
describe_table | Read columns and constraints |
backup_database | Create a consistent online backup |
export_csv | Export a table or read-only query |
export_schema | Export schema as SQL or JSON |
execute_read_query | Run one SQLite read-only statement |
| Tool | Purpose |
|---|---|
create_database | Create a new database file |
create_table | Create a table from validated columns |
drop_table | Drop a table and its data |
execute_write_query | Run INSERT, UPDATE, or DELETE |
execute_schema_query | Run one schema statement |
bulk_insert | Insert records in batches |
import_csv | Import a headered CSV file |
import_schema | Apply SQL or JSON schema objects |
vacuum_database | Rebuild a database to reclaim space |
begin_transaction | Begin a transaction or nested savepoint |
commit_transaction | Commit or release a savepoint |
rollback_transaction | Roll back a transaction or savepoint |
See the complete API reference for parameters, responses, examples, pagination, and CSV options.
The server does not treat every SQL string as equivalent:
execute_read_query uses SQLite's authorizer API to reject writes, schema changes, unsafe PRAGMAs, attachment, and multiple statements.A client can allow read-only tools and require approval for destructive tools. Always review SQL and file paths before approving changes. Back up important databases before schema changes, imports, or large writes.
Using node:sqlite removes the native addon, its install script, and its platform-specific binaries. A clean production install fell from 31.3 MB with better-sqlite3 to 3.6 MB with native SQLite, an 88.5% reduction. The npm tarball itself is similar in size: 63.1 KB native versus 60.0 KB published. The large saving is in the installed dependency tree.
The migration also removes better-sqlite3 and its type package. It makes installation independent of prebuilt addon availability or a working native compiler.
Lower times are better. These medians use 20,000 rows, two warmups, and seven measured runs per driver. Each sample uses a new database and the driver order alternates. Setup is outside the measured region except for the insert workload.
| Workload | node:sqlite | better-sqlite3 | Native result |
|---|---|---|---|
| Insert transaction | 11.13 ms | 23.78 ms | 2.14× faster |
| Indexed point reads | 25.23 ms | 21.40 ms | 17.9% slower |
| Full row scan | 6.39 ms | 3.29 ms | 94.3% slower |
| Update transaction | 8.04 ms | 15.40 ms | 1.92× faster |
| Online backup | 0.55 ms | 0.38 ms | 45.0% slower |
Measured on Linux x64 with Node.js 24.15.0 and an AMD Ryzen AI 9 HX 370. Node used SQLite 3.51.3; better-sqlite3@13.0.1 used SQLite 3.53.3. These microbenchmarks show driver trade-offs, not complete MCP performance. MCP transport and validation costs are not included.
git clone https://github.com/spences10/mcp-sqlite-tools.git
cd mcp-sqlite-tools pnpm install pnpm run check pnpm test pnpm run build
See development and architecture for module responsibilities and other development commands.
Issues and pull requests are welcome.
MIT License. See LICENSE.