mcpField
D
Dataset Aggregate & Pivot

Dataset Aggregate & Pivot

远程服务
github.com数据与分析07 周前更新

关于 Dataset Aggregate & Pivot

Dataset Aggregate & Pivot 是面向 Agent 的远程 MCP 服务,可汇总 JSON 行数据。它将分组、11 种聚合函数、透视、排序、Top N 和总计结合起来,并报告跳过的数据及警告。

主要功能

  1. 01按字段和日期分桶分组
  2. 02使用 11 种聚合函数
  3. 03将不同值透视为列
  4. 04排序、限制分组并添加总计
  5. 05报告跳过的数据和警告

适用场景

  1. 01按类别汇总 API 或抓取记录
  2. 02生成按月或季度分组的报告
  3. 03比较不同地区的产品总额
  4. 04分析时检查格式混杂的数值

MCP 相关

通过远程 URL 向 MCP 客户端提供 list_capabilities 和 aggregate_rows。客户端发送 JSON 行数据,获取分组结果及处理摘要。

配置

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

服务地址https://dataset-aggregate-pivot.nerolabs.workers.dev/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

2

此工具无需参数。

详细介绍

数据集汇总与透视(远程 MCP 服务)

一次工具调用,即可对杂乱的 JSON 行执行 SQL GROUP BY 和电子表格透视表操作。 将爬虫、API 或电子表格中的行列表交给它,说明要按哪些字段分组以及要计算什么,它就会为每个分组返回一行整洁的汇总数据,并准确列出所有跳过的内容。

专为 AI Agent 打造。无需安装、无需 API 密钥、无需注册。通过 URL 连接并调用即可。

https://dataset-aggregate-pivot.nerolabs.workers.dev/mcp

抢先体验期间可免费使用。

功能

一次调用按以下顺序完成整个汇总:

  1. 分组:按一个或多个字段对行分组(支持 address.city 这样的点路径),也可以将分组字段留空,把所有行汇总为一行。还可以添加日期分桶,按天、ISO 周、月、季度或年对日期或时间戳分组(orderedAt 会变成 orderedAt_month = 2026-08)。
  2. 聚合:使用 11 种函数中的任意一种对每个分组进行聚合:count、countDistinct、sum、avg、min、max、median、first、last、list 和 listDistinct,每种函数都可指定自己的输出列名。
  3. 透视:将一个字段的不同值转换为列:按 region 分组,以 product 为透视字段,用 amount 的总和填充单元格,得到每个地区一行、每种产品一列的结果;没有对应行的组合以 0 填充。
  4. 排序:按任意输出列排序,保留前 N 个分组,并添加一个总计行,仍涵盖所有输入行。

杂乱数据是常态。South、south 和 SOUTH 会归为一个分组并统一标签。"$1,234.50"、"49 USD"、"1.234,50" 和 "(300)" 都会被解析为数字。对于确实不是数字的值(如 "n/a"),系统绝不会猜测:会将其排除并在汇总中计数;拼错的字段名也会以警告形式返回,而不是悄悄产生空结果。

工具

工具功能
list_capabilities列出 11 种聚合函数、日期分桶格式、空值、无效日期和总计行所用的标签,以及每次调用的限制。不处理任何数据。
aggregate_rows对传入的行进行分组、聚合、透视、排序和汇总,并返回汇总行以及报告,其中包括找到的分组数、因 top N 而被丢弃的分组、跳过的值和警告。

连接

Claude Code

claude mcp add --transport http dataset-aggregate-pivot https://dataset-aggregate-pivot.nerolabs.workers.dev/mcp

**Claude Desktop / claude.ai:**依次点击 Settings、Connectors、Add custom connector,然后粘贴上面的 URL。

Cursor、Windsurf、VS Code 和其他 MCP 客户端

{
  "mcpServers": {
    "dataset-aggregate-pivot": {
      "url": "https://dataset-aggregate-pivot.nerolabs.workers.dev/mcp"
    }
  }
}

示例

输入 8 条杂乱的订单行,按地区统计订单数,并将每种产品的收入透视到单独的列中:

