Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://stagenth.com/mcp/data-kit/6 tools · 1819msdata_inspect查看数据文件结构:列名/类型/行数/每列非空数 + 前 N 行预览。免费(0 credit)。
支持 CSV/TSV/JSON/NDJSON/Parquet。取数(data_query)前先调它看清有哪些列、哪些是数值。查看数据文件结构:列名/类型/行数/每列非空数 + 前 N 行预览。免费(0 credit)。 支持 CSV/TSV/JSON/NDJSON/Parquet。取数(data_query)前先调它看清有哪些列、哪些是数值。
| Parameter | Type | Description |
|---|---|---|
| file_id | — | 已上传到文件中转站的数据文件 ID(与 data_base64 二选一) |
| data_base64 | — | 数据文件内容 base64(与 file_id 二选一,适合未上传的临时数据) |
| fmt | — | 格式 csv/tsv/json/ndjson/parquet;缺省按内容自动识别 |
| preview_rows | integer | 预览前 N 行 |
data_query查询 / 过滤 / 分组聚合数据文件,返回**实际数据行(JSON)**供 AI 直接分析(1 credit/次)。
支持 CSV/TSV/JSON/NDJSON/Parquet,两种用法:
· 原始 SQL(表名固定 t):sql="SELECT 商品, sum(销量) s FROM t GROUP BY 商品 ORDER BY s DESC LIMIT 5"
· 结构化(不用写 SQL):group_by=["地区"], measures=["销售额"], agg="sum", sort_by="销售额", descending=true, limit=10
SQL 仅允许单条…查询 / 过滤 / 分组聚合数据文件,返回**实际数据行(JSON)**供 AI 直接分析(1 credit/次)。 支持 CSV/TSV/JSON/NDJSON/Parquet,两种用法: · 原始 SQL(表名固定 t):sql="SELECT 商品, sum(销量) s FROM t GROUP BY 商品 ORDER BY s DESC LIMIT 5" · 结构化(不用写 SQL):group_by=["地区"], measures=["销售额"], agg="sum", sort_by="销售额", descending=true, limit=10 SQL 仅允许单条…
| Parameter | Type | Description |
|---|---|---|
| file_id | — | 已上传的数据文件 ID(与 data_base64 二选一) |
| data_base64 | — | 数据文件内容 base64(与 file_id 二选一) |
| fmt | — | 格式 csv/tsv/json/ndjson/parquet;缺省自动识别 |
| sql | — | 只读 SQL,表名固定为 t。例:SELECT 地区, sum(金额) AS 合计 FROM t GROUP BY 地区 ORDER BY 合计 DESC LIMIT 10。仅允许单条 SELECT/WITH,禁止读文件/建表/联网。给了 sql 就忽略下面的结构化参数。 |
| columns | — | 明细模式:只返回这些列;缺省返回全部列 |
| filters | — | 行过滤条件(AND 组合),每项 {column, op, value}。op 可选:eq/ne/gt/ge/lt/le/contains/in/notnull/isnull。例:[{"column":"状态","op":"eq","value":"失败"},{"column":"金额","op":"ge","val… |
| group_by | — | 分组维度列。给了就进聚合模式:按这些列分组,对 measures 求 agg |
| agg | — | 聚合方式 sum/avg/count/min/max/median(默认 sum;count=数每组行数、无需 measures) |
| measures | — | 聚合模式:要统计的数值列;缺省=所有非分组的数值列 |
| sort_by | — | 按哪一列排序(可为分组后的 measure 或 count 列) |
| descending | boolean | 降序排序(取 Top-N 常用 true) |
| limit | — | 最多返回多少行(取前 N / Top-N);硬上限 1000 |
data_profile数据画像:每列类型/去重近似数/空值率 + 数值列 min/max/avg/std/分位数(1 credit/次)。
相当于 pandas df.describe()——AI 拿它一眼看清整份数据的分布与质量。失败自动退款。
返回 {ok, format, n_rows, n_cols, profile[]}。数据画像:每列类型/去重近似数/空值率 + 数值列 min/max/avg/std/分位数(1 credit/次)。 相当于 pandas df.describe()——AI 拿它一眼看清整份数据的分布与质量。失败自动退款。 返回 {ok, format, n_rows, n_cols, profile[]}。
| Parameter | Type | Description |
|---|---|---|
| file_id | — | 已上传的数据文件 ID(与 data_base64 二选一) |
| data_base64 | — | 数据文件内容 base64(与 file_id 二选一) |
| fmt | — | 格式 csv/tsv/json/ndjson/parquet;缺省自动识别 |
data_convert把数据文件转成另一种格式(csv/json/ndjson/parquet/xlsx),产物存文件中转站返下载 URL(1 credit/次)。
典型:把大 CSV 转 parquet 便于后续分析、或把 JSON 日志转 xlsx 给人看。失败自动退款。把数据文件转成另一种格式(csv/json/ndjson/parquet/xlsx),产物存文件中转站返下载 URL(1 credit/次)。 典型:把大 CSV 转 parquet 便于后续分析、或把 JSON 日志转 xlsx 给人看。失败自动退款。
| Parameter | Type | Description |
|---|---|---|
| to* | string | 目标格式:csv / json / ndjson / parquet / xlsx |
| file_id | — | 已上传的数据文件 ID(与 data_base64 二选一) |
| data_base64 | — | 数据文件内容 base64(与 file_id 二选一) |
| fmt | — | 源格式 csv/tsv/json/ndjson/parquet;缺省自动识别 |
data_join两份数据文件按共同列连接(如 订单表×客户表),返回实际数据行 JSON(1 credit/次)。
跨文件对齐是单文件 data_query 做不到的;DuckDB 引擎、锁死文件/网络访问。失败自动退款。两份数据文件按共同列连接(如 订单表×客户表),返回实际数据行 JSON(1 credit/次)。 跨文件对齐是单文件 data_query 做不到的;DuckDB 引擎、锁死文件/网络访问。失败自动退款。
| Parameter | Type | Description |
|---|---|---|
| on* | array | 连接列名(两份数据中都存在,最多 8 个) |
| file_id_a | — | 数据 A 的文件 ID(与 data_base64_a 二选一) |
| data_base64_a | — | 数据 A 内容 base64 |
| file_id_b | — | 数据 B 的文件 ID(与 data_base64_b 二选一) |
| data_base64_b | — | 数据 B 内容 base64 |
| fmt_a | — | A 格式 csv/tsv/json/ndjson/parquet;缺省自动识别 |
| fmt_b | — | B 格式;缺省自动识别 |
| how | string | 连接方式 inner / left |
| columns | — | 只返回这些列;缺省返回全部 |
| limit | — | 最多返回行数;硬上限 1000 |
data_clean一步清洗脏数据:去重 / 去空白 / 删全空行列,产物落文件中转站并返清洗统计(1 credit/次)。一步清洗脏数据:去重 / 去空白 / 删全空行列,产物落文件中转站并返清洗统计(1 credit/次)。
| Parameter | Type | Description |
|---|---|---|
| file_id | — | 数据文件 ID(与 data_base64 二选一) |
| data_base64 | — | 数据内容 base64 |
| fmt | — | 源格式 csv/tsv/json/ndjson/parquet;缺省自动识别 |
| dedupe | boolean | 整行去重 |
| trim_strings | boolean | 字符串去首尾空白,空串归 NULL |
| drop_empty_rows | boolean | 删除全空行 |
| drop_empty_cols | boolean | 删除全空列 |
| to | string | 输出格式 csv/json/ndjson/parquet/xlsx,默认 csv |
6 of 6 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.