mcpField
S
Spreadsheet DB

Spreadsheet DB

本地服务
github.com/ManddarinShop数据库12 周前更新

关于 Spreadsheet DB

Hikoutei 为 TypeScript 应用提供基于本地 SQLite 的实体数据库,并将变更异步同步到 Google Sheets,供检查和协作。它支持类型化实体和冲突感知同步,而非直接操作表格 API。

主要功能

  1. 01基于 SQLite 的类型化实体 API
  2. 02异步投影到 Google Sheets
  3. 03持久化写入重试与去重
  4. 04检测列变更和重复表头
  5. 05具备冲突检测的表格更新

适用场景

  1. 01以 SQLite 为权威数据源构建 MVP
  2. 02在 Google Sheets 中检查应用变更
  3. 03处理表格编辑并避免静默覆盖冲突

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"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>"
}
}
}
}
启动命令npx -y spreadsheet-db-mcp
需要配置的环境变量
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_CREDENTIALS密钥Path to a Google service-account key file (JSON) used for the Sheets projection. Only needed when HIKOUTEI_SYNC_SPREADSHEET_URL is set.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmspreadsheet-db-mcp0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

한국어 | 日本語

Hikoutei

Hikoutei

借助 SQLite 保持应用快速运行。借助 Google Sheets 让工作流一目了然。

为基于 Google Sheets 的 MVP 提供带类型的仓库和安全写入层:应用通过带类型的实体读写本地 SQLite,并将已提交的更改异步同步到 Google Sheets,供人工审核和轻量协作。

npm · 快速入门 · 问题反馈

npm version license TypeScript

什么是 Hikoutei?

Hikoutei 为 TypeScript 应用提供由本地 SQLite 支持的带类型实体 API,并将已提交的更改异步同步到 Google Sheets。

应用执行常规读写时无需等待 Google Sheets。Sheets 仍可用于查看、运营和轻量级人工协作。

Hikoutei 不是原始 Sheets API 封装,也不是 PostgreSQL 的替代品, 并且不会将 Google Sheets 视为权威的应用数据库。SQLite 是事实来源;Sheets 是面向用户的视图。

为什么选择 Hikoutei?

  • 定义带类型的实体,而不必手动转换 Sheet 行。
  • 通过本地 SQLite 读写,无需等待 Google Sheets。
  • 在后台将已提交的更改同步到 Sheets。
  • 检测意外的列变更和重复表头。
  • 在发生冲突的更新中避免覆盖较新的 Sheet 编辑。

Hikoutei 不会取代 google-spreadsheet 或 @googleapis/sheets,而是在它们之上提供一层抽象。如果只需要直接访问电子表格,请直接使用 API 客户端。

能力Hikouteigoogle-spreadsheet@googleapis/sheets
带类型的实体模型✅❌❌
快速读取本地应用数据✅❌❌
异步投影到 Sheets✅❌❌
持久化写入重试和去重✅❌❌
感知冲突的 Sheet 更新✅❌❌
直接操作行和单元格有限✅✅
完整的 Google Sheets API 访问仅限提供方部分支持✅

安装

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

安装该库不会触及 Google Cloud——默认仅在本地运行(SQLite)。只有在需要同步 Sheet 时,才运行下面的设置命令。

设置(Google Sheets 同步)

一次性、交互式操作。先安装 gcloud CLI,然后:

npx hikoutei setup

该命令会创建 Cloud 项目、服务账号、密钥和电子表格,并为你写入 .env。如果没有设置 HIKOUTEI_SYNC_SPREADSHEET_URL,createTypedSheets() 将仅在本地运行(SQLite)。详情、凭证池、配额指南和手动设置请参阅:Google Sheets 设置。

用法

定义一个标量实体,并通过请求局部管理器使用本地 SQLite 权威数据源。

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();
}

更多读取、事务和运算符用法,请参阅:快速入门。

写入会立即提交到本地 SQLite——请求无需等待 Google。Sheet 中的人工编辑会通过轮询流回:被接受并写入 SQLite,或记录为冲突,绝不会被悄悄覆盖。完整流程(发件箱、交付、冲突处理)请参阅写入与同步流程。

了解更多

许可证

Hikoutei 基于 MIT 许可证 发布。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。