mcpField
S
slim-sheet

slim-sheet

本地服务
github.com/j4flmao数据与分析02 周前更新

关于 slim-sheet

slim-sheet 是面向 Agent 的本地电子表格 MCP 服务和命令行工具,可按模型能力选择工具集。它将表格读取与 SQL、数据清理、公式分析、安全编辑和报告生成结合,并限制响应的令牌预算。

主要功能

  1. 01本地读取电子表格和表格数据
  2. 02使用 SQL 查询工作表
  3. 03清理数据并检测异常
  4. 04解释、计算和审查公式
  5. 05通过日志记录与撤销安全编辑工作簿
  6. 06生成品牌化仪表板和报告

适用场景

  1. 01通过 Agent 检查和查询工作簿
  2. 02查找公式问题或异常数据
  3. 03清理并安全更新电子表格
  4. 04从销售数据生成仪表板

MCP 相关

MCP 服务通过 stdio 或 Streamable HTTP 提供电子表格工具,并可按层级或明确指定工具来控制可用能力。项目还提供命令行工具及供非 MCP 主机使用的工具定义。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"j4flmao-slim-sheet": {
"command": "uvx",
"args": [
"slim-sheet"
],
"env": {
"SLIM_SHEET_TIER": "<SLIM_SHEET_TIER>",
"SLIM_SHEET_ROOTS": "<SLIM_SHEET_ROOTS>",
"SLIM_SHEET_MAX_TOKENS": "<SLIM_SHEET_MAX_TOKENS>",
"SLIM_SHEET_PASSWORD": "<SLIM_SHEET_PASSWORD>"
}
}
}
}
启动命令uvx slim-sheet
需要配置的环境变量
SLIM_SHEET_TIERTool tier: full (28 tools, default), standard (16) or lite (7, for small local models)
SLIM_SHEET_ROOTSFolders the server may read and write, separated by the OS path separator
SLIM_SHEET_MAX_TOKENS密钥Default response budget in tokens
SLIM_SHEET_PASSWORD密钥Password for encrypted workbooks (needs the crypto extra)

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

安装包
pypislim-sheet0.1.0

工具

30

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring否

详细介绍

slim-sheet

小型本地模型也能真正使用的电子表格 MCP 服务。 它可在本地读取 xlsx xlsm xltx xltm xlsb xls ods numbers csv tsv parquet json(无需 Office 或网络), 将每条响应控制在令牌预算内,并为 Agent 提供 SQL、数据清理、异常检测、公式助手、符合 Excel 规范的编辑,以及一次调用即可生成品牌化仪表板——根据模型能力,提供 8、18 或 30 个工具。

适用于 Claude Desktop / Claude Code(Free 或 Pro)、OpenCode、Codex、Cursor、Cline、Continue、 LM Studio、Ollama(通过 mcpo 或 Open WebUI)——也可作为普通 CLI,供不使用 MCP 的 Agent 使用。

安装

uvx slim-sheet mcp                          # MCP server over stdio
uvx slim-sheet overview sales.xlsx          # or use any tool from the shell
uvx --from "slim-sheet[all]" slim-sheet mcp # + offline formula engine, encrypted files, Apple Numbers

所有客户端(Claude、Cursor、OpenCode、Codex、LM Studio、Ollama/mcpo、Open WebUI、 Cline、Continue)的主机配置见 docs/hosts.md。

{
  "mcpServers": {
    "slim-sheet": {
      "command": "uvx",
      "args": ["slim-sheet", "mcp"],
      "env": { "SLIM_SHEET_TIER": "lite", "SLIM_SHEET_ROOTS": "/path/to/your/data" }
    }
  }
}

分级

分级工具适用对象
full(默认)下方列出的所有工具需要能够完成所有操作的模型
liteoverview、read、find、query、profile、write、explain_formula、build_report3B–8B 本地模型
standardlite + clean、anomalies(+公式审计)、merge、convert(+拆分)、diff、undo、evaluate(+检查)、describe_cell(+追踪)、style_sheet、what_if中型模型和前沿模型
fullstandard + create_workbook、sheet_ops、range_ops、name_ops、format_range、set_table、rules、add_chart、sheet_layout、annotate、pivot、split、recalc用于构建工作簿的前沿模型

通过 SLIM_SHEET_TOOLS=overview,read,query 选择指定工具。

设计:几乎无需描述即可生成专业输出

模型只需指定要展示什么;slim-sheet 会根据品牌决定如何呈现——布局、颜色、字体、数字格式、图表类型、排序方式和洞察标题。只需一次调用:

build_report(path="sales.xlsx", data_sheet="Sales", title="Sales performance 2025",
             kpis=["Revenue=sum:Revenue", "Margin=ratio:Profit/Revenue", "Orders=count"],
             charts=["trend:Month:Revenue", "rank:Region:Revenue", "share:Product:Revenue"])

即可生成单页仪表板:包含带实时公式的 KPI 磁贴(7.1m · 20.4% · 144)、标题为“Revenue rose 58% from 2025-01 to 2025-12”的折线图、突出显示领先项的排序条形图、带标签的圆环图,以及来源页脚。 style_sheet(path, sheet, preset="report") 可对任意表格执行相同操作,并报告推断出的数字格式。

设置一次,即可采用贵公司的视觉风格。 内置品牌:slim(默认)、office、modern(Aptos)、mono(IBCS 风格)、 gov(英国政府统计风格)。也可以将 SLIM_SHEET_BRAND 指向一个 JSON 文件——只需提供 name:

{ "name": "Acme", "primary": "#C8102E", "body_font": "Arial", "currency": "$", "profile": "finance" }

