mcpField
A
alephgrid

alephgrid

远程服务
alephgrid.dev数据与分析1今天更新

关于 alephgrid

alephgrid 是用于大型数据集的开源电子表格,可在本地或自托管服务器上结合工作簿、数据表和 SQL。其只读 MCP 接口让 Agent 检查工作簿架构、读取数据、运行 SQL 和使用已保存查询,并为结果提供回执。

主要功能

  1. 01处理大型 CSV 和 Parquet 数据表
  2. 02兼容 Excel 的工作表与公式
  3. 03SQL、已保存查询和分析工具
  4. 04带结果回执的只读 MCP 访问
  5. 05支持本地或自托管部署

适用场景

  1. 01让 Agent 安全检查工作簿数据
  2. 02通过 MCP 查询大型数据表
  3. 03在 Agent 工作流中复用已保存查询

MCP 相关

通过 Streamable HTTP(`/mcp`)或 stdio(`alephgrid mcp`)提供只读 Agent 访问。功能包括架构卡片、目录搜索、数据读取、只读 SQL、已保存查询与分析,并附带内容哈希回执。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://{alephgrid_host}/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://{alephgrid_host}/mcp需要授权

工具

详细介绍

Alephgrid

一款开源电子表格,适用于不适合放进电子表格的数据。
支持数亿行数据、真正的电子表格公式,以及按需使用的 SQL。
可在你的笔记本电脑或自有服务器上运行。你的数据永远不会离开设备。

网站:alephgrid.dev 许可证:Apache-2.0 状态:预发布 使用 Rust 和 TypeScript 构建

一个工作表汇总了包含 20,000 行的订单表,使用 SUMIFS,以货币和百分比格式显示,并带有按地区统计收入的柱状图;选中区域显示填充柄

在浏览器中打开包含数亿行数据的 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
工作表旁边的“函数”侧边栏:MARGIN 函数的代码、通过的测试结果和“发布版本”按钮深色主题:包含 200,000 行数据的航班表,网格下方停靠着 SQL 工作区,显示 GROUP BY 查询及其结果
自定义函数置于侧边栏中:代码、测试、文档和版本按需使用 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 即可使用筛选、透视、联接和图表;SQL 工作区默认关闭,只有在你打开时才会启用,服务端也可以将其关闭。
  • 由你掌控运行方式。 一个内嵌 UI 的二进制文件,数据存储在普通目录中,采用 Apache-2.0 许可证。团队可在同一二进制文件中获得空间、角色、单点登录、审计、配额和备份功能。
  • 通过 MCP 使用 Agent。 通过 Model Context Protocol 向 AI Agent 授予对工作簿表格、工作表和已保存查询的读取权限,并为每个结果提供回执。

功能

