Spreadsheet DB

io.github.ManddarinShopPublished by GitHub account ManddarinShopv0.1.1Updated Oct 25, 2026

SQLite-authoritative entity database with an async Google Sheets projection for AI agents.

VerifiedSTDIODesktop onlyDatabasesData & Analytics

Overview

AI-generated overview

A local MCP server giving assistants a typed SQLite entity database that asynchronously projects committed changes to a Google Sheets view.

What you can do
Read and write typed entities through a local SQLite store that acts as the source of truth, without waiting on Google Sheets for normal operations. Commit changes that are then asynchronously projected to a Google Sheets spreadsheet for human review and lightweight collaboration. Poll for human edits made in the Sheet and accept them into SQLite or record them as conflicts instead of silently overwriting. Detect unexpected column changes and duplicate headers, and retry or deduplicate durable writes. Run in local-only mode with no Google contact when no spreadsheet URL is configured.
When to use it
Useful when an assistant needs a fast local structured store for an MVP or small application while people still want to inspect and lightly edit the data in a familiar spreadsheet. Choose it when SQLite should stay authoritative and Sheets is only a human-facing view; for raw spreadsheet access or a production relational database, other tools fit better.
Requirements
Runs as a local process (npm package, stdio). Node.js and a working directory containing the entity configuration file, or a path set in HIKOUTEI_MCP_CONFIG. Google Sheets sync is optional and needs HIKOUTEI_SYNC_SPREADSHEET_URL plus GOOGLE_APPLICATION_CREDENTIALS pointing to a service-account key file; the documented setup command creates the Cloud project, service account, key and spreadsheet.
Before you install
The Google Sheets path requires a service-account key file referenced by GOOGLE_APPLICATION_CREDENTIALS, which grants access to the Cloud project and spreadsheet; keep it out of version control. Enabling sync writes data to a third-party Google service. The server writes, updates and deletes records in SQLite and can push changes to the Sheet, and human Sheet edits flow back into the database, so conflicts and unintended overwrites are possible.

Installation

In SourceWeft

  1. Open Spreadsheet DB 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

한국어 | 日本語

[Hikoutei]

Hikoutei

Keep your app fast with SQLite. Keep your workflow visible in Google Sheets.

A typed repository and safe write layer for Google Sheets-backed MVPs: your application reads and writes local SQLite through typed entities, and committed changes are asynchronously projected to Google Sheets for human review and lightweight collaboration.

npm · Quick start · Issues

[npm version] [license] [TypeScript]

What is Hikoutei?

Hikoutei gives TypeScript applications a typed entity API backed by local SQLite, then asynchronously synchronizes committed changes to Google Sheets.

Your application does not wait on Google Sheets for normal reads and writes. Sheets remains available for inspection, operations, and lightweight human collaboration.

Hikoutei is not a raw Sheets API wrapper, not a replacement for PostgreSQL, and it does not treat Google Sheets as the authoritative application database. SQLite is the source of truth; Sheets is the human-facing view.

Why Hikoutei?

  • Define typed entities instead of manually converting Sheet rows.
  • Read and write through local SQLite without waiting for Google Sheets.
  • Synchronize committed changes to Sheets in the background.
  • Detect unexpected column changes and duplicate headers.
  • Avoid overwriting newer Sheet edits during conflicting updates.

Hikoutei does not replace google-spreadsheet or @googleapis/sheets — it sits one level above them. If you only need raw spreadsheet access, use the API client directly.

CapabilityHikouteigoogle-spreadsheet@googleapis/sheets
Typed entity model✅❌❌
Fast local application reads✅❌❌
Async projection to Sheets✅❌❌
Durable write retry and deduplication✅❌❌
Conflict-aware Sheet updates✅❌❌
Direct row and cell manipulationLimited✅✅
Full Google Sheets API accessProvider onlyPartial✅

Installation

sh
npm install hikoutei @mikro-orm/core @mikro-orm/sql

Installing the library does not touch Google Cloud — it runs local-only (SQLite) by default. Run the setup command below only when you want Sheet sync.

Setup (Google Sheets sync)

One-time, interactive. Install the gcloud CLI, then:

sh
npx hikoutei setup

This creates the Cloud project, service account, key, and spreadsheet, and writes .env for you. Without HIKOUTEI_SYNC_SPREADSHEET_URL, createTypedSheets() stays local-only (SQLite). Details, credential pools, quota guidance, and manual setup: Google Sheets setup.

Usage

Define a scalar entity and use the local SQLite authority through a request-local manager.

ts
import { createTypedSheets, defineTypedSheetsEntity } from "hikoutei";
const User = defineTypedSheetsEntity({  name: "User",  tableName: "users",  properties: {    id: { type: "string", primary: true },    name: { type: "string" },    age: { type: "number" },    active: { type: "boolean" },  },});
const hikoutei = await createTypedSheets({  dbName: "./hikoutei.sqlite",  entities: [User],});
const em = hikoutei.em.fork();const user = em.create(User, { id: "u1", name: "Ada", age: 36, active: true });em.persist(user);await em.flush();
user.name = "Ada Lovelace";await em.flush();
const loaded = await em.findOne(User, { id: "u1" });if (loaded !== null) {  em.remove(loaded);  await em.flush();}

More reads, transactions, and operators: Quick start.

Writes commit to local SQLite immediately — the request never waits on Google. Human edits in the Sheet flow back through polling — accepted into SQLite or recorded as conflicts, never silently overwritten. The full pipeline (outbox, delivery, conflict handling) is covered in Write and synchronization flow.

Learn more

License

Hikoutei is released under the MIT License.

Source: README.md at commit d745ac8

Tools

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

Version history

1
  1. v0.1.1LatestSep 16, 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