alephgrid について
alephgridは、大規模データセット向けのオープンソース表計算ソフトです。ローカルまたはセルフホストのサーバーで、ワークブック、テーブル、SQLを組み合わせられます。読み取り専用のMCP接続により、エージェントはスキーマ確認、データ取得、SQL実行、保存済みクエリの利用ができ、結果にはレシートが付与されます。
主な機能
- 01大規模CSV・Parquetテーブル対応
- 02Excel互換のシートと数式
- 03SQL、保存済みクエリ、分析ツール
- 04結果レシート付き読み取り専用MCP
- 05ローカルまたはセルフホストでの運用
活用シーン
- 01エージェントによる安全なワークブック確認
- 02MCP経由での大規模テーブル検索
- 03エージェントのワークフローで保存済みクエリを再利用
MCP 対応
Streamable HTTP(`/mcp`)またはstdio(`alephgrid mcp`)で、読み取り専用のエージェント接続を提供します。スキーマカード、カタログ検索、読み取り、読み取り専用SQL、保存済みクエリと分析を利用でき、コンテンツハッシュ付きレシートが返ります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://{alephgrid_host}/mcpclaude mcp add --transport http dev-alephgrid-alephgrid https://{alephgrid_host}/mcp{"mcpServers":{"dev-alephgrid-alephgrid":{"type":"http","url":"https://{alephgrid_host}/mcp"}}}Cursor で開く{"servers":{"dev-alephgrid-alephgrid":{"type":"http","url":"https://{alephgrid_host}/mcp"}}}VS Code で開く{"mcpServers":{"dev-alephgrid-alephgrid":{"type":"http","url":"https://{alephgrid_host}/mcp"}}}{"mcpServers":{"dev-alephgrid-alephgrid":{"serverUrl":"https://{alephgrid_host}/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://{alephgrid_host}/mcp認証が必要ツール
詳細
スプレッドシートに収まらないデータのためのオープンソースのスプレッドシートです。
数億行に対応し、本格的なスプレッドシート関数を使えます。必要に応じてSQLも利用できます。
ノートパソコンでも、ご自身のサーバーでも実行できます。データが外部に出ることはありません。
数億行を含むCSVファイルやParquetファイルを開き、ブラウザー上でスクロール、並べ替え、フィルター、編集を行い、計算列を追加できます。こうした大きなテーブルの隣に、書式設定、グラフ、XLOOKUPやSUMIFSなどのExcel関数を使った通常のシートを作成し、それらの関数から大きなテーブルを直接参照できます。すべての処理は、お使いのマシン上のDuckDBファイルで実行されます。利用枠、料金プラン、ペイウォールはありません。エクスポート、サインイン、チーム機能など、すべての機能を無料で利用できます。
alephgrid flights.parquet # opens http://127.0.0.1:7878 with the file loaded
alephgrid --demo-rows 100000000 # or try it on 100M generated rows
![]() | ![]() |
| 独自の関数をサイドパネルで管理:コード、テスト、ドキュメント、バージョン | 必要に応じてSQLを利用でき、グリッドの下にドッキングできます(ダークテーマ) |
![]() | |
| ハブ:すべてのワークブックとそのサイズ、計算が実行中かどうかを表示 |
ステータス:プレリリース。 最初のリリース(v0.1.0)の準備中です。現在はソースから、またはDockerを使ってビルドできます。公開済みのバイナリとイメージはリリースに含まれます。提供される機能と提供されない機能をご覧ください。
Alephgrid を選ぶ理由
- 大きなテーブルも高速です。 ワークブックを開いても、データはメモリに読み込まれません。グリッドが取得するのは画面上の行だけなので、900,000,000 行目へのスクロールも範囲の読み取りです。並べ替えではコピーではなく順列を作成し、計算列は表示中の行についてのみ計算されます。
- 隣に本格的なスプレッドシートがあります。 シートでは Excel 構文と Excel 互換のエンジン(IronCalc)を使用し、書式設定、セルの結合、ウィンドウ枠の固定、グラフ、色のルール、コメント、XLSX のインポートとエクスポートに対応しています。
- 大きなテーブルに対するスプレッドシートの数式。 シートのセルに入力した
=XLOOKUP(A2, customers[id], customers[region])や=SUMIFS(orders[amount], orders[region], A2)は、行ごとに検索するのではなく、テーブル全体に対する単一のクエリとして実行されます。テーブル数式をご覧ください。 - SQL は不要ですが、利用も可能です。 SQL を書かなくても、フィルター、ピボット、結合、グラフを使えます。SQL ワークスペースは開くまで閉じたままで、サーバー側で無効にすることもできます。
- 自分で実行できます。 UI を組み込んだ単一のバイナリで、データは通常のディレクトリに保存され、ライセンスは Apache-2.0 です。チーム向けのスペース、ロール、シングルサインオン、監査、クォータ、バックアップも同じバイナリで利用できます。
- MCP 経由でエージェントを接続できます。 Model Context Protocol を通じて、AI エージェントにワークブックのテーブル、シート、保存済みクエリへの読み取りアクセスを許可できます。各結果にはレシートが付属します。
機能
| インポート | CSV/TSV(自動検出)、Parquet、JSON/JSONL、テーブルとしてのgzip、編集可能なシートとしてのXLSX。ドラッグ&ドロップまたはCLIで取り込めます。ストリーミングで読み込まれ、列の型とサンプルをサイドペインで確認できます |
| テーブル | 行数を問わず扱える仮想キャンバスのグリッド。型付き編集、行の挿入と削除、列の追加・名前変更・削除、計算列(=[fare_usd] / [distance_mi])、テーブル全体に対する複数列の並べ替えとフィルター、件数付きのヘッダー値フィルター、保存済みビュー |
| シート | Excel 数式、シート間参照、名前付き範囲、動的配列、LET / LAMBDA。数式のオートコンプリートと引数ヘルプ、元に戻す/やり直し |
| 編集 | キーボード操作を優先:矢印キー、Shift と Mod による選択、F2、Mod+A(入力済みの範囲、続けてシート全体)、コピー、切り取り、数式を変換して貼り付け、形式を選択して貼り付け(値、数式、書式、転置)、下方向と右方向へのフィル、系列(1、2 → 3、4、Week 1 → Week 2)を継続するかパターンを繰り返すフィルハンドル。キーボード操作を参照してください |
| 書式とレイアウト | 太字、斜体、下線、取り消し線、サイズ、色、罫線、配置、折り返し、数値形式、セル結合。行と列の固定、サイズ変更、表示/非表示、ズーム 50~200%。XLSX でも保持されます |
| シートデータ | 検索と置換(1つのシートまたはすべて)、範囲の並べ替えとフィルター、色のルールとスケール、許可値のリスト、保存前にプレビューできるグラフ(縦棒、横棒、折れ線、面、散布図、円)、返信付きコメント |
| 分析 | 選択範囲の合計、平均、件数をリアルタイムで表示。SQL を使わずに概要、ピボット、結合、グラフ、列プロファイルを作成できる分析ペイン。重複削除、分割、トリミング、型変換をプレビュー付きで実行 |
| SQL | スキーマブラウザー、オートコンプリート、$parameters、キャンセル可能なプレビュー、バージョン付きの保存済みクエリとライブクエリ、クエリからのテーブル作成、完全なエクスポート。ワークブック内のテーブルのみを読み取ります |
| 関数 | 再利用可能な関数をシート数式、SQL 式、またはサンドボックス化されたPythonとして定義できます。テスト、バージョンの公開、固定、ロールバックが可能です。関数を参照してください |
| エクスポート | 任意のテーブルまたはフィルター済みビューを CSV、Parquet、JSON Lines でエクスポート。シートは XLSX でエクスポートでき、XLSX に保持できない項目のレポートも表示されます |
| コラボレーション | 1つのワークブックを複数人で利用し、互いの編集をリアルタイムで確認できます。履歴とリビジョンの復元にも対応します |
| チーム | 組織、スペース、オーナー/編集者/閲覧者のロール(ID プロバイダーのグループからも設定可能)、招待、サービストークン、パスワードまたは OpenID Connect によるサインイン、クォータ、監査ログ、バックアップ、管理画面を備えています。チームを参照してください |
| コンピューティング | 開いている各ワークブックには、それぞれ専用のメモリとスレッドが割り当てられます。アイドル時はスリープし、開くと復帰します。大規模なワークブックには、より大きなサイズ(--profile)を指定できます。コンピューティングを参照してください |
| エージェント(MCP) | Streamable HTTP(/mcp)または stdio(alephgrid mcp)経由で、スペースまたはワークブックごとに読み取り専用のエージェント接続を利用できます。スキーマカード、カタログ検索、読み取り、読み取り専用 SQL、保存済みクエリと分析、コンテンツハッシュ付きレシート、接続ごとのアクティビティを提供します |
一部機能や提供予定のない機能も含む全機能一覧は、 docs/SPREADSHEET_FEATURES.mdにあります。
クイックスタート
リリースをインストールする
v0.1.0 以降(準備中。リリースを参照してください):
npx alephgrid flights.parquet # npm, or: pnpm dlx / yarn dlx / bunx alephgrid
docker run -p 7878:7878 -v alephgrid-data:/data ghcr.io/alephgrid/alephgrid
または GitHub Releases から、Linux(x86_64、arm64)または macOS(Apple silicon、Intel)用の alephgrid-VERSION-TARGET.tar.gz をダウンロードし、SHA256SUMS と照合してください。Windows では Docker または WSL を使用してください。
ソースから
Rust 1.88+ と Node 20+ が必要です。
git clone https://github.com/alephgrid/alephgrid && cd alephgrid
(cd web && npm install && npm run build) # build the UI (embedded into the binary)
cargo build --release
./target/release/alephgrid --demo-rows 10000000
初回のビルドでは DuckDB をソースからコンパイルするため、数分かかります。
Docker(チーム向け)
docker compose up -d
docker compose logs alephgrid | grep "setup code" # the one-time code that creates the admin
open http://localhost:7878/setup
--auth accounts を指定すると、ユーザーはパスワードまたはシングルサインオン(OpenID Connect)でサインインし、スペースでロールを付与できます。詳しくはdocs/TEAMS.mdを参照してください。指定しない場合(自分のマシンでのデフォルト設定)はサインインが不要で、サーバーは127.0.0.1のみでリッスンします。他のユーザー向けの運用、バックアップ、アップグレード、復元についてはdocs/OPERATIONS.mdで説明しています。
オプション
| フラグ | 環境変数 | デフォルト |
|---|---|---|
--data-dir | ALEPHGRID_DATA_DIR | ./alephgrid-data |
--host / --port | ALEPHGRID_HOST / ALEPHGRID_PORT | 127.0.0.1 / 7878 |
--auth local|accounts | ALEPHGRID_AUTH | local:サインインなし、ループバックのみ |
--public-url | ALEPHGRID_PUBLIC_URL | ユーザーがサーバーにアクセスする方法(SSO に必要。https の場合、Cookie は Secure になります) |
--oidc-issuer、--oidc-client-id | ALEPHGRID_OIDC_*(シークレット:ALEPHGRID_OIDC_CLIENT_SECRET) | シングルサインオンなし |
--session-hours | ALEPHGRID_SESSION_HOURS | 12 |
--space-storage、--space-workbooks、--space-jobs、--space-open-workbooks | ALEPHGRID_SPACE_* | 制限なし(管理者はスペースごとに設定できます) |
--memory-limit | ALEPHGRID_MEMORY_LIMIT | DuckDB のデフォルト(RAM の 80%。超過分はディスクに退避) |
--threads | ALEPHGRID_THREADS | すべてのコア |
--disk-reserve | ALEPHGRID_DISK_RESERVE | 32MiB を確保し、ディスクがいっぱいになってもサーバーを再起動できるようにします(運用) |
--idle-timeout | ワークブックの計算がスリープするまでの、操作がない時間(秒) | |
--profile name=MEM:THREADS[:dedicated] | 管理者がスペースに付与できる追加の計算リソースサイズ | |
--disable-sql | ALEPHGRID_DISABLE_SQL | SQL を許可します。設定すると、ユーザー作成の SQL を実行する操作はすべて拒否されます |
--demo-rows N | デモ用ワークブックを生成します | |
alephgrid mcp --url URL --token agc_… | ALEPHGRID_URL、ALEPHGRID_AGENT_TOKEN | 実行中のサーバーに stdio 経由で MCP クライアントを接続します(docs/MCP.md) |
alephgrid --help にすべてのオプションが表示されます。
数式
シートでは、数式に Excel の構文を使用します:=SUM(B2:B9)、=XLOOKUP(...)、=Budget!B4*2。
シートの数式では、テーブル名を使ってテーブル全体を参照できます:
=SUMIFS(orders[amount], orders[region], $A2, orders[month], $B$1)
=XLOOKUP(A2, customers[id], customers[region], "none")
他の数式と同様に、入力またはドラッグしてコピーできます。コピー先ごとに、それぞれの行を読み取ります。 数式カタログには、サポート対象の関数とテスト済みの例が記載されており、既知の不足点には再現可能な入力とともに説明があります。
テーブルでは、計算列は列名で列を参照し、先頭の = は省略できます:
=[fare_usd] / [distance_mi]
=CASE WHEN [dep_delay_min] > 15 THEN 'late' ELSE 'on time' END
=[origin] || '→' || [dest]
一般的な流れ:Analyze または SQL で 1 億行を集計し、シートで開くを選択して、その結果をもとにモデルを作成します。
構築方法
- 基盤には DuckDB を使用。 各ワークブックは 1 つの DuckDB ファイルです。列指向で圧縮され、すべてのコアを並列使用します。インポートには DuckDB 独自の CSV、Parquet、JSON リーダーを使用します。
- **シートには IronCalc を使用し、**同じワークブックファイルに保存します。
- UI を組み込んだ Rust サーバー(axum、HTTP、WebSocket)と、フレームワークを使わないキャンバスグリッドの TypeScript クライアント。ワイヤー型は Rust から生成され、型にずれがあるとテストが失敗します。
詳しくはdocs/ARCHITECTURE.mdを参照してください。
実測値(2,000 万行のテーブル、9 列、デバッグビルド、8 コア/8 GB のノート PC)
| 操作 | 時間 |
|---|---|
| 再起動後にワークブックを再度開く | 3 ms(再ハイドレートなし) |
| 行 0/1,000 万/1,999 万で 100 行を取得 | 3~11 ms |
carrier = DL AND origin = SEA でフィルタリング(12 万 5 千件が一致) | 34 ms |
| float 列で 2,000 万行をソート | 0.95 s |
| 2,000 万行すべてにわたる列の合計/平均/最小/最大 | 28 ms |
| SQL で carrier ごとに GROUP BY | 39~57 ms |
| 1 セルの編集/1,000 セルの貼り付け | 3 ms/43 ms |
alephgrid --demo-rows 20000000 と docs/bench.mjs を使って再現できます。さまざまなデータ形状におけるリリースビルドのベンチマークは、v0.1.0 とともに公開予定です。
ドキュメント
docs/README.mdから始めてください。よく利用されるページは次のとおりです。
| 対象 | 参照先 |
|---|---|
| スプレッドシートのユーザー | 機能 · キーボード · テーブルの数式 · 関数 · 分析 |
| サーバーの実行 | 運用 · チーム · コンピューティング · セキュリティ · MCP |
| コントリビューター | コントリビューション · アーキテクチャ · プロトコル · テスト戦略 |
開発
cargo run -p alephgrid-server -- --demo-rows 1000000 # API on :7878
cd web && npm run dev # UI with hot reload on :5173 (proxies to :7878)
cargo test --workspace
crates/alephgrid-core DuckDB tables, views, formulas, IronCalc sheets (pure Rust library)
crates/alephgrid-server axum HTTP + WebSocket server, CLI, MCP, embedded UI
web/ TypeScript client (canvas grid, row cache, UI) and browser tests
docs/ user, operator and contributor documentation
READMEのスクリーンショットは、実行中の製品から生成されます。
web/scripts/readme-screenshots.mjs。
ロードマップ
v0.1.0の次は、S3とParquetのデータをその場で読み込み、その後、Kubernetesで複数マシンへのデプロイに対応します。docs/ROADMAP.mdと 実装チェックリストをご覧ください。
コミュニティ
- 質問やアイデア:GitHub Discussions。
- バグ:再現手順を添えてissueを作成してください。
- セキュリティ上の問題:非公開で報告してください。SECURITY.mdをご覧ください。
- コントリビューション:CONTRIBUTING.md。参加する方は全員、 行動規範に従ってください。
ライセンス
Apache-2.0。商用・非商用を問わず、利用、ホスト、構築が可能です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。


