mcpField
S
Spreadsheet DB

Spreadsheet DB

ローカル
github.com/ManddarinShopデータベース12 週間前に更新

Spreadsheet DB について

Hikouteiは、ローカルSQLiteを使うTypeScriptアプリ向けのエンティティデータベースです。変更をGoogle Sheetsへ非同期反映し、型付きエンティティと競合を考慮した同期を提供します。

主な機能

  1. 01SQLiteを基盤とする型付きエンティティAPI
  2. 02Google Sheetsへの非同期反映
  3. 03書き込みの永続的な再試行と重複排除
  4. 04列の変更と重複ヘッダーの検出
  5. 05競合を考慮したシート更新

活用シーン

  1. 01SQLiteを正データとしてMVPを構築
  2. 02Google 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 は、ローカルの SQLite をバックエンドとする型付きエンティティ API を TypeScript アプリケーションに提供し、コミットされた変更を非同期で Google Sheets に同期します。

通常の読み書きで、アプリケーションが Google Sheets の応答を待つことはありません。Sheets は、確認、運用、軽量な人間同士の共同作業に引き続き利用できます。

Hikoutei は Sheets API の薄いラッパーでも、PostgreSQL の代替でもありません。また、Google Sheets をアプリケーションの正式なデータベースとして扱うこともありません。信頼できる唯一の情報源は SQLite であり、Sheets は人が利用するためのビューです。

Hikoutei を選ぶ理由

  • Sheet の行を手作業で変換する代わりに、型付きエンティティを定義できます。
  • Google Sheets の応答を待たずに、ローカルの SQLite を通じて読み書きできます。
  • コミットされた変更をバックグラウンドで 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 ライセンスのもとで公開されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。