Litebase

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Oct 29, 2026

SQLite database access for agents: query, write, create and describe tables, record insights.

VerifiedSTDIODesktop onlyDatabasesData & Analytics

Overview

AI-generated overview

Litebase gives an assistant a local SQLite database file to query, write, create tables in, inspect, and keep an in-memory memo of findings.

What you can do
  • Run single SELECT or WITH queries and get column names plus rows as objects
  • Insert, update or delete rows and see affected row counts and last rowid
  • Create tables and list or describe a database's user tables
  • Append numbered insights to an in-memory memo and read the whole memo back
  • Each tool accepts only its own statement type, one statement at a time
When to use it
Useful when an assistant needs a small, self-contained SQL database on the local machine for analysis or prototyping, without provisioning a server or compiling native addons. Good for ad-hoc data work where a file path or an in-memory database is enough.
Requirements
Runs as a local stdio process via npx or the Docker image. Needs Node 22.5 or newer, since it relies on the built-in node:sqlite module; Node 24 is recommended. The database path comes from the argument after mcp, then the LITEBASE_DB environment variable, then ./litebase.db. No accounts, keys or network access are needed.
Before you install
The write tools change data in the target database file, and create_table adds tables; there is no drop or delete-table tool, but INSERT, UPDATE and DELETE execute directly. Point it at a disposable or backed-up database file rather than important data. The insights memo is memory-only and is lost on restart.

Installation

In SourceWeft

  1. Open Litebase in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

litebase

litebase gives you a SQLite database you can drive from a terminal or hand to an agent as an MCP server. It covers the everyday loop of working with a small database: create tables, put rows in, change them, read them back, check what a table looks like, and keep a running memo of what you learned from the data along the way.

There is nothing to provision and no native addon to compile: the storage engine is the SQLite library built into Node itself (node:sqlite), so a "database" is just a file path — or :memory: when you want a throwaway one.

Install

bash
npx @reneturcios/litebase tables ./data.db

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/litebase

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

Node version requirement

litebase's engine is Node's built-in node:sqlite module, which only exists in Node 22.5 and newer. The package's engines field says >=20 because that is the fleet standard, but that is an honest gap: on Node 20 the CLI and server start, and then fail the moment a database is opened, with an error that names the Node >= 22.5 requirement. Use Node 22.5+ (Node 24 recommended) to actually read or write data.

CLI

bash
# List the user tables in a database filelitebase tables ./data.db
# Run a read query; rows print as JSON objectslitebase query ./data.db "SELECT id, name FROM users ORDER BY id"
litebase --version

Which database the MCP server opens is resolved in this order: the path argument after mcp, then the LITEBASE_DB environment variable, then ./litebase.db in the current directory.

Exit codes: 0 on success, 1 when a query or the database itself errors (the message says why), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/litebase mcp ./data.db

MCP client configuration:

json
{  "mcpServers": {    "litebase": {      "command": "npx",      "args": ["-y", "@reneturcios/litebase", "mcp", "./data.db"]    }  }}

The database is opened lazily on the first tool call, so starting the server never creates a file by itself.

Tools

ToolInputWhat it does
read_queryquery (string, required)Runs one SELECT (or WITH ... SELECT) statement and returns the column names plus the rows as objects.
write_queryquery (string, required)Runs one INSERT, UPDATE, or DELETE statement and reports how many rows were affected and the last insert rowid.
create_tablequery (string, required)Runs one CREATE TABLE statement.
list_tables—Lists the database's user tables (SQLite's internal sqlite_% tables are hidden).
describe_tabletable_name (string, required)Returns a table's columns with their declared types, nullability, defaults, and primary-key flags.
append_insightinsight (string, required)Adds a note to the in-memory insights memo and returns the full memo text so far.

Statement guards

Each tool only accepts the kind of statement it is for, and only one statement at a time:

  • read_query rejects anything that does not start with SELECT or WITH.
  • write_query rejects SELECT, CREATE, DROP, and everything else that is not INSERT, UPDATE, or DELETE.
  • create_table rejects anything that is not CREATE TABLE.
  • A second statement smuggled in after a ; is rejected before anything executes.
  • describe_table only accepts a plain table name (letters, digits, underscores) — the name goes into a PRAGMA, so it is validated rather than parameterised.

Guard rejections and SQL errors come back as tool errors with a message naming the problem; nothing is executed on a rejected call.

Insights memo

append_insight keeps a numbered memo on the server instance: every call appends one insight and returns the whole memo, so an agent can build up findings during an analysis session and read them back as a single text. The memo lives in memory only — it is not written to the database file and does not survive a server restart.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no networknpm run dev     # run the CLI from source via tsx

Tests run against in-memory and temporary-file databases; no network access is needed.

License

MIT — see LICENSE.

Source: README.md at commit 64d2fce

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestOct 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts