QueryBear is a managed SQLite MCP server. Point QueryBear at a local SQLite file and any MCP-capable AI client can query it through a hardened read-only gateway. Useful for analyzing local databases, embedded application data, or shipped-with-app SQLite stores like Apple Notes, browser histories, or Electron apps. Works with SQLite 3.x (any modern version).Documentation Index
Fetch the complete documentation index at: https://docs.querybear.com/llms.txt
Use this file to discover all available pages before exploring further.
Why a SQLite MCP server
SQLite is everywhere — it powers your phone, your browser history, most native macOS apps, Electron desktop apps, mobile games, and countless internal tools. When you want an AI to analyze one of these files, the usual options are:- Open it in a SQLite GUI and copy/paste schemas into ChatGPT. Tedious.
- Let the agent execute arbitrary
sqlite3CLI calls. Risky —sqlite3can mutate the file and runATTACH DATABASEto read arbitrary other files on disk. - Build a custom tool. Overkill for one-off analysis.
SELECT queries — nothing else.
How SQLite connections work
Unlike Postgres or MySQL, SQLite is file-based. QueryBear runs a local connector that reads the file directly. The MCP protocol still flows through the QueryBear cloud, but the database file never leaves your machine. This means:- The file path must be reachable from the machine running the QueryBear connector (your laptop, your server).
- Concurrent writers (e.g. an app actively using the same file) are handled correctly via SQLite’s WAL mode — QueryBear opens read-only.
- Network databases are not relevant — SQLite is local by nature.
Add a SQLite connection
In the QueryBear dashboard, add a new SQLite connection:- File path — absolute path on the machine running the QueryBear connector (e.g.
/Users/alice/data/analytics.sqlite). - Read mode — locked to read-only. Even
PRAGMA writable_schema = 1is rejected.
SQLite-specific notes
ATTACH DATABASEis blocked. Otherwise an injected agent could attach/etc/passwdand read it via SQL.PRAGMAstatements are restricted to a safe allow-list. Schema-introspection pragmas are permitted; anything that changes runtime behavior is blocked.- WAL mode is respected. Concurrent writers (e.g. the Electron app that owns the DB) keep working.
- JSON1 functions work —
json_extract,->,->>, etc. - FTS5 virtual tables are queryable like regular tables.
- Views are first-class.
Common SQLite use cases with QueryBear
- Analyze Apple Notes —
~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite. (Backup first.) - Browser history analysis — Chrome’s
Historyfile, Firefox’splaces.sqlite. - Electron app debugging — many apps store state in SQLite.
- Local analytics dashboards — DuckDB and SQLite are common formats for shipped datasets.
- Embedded application telemetry — IoT devices, point-of-sale systems, kiosks.
Connect SQLite to your AI client
Claude Code
One-line CLI setup. Query SQLite from
claude in the terminal.Claude Desktop
Custom connector in Claude’s desktop app.
Cursor
Drop into
.cursor/mcp.json. Query SQLite while pairing with Cursor.Codex
Add to
~/.codex/config.toml. SQLite access in Codex CLI.Windsurf
Add as a custom MCP server in Windsurf settings.
ChatGPT
Custom connector in ChatGPT (developer mode).