mcpField
S
Spreadsheet DB

Spreadsheet DB

Local
github.com/ManddarinShopDatabases1Updated 2w ago

About Spreadsheet DB

Hikoutei is a TypeScript entity database for applications that need local SQLite reads and writes with changes projected to Google Sheets for review and collaboration. Typed entities and conflict-aware synchronization distinguish it from direct spreadsheet API access.

Key features

  1. 01Typed entity API backed by SQLite
  2. 02Asynchronous Google Sheets projection
  3. 03Durable write retry and deduplication
  4. 04Detects column changes and duplicate headers
  5. 05Conflict-aware Sheet updates

Use cases

  1. 01Build an MVP using SQLite as its source of truth
  2. 02Review application changes in Google Sheets
  3. 03Handle Sheet edits without silently overwriting conflicts

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"manddarinshop-spreadsheet-db": {
"command": "npx",
"args": [
"-y",
"spreadsheet-db-mcp"
],
"env": {
"HIKOUTEI_MCP_CONFIG": "<HIKOUTEI_MCP_CONFIG>",
"HIKOUTEI_SYNC_SPREADSHEET_URL": "<HIKOUTEI_SYNC_SPREADSHEET_URL>",
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
Run commandnpx -y spreadsheet-db-mcp
Environment variables to set
HIKOUTEI_MCP_CONFIGPath to the entity configuration file (hikoutei.config.json). Optional; the server also looks for ./hikoutei.config.json in the working directory.
HIKOUTEI_SYNC_SPREADSHEET_URLGoogle Sheets spreadsheet URL. Absent means local-only mode (no Google contact); when set, the Google Sheets projection is enabled and GOOGLE_APPLICATION_CREDENTIALS must also be set.
GOOGLE_APPLICATION_CREDENTIALSSecretPath to a Google service-account key file (JSON) used for the Sheets projection. Only needed when HIKOUTEI_SYNC_SPREADSHEET_URL is set.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmspreadsheet-db-mcp0.1.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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

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:

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.

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.