导入CSV/TSV(自动检测)、Parquet、JSON/JSONL、gzip 文件作为表格导入;XLSX 作为可编辑工作表导入。支持拖放或使用命令行。数据以流式方式加载,并在侧边窗格中显示列类型和样例,供你检查
表格虚拟画布网格,支持任意行数;编辑单元格、插入和删除行;添加、重命名和删除列;计算列(=[fare_usd] / [distance_mi]);对整张表进行多列排序和筛选;按表头值筛选并显示计数;保存的视图
工作表Excel 公式、跨工作表引用、命名范围、动态数组、LET / LAMBDA;公式自动补全和参数帮助;撤销/重做
编辑键盘优先:方向键、Shift 和 Mod 选择、F2、Mod+A(先选中填充区域,再选中整个工作表)、复制、剪切、粘贴并平移公式、选择性粘贴(值、公式、格式、转置)、向下和向右填充,以及可延续序列(1、2 → 3、4;第 1 周 → 第 2 周)或重复模式的填充柄。参见 键盘操作
格式和布局粗体、斜体、下划线、删除线、字号、颜色、边框、对齐、自动换行、数字格式、合并单元格;冻结行和列、调整大小、隐藏和取消隐藏、缩放 50–200%;保存在 XLSX 中
工作表数据查找和替换(单个工作表或全部工作表)、对区域排序和筛选、颜色规则和色阶、允许值列表、图表(柱形图、条形图、折线图、面积图、散点图、饼图),保存前可预览;带回复的评论
分析实时计算所选内容的求和、平均值和计数;使用 Analyze 窗格,无需 SQL 即可生成汇总、数据透视表、联接、图表和列概况;去重、拆分、修剪和转换类型,均可预览
SQL架构浏览器、自动补全、$parameters、可取消的预览、带版本的已保存和实时查询、从查询生成表格、完整导出;仅读取工作簿自身的表格
函数将可复用函数定义为工作表公式、SQL 表达式或沙盒化的 Python 函数;测试函数、发布版本、固定版本并回滚。参见 函数
导出将任意表格或筛选视图导出为 CSV、Parquet 或 JSON 行;将工作表导出为 XLSX,并附带 XLSX 无法保存内容的报告
协作多人可同时使用同一个工作簿,并实时看到彼此的编辑;支持历史记录和修订版恢复
团队组织、空间、所有者/编辑者/查看者角色(也支持来自身份提供商群组的角色)、邀请、服务令牌、密码或 OpenID Connect 登录、配额、审计日志、备份和管理界面。参见 团队
计算每个打开的工作簿都有独立的内存和线程配额;空闲时休眠,打开时唤醒;重型工作簿可使用更大的规格(--profile)。参见 计算
Agent(MCP)按空间或工作簿建立只读 Agent 连接,通过 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 芯片、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-dirALEPHGRID_DATA_DIR./alephgrid-data
--host / --portALEPHGRID_HOST / ALEPHGRID_PORT127.0.0.1 / 7878
--auth local|accountsALEPHGRID_AUTHlocal:无需登录,仅限环回地址
--public-urlALEPHGRID_PUBLIC_URL用户访问服务的地址(SSO 必需;https 会将 Cookie 设为 Secure)
--oidc-issuer、--oidc-client-idALEPHGRID_OIDC_*(密钥:ALEPHGRID_OIDC_CLIENT_SECRET)不启用单点登录
--session-hoursALEPHGRID_SESSION_HOURS12
--space-storage、--space-workbooks、--space-jobs、--space-open-workbooksALEPHGRID_SPACE_*不设限制(管理员可按空间设置)
--memory-limitALEPHGRID_MEMORY_LIMITDuckDB 默认值(RAM 的 80%,超出部分写入磁盘)
--threadsALEPHGRID_THREADS所有核心
--disk-reserveALEPHGRID_DISK_RESERVE保留 32MiB,以便磁盘空间耗尽时服务仍可重启(运维说明)
--idle-timeout工作簿计算在无活动后休眠前等待的秒数
--profile name=MEM:THREADS[:dedicated]管理员可分配给空间的额外计算规格
--disable-sqlALEPHGRID_DISABLE_SQL允许 SQL;设置后,将拒绝所有执行用户编写的 SQL 的操作
--demo-rows N生成演示工作簿
alephgrid mcp --url URL --token agc_…ALEPHGRID_URL、ALEPHGRID_AGENT_TOKEN通过标准输入/输出将 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 亿行数据,选择 Open in sheet,然后基于结果建模。

构建方式

  • 底层使用 DuckDB。 每个工作簿都是一个 DuckDB 文件:采用列式存储、经过压缩,并可利用多个核心并行处理。导入数据时使用 DuckDB 自带的 CSV、Parquet 和 JSON 读取器。
  • 工作表使用 IronCalc,并存储在同一个工作簿文件中。
  • Rust 服务端(axum、HTTP 和 WebSocket)内嵌 UI;TypeScript 客户端采用画布网格,不使用框架。线缆类型由 Rust 生成,并通过测试检查类型是否发生偏差。

请参阅 docs/ARCHITECTURE.md。

实测数据(2,000 万行表格,9 列,调试版本,8 核 / 8 GB 笔记本电脑)
操作时间
重启后重新打开工作簿3 ms(无需重新载入)
获取第 0 / 1,000 万 / 1,999 万行处的 100 行3–11 ms
筛选 carrier = DL AND origin = SEA(匹配 12.5 万行)34 ms
按浮点列排序 2,000 万行0.95 s
对 2,000 万行中的某列求和/平均值/最小值/最大值28 ms
使用 SQL 按 carrier 分组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。无论是否用于商业用途,都可以使用、托管并在此基础上构建。

评论

支持 Markdown

第一次接触 MCP?

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

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