Free Sqlite
БесплатноНе проверенFree SQLite MCP server — hosted cloud SQLite for Claude, ChatGPT and Cursor, no file to manage
Описание
Free SQLite MCP server — hosted cloud SQLite for Claude, ChatGPT and Cursor, no file to manage
README
SQLite 3.45.1 FTS5 MCP 2026-07-28 no file to ship
Should you use this?
SQLite's defining property is that it is a file. That is also the property that breaks the moment you want a language model, a CI runner and your laptop to see the same rows. This repo is about the case where you want SQLite's semantics without owning the file — a free hosted SQLite 3.45.1 with an MCP endpoint.
Be honest about when that is and is not the right call:
| You want to… | Best option | Why |
|---|---|---|
| Ship a database inside an app binary or mobile app | local SQLite | zero latency, zero network, that is the whole design |
| Run a test suite against a throwaway database | local SQLite (:memory:) |
a network round trip per statement is pure overhead |
| Let an LLM explore a dataset you also query yourself | hosted SQLite (this) | one URL, no file to attach or upload per conversation |
| Give a teammate read access to a scratch dataset today | hosted SQLite (this) | no Dropbox link, no "which version of the .db is current" |
| Replicate to the edge with embedded read replicas | Turso / libSQL | that is exactly what libSQL was forked to do |
| Sync a local file with a remote copy, offline-first | Turso / libSQL | embedded replicas + sync are a real feature, not a workaround |
| Get relational features SQLite genuinely lacks | PostgreSQL / MySQL | strict typing, RIGHT JOIN before 3.39, concurrent writers |
Turso deserves a straight answer rather than a swipe: if your problem is distribution — replicas near users, offline-capable clients, a fork of SQLite with extra protocol surface — Turso and libSQL are built for it and this is not. What this gives you instead is a free instance with no card, no provisioning step, and MCP tools already wired up, which is the faster path when the problem is access rather than distribution.
The thing itself
SQLite 3.45.1
Dialect SQLite SQL, including FTS5, JSON1, window functions, CTEs, RETURNING
Access freebase.cloud HTTP query API, and MCP over Streamable HTTP
Endpoint https://freebase.cloud/api/mcp/YOUR_TOKEN
Auth none — the token is a path segment
Cost free; suited to development, prototyping and small production workloads
The engine evaluates every statement, so type affinity, PRAGMA behaviour, rowid semantics
and FTS5 ranking are SQLite's, not an approximation. SELECT sqlite_version(); returns
3.45.1.
There is no .db file for you to download and no sqlite3 shell attached to a local path —
the database lives on the service. Export by selecting your data out; see
examples/snapshot_export.sh, which writes a portable
.sql file you can feed straight into a local sqlite3.
Setup, in four steps
- Sign up at freebase.cloud — no credit card — and create a session with the SQLite engine.
- Settings → MCP → New Token → pick the connection → copy the URL.
- Point a client at it. Everything below assumes the connection is named
chess. - Ask the model to list tables. If it comes back with a list, you are done.
# Claude Code
claude mcp add --transport http chess https://freebase.cloud/api/mcp/YOUR_TOKEN
Other clients (Cursor, VS Code, Windsurf, Zed, Cline, Roo, Gemini CLI, Warp, n8n)
// Cursor — .cursor/mcp.json — url only, no type
{ "mcpServers": { "chess": { "url": "https://freebase.cloud/api/mcp/YOUR_TOKEN" } } }
// VS Code / Copilot Chat — .vscode/mcp.json — top-level key is "servers"
{
"inputs": [{ "type": "promptString", "id": "chess-token", "description": "freebase.cloud token", "password": true }],
"servers": { "chess": { "type": "http", "url": "https://freebase.cloud/api/mcp/${input:chess-token}" } }
}
// Windsurf — ~/.codeium/windsurf/mcp_config.json — the key is serverUrl
{ "mcpServers": { "chess": { "serverUrl": "https://freebase.cloud/api/mcp/YOUR_TOKEN" } } }
// Zed — settings.json
{ "context_servers": { "chess": { "url": "https://freebase.cloud/api/mcp/YOUR_TOKEN" } } }
// Cline — camelCase type
{ "mcpServers": { "chess": { "type": "streamableHttp", "url": "https://freebase.cloud/api/mcp/YOUR_TOKEN", "disabled": false, "autoApprove": [] } } }
Roo Code uses "type": "streamable-http" (kebab-case) in .roo/mcp.json. Gemini CLI:
gemini mcp add --transport http chess <url>, and in settings.json the streamable-HTTP key
is httpUrl — a bare url there means SSE, which is the deprecated transport. Warp takes the
inner object without an mcpServers wrapper. n8n: MCP Client Tool node (≥ 1.104.0),
Transport → HTTP Streamable, Authentication → None.
Claude Desktop, Claude web and Cowork are UI-only: Settings → Connectors → Add custom connector → paste → Add, then enable per conversation from the + button, as walked through in the Claude + SQLite guide. The desktop config file cannot describe a remote HTTP server. For ChatGPT: Settings → Apps → Advanced settings → developer mode → Apps → Create, auth None, Scan Tools; write access is still rolling out to Business, Enterprise and Edu workspaces.
Tools
The four tools every freebase.cloud connection exposes, plus two SQLite-specific helpers:
| Tool | What it returns |
|---|---|
chess_query |
rows from a SELECT (or anything with RETURNING) |
chess_store |
writes |
chess_list_tables |
table names |
chess_annotate_table |
acknowledgement; stores a description for the model |
sqlite_master |
the raw schema catalogue — type, name, tbl_name, sql |
sqlite_version |
the engine version string |
sqlite_master is the one to reach for when you want a model to reproduce your schema
rather than describe it: it returns the original CREATE statements verbatim, including
constraints and index definitions that a column listing would lose.
Annotation, with a SQLite twist
SQLite's flexible typing means a column's declared type is a hint, not a guarantee. Tell the model what is actually in there:
chess_annotate_table(
table: "games",
description: "One row per game. result is stored as TEXT: '1-0', '0-1' or '1/2-1/2'
— not a number. eco is the ECO opening code (e.g. 'B22'). ply_count is
half-moves, so a 40-move game has ply_count 80. played_on is TEXT in
ISO-8601 (YYYY-MM-DD) because SQLite has no DATE type."
)
The last clause prevents the most common SQLite mistake a model makes: assuming dates can be
compared with > against a DATE literal, or that strftime is optional.
Dialect notes that matter
- No
DATE/DATETIMEtype. Dates are TEXT (ISO-8601), REAL (Julian day) or INTEGER (Unix epoch). Pick one, write it down, and usedate(),strftime(),julianday()accordingly. - Type affinity, not type enforcement — unless you declare the table
STRICT(3.37+), which this schema does for the tables where it matters. AUTOINCREMENTis usually wrong. A plainINTEGER PRIMARY KEYalready aliasesrowidand reuses nothing you care about;AUTOINCREMENTadds a bookkeeping table for a guarantee most schemas do not need.- FTS5 is a virtual table, kept in sync by triggers you write. It does not update itself.
RETURNINGworks (3.35+), which makes single-statement write-and-read practical — handy when each MCP call is its own statement.- Window functions (3.25+),
json_extract/->/->>(3.38+) andRIGHT/FULL OUTER JOIN(3.39+) are all available on the hosted 3.45.1 build.
Examples: a chess game archive
The dataset is a tournament archive — players, events, games, moves and an FTS5 index over annotations. Chess is a good fit here: the natural queries are recursive (move sequences), text-searchy (opening names and commentary), and analytical (score by colour, by opening, by opponent rating band). The whole archive loads into an empty SQLite session in one script.
| File | Language | Purpose |
|---|---|---|
| examples/chess_archive.sql | SQL | STRICT tables, an FTS5 index with sync triggers, seed games, and eight analytical queries |
| examples/archive_client.py | Python 3 | MCP client: applies the schema, runs opening/result reports, demonstrates sqlite_master and FTS5 MATCH with bm25() ranking |
| examples/snapshot_export.sh | bash + curl | Dumps schema and data to a .sql file that a local sqlite3 can import unchanged |
export FREEBASE_MCP_URL="https://freebase.cloud/api/mcp/YOUR_TOKEN"
export FREEBASE_CONN="chess"
export FREEBASE_NAMESPACE="chess" # for the bash script, which uses the query API
python3 examples/archive_client.py --setup
python3 examples/archive_client.py --search "kingside attack"
./examples/snapshot_export.sh > archive.sql
sqlite3 local.db < archive.sql # your data, on your disk, in one command
That last pair of lines is the answer to "am I locked in": the export is ordinary SQL and the import target is the same engine version you have been querying.
Limits
- Free tier is for development, prototyping and small production workloads. No storage ceiling, uptime figure or backup schedule is claimed here — check the dashboard for what applies to your session.
- One writer, as always. SQLite serialises writes by design. That is a feature for correctness and a ceiling for write throughput. High-concurrency write workloads want PostgreSQL.
- No file handle. You cannot
ATTACHa local database, copy the.dboff withscp, or point a localsqlite3shell at it directly. Export instead. - One statement per tool call; no transactions spanning multiple MCP calls.
- Extensions you compile yourself are not loadable. FTS5, JSON1 and the standard built-ins are present.
- Claude free tier: one custom connector.
FAQ
Is this SQLite or a SQLite-compatible reimplementation?
SQLite 3.45.1. sqlite_version returns it; sqlite_master returns the real catalogue.
Can I import a CSV?
Yes — turn rows into INSERT statements and send them through chess_store, or use
the HTTP query API. There is no .import dot-command, because dot-commands are a feature of the
sqlite3 CLI rather than the engine.
Does FTS5 ranking work?
Yes, including bm25() with per-column weights and snippet() / highlight().
examples/archive_client.py --search uses all three.
Why does my ORDER BY played_on sort strangely?
Almost certainly a date stored in a non-sortable format. ISO-8601 TEXT sorts correctly as
text; DD/MM/YYYY does not. This is the SQLite tax and it is worth paying attention to at
schema-design time.
Is STRICT worth using?
For any table where a wrong type would be a bug, yes. It turns SQLite's flexible typing off
per table, which is often what people assumed they had.
Links
- SQLite instance page
- Connecting Claude to SQLite
- SQLite documentation · FTS5 · STRICT tables
- MCP specification 2026-07-28
freebase.cloud is an independent service and is not affiliated with the SQLite project, Turso, Anthropic, OpenAI, Google, Microsoft or Cursor.
Установка Free Sqlite
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/freebase-cloud/free-sqlite-mcp-serverFAQ
Free Sqlite MCP бесплатный?
Да, Free Sqlite MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Free Sqlite?
Нет, Free Sqlite работает без API-ключей и переменных окружения.
Free Sqlite — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Free Sqlite в Claude Desktop, Claude Code или Cursor?
Открой Free Sqlite на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
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
автор: 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
автор: madhurprashPostgres
Query your database in natural language
автор: AnthropicPostgreSQL
Read-only database access with schema inspection.
автор: modelcontextprotocolRedis
Interact with Redis key-value stores.
автор: modelcontextprotocolSQLite
Database interaction and business intelligence capabilities.
автор: modelcontextprotocolmxcp
Open-source framework for building enterprise-grade MCP servers using just YAML, SQL, and Python, with built-in auth, monitoring, ETL and policy enforcement.
автор: raw-labstadas-github/a2asearch-mcp
MCP server to search 4,800+ MCP servers, AI agents, CLI tools and agent skills. Install: npx -y a2asearch-mcp. Ask Claude: "Find MCP servers for database access
автор: tadas-githubjulien040/anyquery
Query more than 40 apps with one binary using SQL. It can also connect to your PostgreSQL, MySQL, or SQLite compatible database. Local-first and private by desi
автор: julien040drakonkat/wizzy-mcp-tmdb
A MCP server for The Movie Database API that enables AI assistants to search and retrieve movie, TV show, and person information.
автор: drakonkatCompare Free Sqlite with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории data