{
  "rows": [
    {"orderId": 1001, "region": "North", "product": "Widget", "amount": "$1,200.00", "orderedAt": "2026-07-03"},
    {"orderId": 1002, "region": "North", "product": "Gadget", "amount": 350, "orderedAt": "2026-07-18"},
    {"orderId": 1003, "region": "South", "product": "Widget", "amount": "890.50", "orderedAt": "2026-07-22"},
    {"orderId": 1004, "region": "south", "product": "Gizmo", "amount": 120, "orderedAt": "2026-08-02"},
    {"orderId": 1005, "region": "East", "product": "Widget", "amount": 2400, "orderedAt": "2026-08-05"},
    {"orderId": 1006, "region": "East", "product": "Gadget", "amount": "n/a", "orderedAt": "2026-08-09"},
    {"orderId": 1007, "region": "North", "product": "Gizmo", "amount": 75, "orderedAt": "2026-08-11"},
    {"orderId": 1008, "region": "", "product": "Widget", "amount": 410, "orderedAt": "2026-08-14"}
  ],
  "groupByFields": ["region"],
  "aggregations": [{"function": "count", "alias": "orders"}],
  "pivotField": "product",
  "pivotValueField": "amount",
  "pivotFunction": "sum"
}

输出 4 行汇总数据。South 和 south 合并为一个分组,"$1,200.00" 按 1200 求和,没有地区的行会以 (blank) 明确保留,而 "n/a" 金额则会被跳过并报告,不会被当作数字处理:

{
  "rows": [
    {"region": "(blank)", "orders": 1, "Gadget": 0, "Gizmo": 0, "Widget": 410},
    {"region": "East", "orders": 2, "Gadget": 0, "Gizmo": 0, "Widget": 2400},
    {"region": "North", "orders": 3, "Gadget": 350, "Gizmo": 75, "Widget": 1200},
    {"region": "South", "orders": 2, "Gadget": 0, "Gizmo": 120, "Widget": 890.5}
  ],
  "summary": {
    "inputRowCount": 8,
    "groupCount": 4,
    "outputRowCount": 4,
    "pivot": {"field": "product", "valueField": "amount", "function": "sum", "distinctValues": 3},
    "columns": ["region", "orders", "Gadget", "Gizmo", "Widget"],
    "skippedValues": {"pivot:Gadget": 1}
  }
}

在同一次调用中添加 "sortBy": "orders", "sortDirection": "desc", "topN": 10, "includeTotalsRow": true,即可获取前 10 个结果和总计行;或者添加 "dateBucketField": "orderedAt",按地区和月份分别生成一行。

限制

  • 每次调用最多 500 行。超过限制时会返回明确提示,而不会静默失败。可以分别汇总多个批次的 sum、count、min 和 max,并将平均值重建为总和除以总数量;但中位数或不同值计数无法跨批次合并。
  • 每次调用最多 50 个透视列和 5,000 个透视单元格(分组数乘以透视列数),因此对于 ID 等几乎每个值都不同的字段,系统会拒绝透视并给出建议,而不是返回数百列。
  • 每次调用最多 20 个聚合项。
  • 行以内联 JSON 形式传入。

隐私

你的行数据只会在内存中处理,不会被存储。为展示使用了哪些工具,每次调用都会记录工具名称、行数、是否成功、应用报告的客户端名称、国家/地区以及单向哈希后的调用者 ID。你的数据、调用参数和 IP 地址都不会保留在该日志中。

也可通过以下方式使用

同一引擎也在 Apify Store 上以 Dataset Aggregate, Group By & Pivot 的形式提供。它还可读取 Apify 数据集、CSV、TSV、Excel、JSON 和 JSON Lines 文件,以及通过 URL 读取 Google Sheets;每次运行最多可处理 200,000 行;可将汇总结果导出为 CSV 或 Excel 文件,将其追加到一个可在定时运行中持续累积数据的命名数据集中,并将其发送到 webhook。

由 Nero Labs 构建。

评论

支持 Markdown

第一次接触 MCP?

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

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