此后,每个工作簿都会将品牌作为真正的 Office 主题保存,因此 Excel 自带的表格和图表样式也会采用相应风格。 默认设置背后的规则(IBCS、财务配色、英国电子表格无障碍指南、图表选择表): PLAN.md §16。

有何不同

  • 读取所有内容,通过一个接口读取 .xls、.xlsb、.ods、Apple Numbers 和受密码保护的 xlsx。
  • 限制输出量:Markdown 表格带有 A1 坐标,每次响应约 1,500 个 token,并提供 next 游标以继续读取。
  • 能指导你改正的错误:每条错误都包含代码、说明和修正后的调用示例。
  • 对工作表运行 SQL,使用 DuckDB;杂乱的工作表会按检测到的标题拆分为多个区域("Report.2")。
  • 绝不破坏数据:编辑结果会保存到 <name>.slim.xlsx,除非设置 overwrite=true;写入是原子的,每个被替换的文件都会记录在日志中,且 undo 可回退操作。
  • 符合 Excel 规则的结构编辑:插入或删除行、重命名工作表时,会像 Excel 一样重写公式、名称、合并单元格、数据验证、条件格式、表格和图表。
  • 模型检查:anomalies scope='formulas' 可查找硬编码数字、错误的模式、重复计数以及错误的起始位置;describe_cell trace= 可追踪跨工作表的公式;what_if 可运行增量分析、目标求解和敏感性网格,且不会改动文件。
  • 公式助手:包含 514 个函数的目录、版本检查(Excel 2016 中使用 XLOOKUP 时会建议改用 INDEX/MATCH),以及带依赖追踪的离线计算。
  • 宏只读:read sheet='#vba' 可显示 VBA 源代码,anomalies scope='macros' 可评估风险,Agent 可使用工具重做宏的工作(提示词 replace_macro)。slim-sheet 从不运行宏。
  • 与 Excel 完全一致的公式:较新的函数会以 Excel 的 _xlfn. 前缀存储,溢出公式会作为真正的动态数组保存;如果有内容阻挡溢出,还会发出警告。
  • 路径灵活,默认安全:在聊天中提供任意文件夹即可(无需更改配置);系统文件夹、AppData、.ssh 等点开头的文件夹以及非电子表格文件都会被拒绝。SQL 只读且文件访问受限,不会执行模型编写的代码,也不会访问网络。

配置

变量默认值含义
SLIM_SHEET_TIERfullfull、standard 或 lite
SLIM_SHEET_TOOLS—显式指定的逗号分隔工具列表
SLIM_SHEET_ROOTS当前目录相对路径和 overview() 的默认文件夹(Windows 上用 ;,其他平台用 : 分隔)
SLIM_SHEET_STRICT_ROOTS关闭1 = 仅允许访问 SLIM_SHEET_ROOTS 内的路径(旧版允许列表)
SLIM_SHEET_MAX_TOKENS1500默认响应 token 上限
SLIM_SHEET_TOKEN—--transport streamable-http 的 bearer token(非回环连接时必需)
SLIM_SHEET_PASSWORD—加密工作簿的密码(绝不会通过聊天传递)
SLIM_SHEET_SOFFICE自动检测用于 recalc 的 LibreOffice 二进制文件
SLIM_SHEET_AUDIT_LOG—记录每次工具调用的 JSONL 审计日志(内容会脱敏)
SLIM_SHEET_RATE_LIMIT120每个客户端每分钟的 HTTP 工具调用次数(0 = 关闭)
SLIM_SHEET_MAX_CELLS3000000拒绝声明单元格数量超过此值的工作簿(0 = 关闭)
SLIM_SHEET_BRANDslim品牌名称(slim、office、modern、mono、gov),或品牌 .json 文件的路径

附加功能:formula(离线 evaluate 和 what_if)、crypto(加密 xlsx)、numbers(Apple Numbers)、images(使用 annotate 插入图片)、all。

提示词库

现成的、与数据无关的提示词——一套共享的 CORE 方法、十三种 ROLES(九种分析师角色:销售、财务、营销、客户、运营、人力资源、对账、数据质量、通用;以及模型审计员、工作簿编辑员、宏迁移员和文件审阅员)和八种 OUTPUT 模式(仪表板、仪表板包、报告工作簿、清理后的数据集、对账报告、快速解答、审计报告、已编辑的工作簿), 还包含填充完成的示例集、约 50 个可一键粘贴的任务配方(分为 8 个包:财务、销售、人力资源、运营、数据准备、Excel 任务、报告、越南),以及适用于小型本地模型的精简区块: docs/prompts。

技能包

skills/building-client-reports 可将这些工具转化为适合客户使用的报告:包含报告简介、角色预设(CFO、董事会、销售、营销、运营、人力资源、市场调研)、标准检查清单和评估。将其复制到 ~/.claude/skills/,或附加到任何 Agent(skills/README.md)。

非 MCP 宿主

slim-sheet schema --format openai --tier lite      # function-calling schemas for any OpenAI-compatible API
slim-sheet schema --format anthropic --tier full   # Messages API tool definitions
SLIM_SHEET_TOKEN=... slim-sheet mcp --transport streamable-http --host 0.0.0.0 --port 8765

开发

uv sync --all-extras
uv run pre-commit install                 # ruff, mypy, manifests, commit-message rule, tests on push
uv run python scripts/make_demo.py        # sample workbooks in ~/Documents/slim-sheet-demo
uv run ruff check . && uv run ruff format --check . && uv run mypy src && uv run pytest -q

问题和拉取请求请使用 .github/ 中的模板;安全报告请通过 SECURITY.md 提交。

设计和路线图:PLAN.md · Agent 规则: AGENTS.md · 基于 MIT 许可。

评论

支持 Markdown

第一次接触 MCP?

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

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