Skip to main content
Glama

stagenth · 数据工具箱

Server Details

Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation4/5

Each tool targets a distinct data operation (clean, convert, inspect, join, profile, query). There is minor overlap between data_inspect and data_profile (both provide column types and null information), but descriptions and names make the intended use clear.

Naming Consistency5/5

All tool names follow a consistent 'data_' prefix plus a concise verb (clean, convert, inspect, join, profile, query). The pattern is uniform and predictable.

Tool Count5/5

Six tools is well-scoped for a data processing toolbox. Each tool covers a core data wrangling need, and the count is neither sparse nor overwhelming.

Completeness5/5

The toolset covers the main data lifecycle: cleaning, format conversion, structural inspection, profiling, joining, and querying. No obvious critical operations are missing for common data analysis workflows.

Available Tools

6 tools
data_cleanAInspect

一步清洗脏数据:去重 / 去空白 / 删全空行列,产物落文件中转站并返清洗统计(1 credit/次)。

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo输出格式 csv/json/ndjson/parquet/xlsx,默认 csvcsv
fmtNo源格式 csv/tsv/json/ndjson/parquet;缺省自动识别
dedupeNo整行去重
file_idNo数据文件 ID(与 data_base64 二选一)
data_base64No数据内容 base64
trim_stringsNo字符串去首尾空白,空串归 NULL
drop_empty_colsNo删除全空列
drop_empty_rowsNo删除全空行
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite having no annotations, the description adds useful behavioral context: the output artifact is written to the file transfer station ('产物落文件中转站'), the tool returns cleaning statistics, and it costs 1 credit per call. This covers output destination, return value type, and a rate/cost limitation, though it does not mention auth requirements or whether the source is left untouched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that packs the core purpose, high-level operations, output location, return value, and cost. Every phrase earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, a rich schema with 100% coverage, and no output schema, the description provides sufficient high-level context: it names the main cleaning operations, explains where results go, and notes the returned statistics. It doesn't explicitly state that file_id or data_base64 are mutually required, but the schema already notes this, so the description covers what's needed for a quick understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented in the input schema. The description's mention of operations like dedupe and trim aligns with specific boolean parameters, but it does not add new semantic meaning beyond that association. The schema already explains each parameter's default and purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs and resources: '清洗脏数据' (clean dirty data) and lists concrete operations (去重、去空白、删全空行列). This distinguishes it from sibling tools like data_convert, data_inspect, data_join, data_profile, and data_query, which handle other transformation tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the sibling tools. It implies usage for cleaning messy data but lacks clear direction on when to prefer this tool over data_convert or data_profile.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_convertAInspect

把数据文件转成另一种格式(csv/json/ndjson/parquet/xlsx),产物存文件中转站返下载 URL(1 credit/次)。

典型:把大 CSV 转 parquet 便于后续分析、或把 JSON 日志转 xlsx 给人看。失败自动退款。

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes目标格式:csv / json / ndjson / parquet / xlsx
fmtNo源格式 csv/tsv/json/ndjson/parquet;缺省自动识别
file_idNo已上传的数据文件 ID(与 data_base64 二选一)
data_base64No数据文件内容 base64(与 file_id 二选一)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden. It discloses important behaviors: output stored in the transfer station with a download URL, one credit cost per call, and automatic refund on failure. This goes beyond schema details and helps the agent understand side effects and costs, though it doesn't mention file size limits or synchronous/asynchronous behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded. The first sentence covers the core function and output; the second adds typical use cases and failure refund. Every sentence earns its place, with no redundant content or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's medium complexity, no annotations, and no output schema, the description supplies key contextual elements: purpose, supported formats, typical scenarios, output mechanism (download URL), pricing, and failure policy. It doesn't spell out prerequisites like needing file_id or data_base64, but the schema covers that. Overall, it is complete enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the parameters with meaningful descriptions (e.g., fmt auto-detection, file_id/data_base64 mutually exclusive). The description only mentions target formats in the purpose line, adding no additional parameter nuance beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('把数据文件转成另一种格式') and lists supported target formats (csv/json/ndjson/parquet/xlsx). It also positions the output as a download URL from a file transfer station. This distinguishes it from sibling tools like data_clean or data_inspect, which focus on other data operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides typical use cases ('把大 CSV 转 parquet 便于后续分析...把 JSON 日志转 xlsx 给人看'), giving contextual guidance on when to use the tool. However, it does not explicitly mention when not to use it or name alternative sibling tools, so it misses the full 'vs alternatives' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_inspectAInspect

查看数据文件结构:列名/类型/行数/每列非空数 + 前 N 行预览。免费(0 credit)。

    支持 CSV/TSV/JSON/NDJSON/Parquet。取数(data_query)前先调它看清有哪些列、哪些是数值。
    
ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNo格式 csv/tsv/json/ndjson/parquet;缺省按内容自动识别
file_idNo已上传到文件中转站的数据文件 ID(与 data_base64 二选一)
data_base64No数据文件内容 base64(与 file_id 二选一,适合未上传的临时数据)
preview_rowsNo预览前 N 行
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool is free (0 credit), supports specific formats, and describes typical use. This adds useful behavioral context beyond the schema, such as cost implications and format support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: the first sentence states the core function, the second adds format support and usage guidance. No redundant or filler text; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating what the tool returns (column names/types/row count/non-null counts + preview). It also covers supported formats, cost, and context of use. It could mention that preview_rows controls preview length, but that is already in the schema. Overall, it provides sufficient context for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all parameters (fmt, file_id, data_base64, preview_rows) including their meanings and constraints. The description adds a small amount of context (e.g., data_base64 for temporary data), but since the schema does the heavy lifting, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: inspect data file structure (column names/types/row count/non-null counts) and preview first N rows. It explicitly contrasts with sibling tool data_query by advising to call it before querying, thus distinguishing itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: call before data_query to understand available columns and numeric fields. It implies this tool is for inspection, not querying. It doesn't explicitly discuss when not to use, but the guidance 'before data_query' is actionable and sufficient for this simple tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_joinAInspect

两份数据文件按共同列连接(如 订单表×客户表),返回实际数据行 JSON(1 credit/次)。

    跨文件对齐是单文件 data_query 做不到的;DuckDB 引擎、锁死文件/网络访问。失败自动退款。
    
ParametersJSON Schema
NameRequiredDescriptionDefault
onYes连接列名(两份数据中都存在,最多 8 个)
howNo连接方式 inner / leftinner
fmt_aNoA 格式 csv/tsv/json/ndjson/parquet;缺省自动识别
fmt_bNoB 格式;缺省自动识别
limitNo最多返回行数;硬上限 1000
columnsNo只返回这些列;缺省返回全部
file_id_aNo数据 A 的文件 ID(与 data_base64_a 二选一)
file_id_bNo数据 B 的文件 ID(与 data_base64_b 二选一)
data_base64_aNo数据 A 内容 base64
data_base64_bNo数据 B 内容 base64
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the DuckDB engine, locked file/network access, cost of 1 credit per call, and automatic refund on failure. These are meaningful behavioral traits beyond basic functionality. It does not mention all potential side effects, but for a join operation, the disclosure is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, densely packed with purpose, return type, cost, differentiator, engine, security restrictions, and refund policy. It is front-loaded and every sentence carries meaningful information. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters and no output schema, the description offers substantial context: engine, security locks, cost, refund guarantees, and the unique value proposition. It is thorough for practical use, though it could be more explicit about the need to supply two file sources (file_id vs base64), but this is covered by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all parameters with descriptions (coverage 100%), including 'on', 'how', format overrides, limit, columns, and file inputs. The description does not add additional parameter-level semantics beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: joining two data files on common columns, with an illustrative example (orders × customers). It also specifies the output as actual data rows in JSON. It distinguishes itself from sibling tool data_query by noting that cross-file alignment is not possible there, which aids selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates when to use this tool: for cross-file joins that data_query cannot handle. It names the alternative and provides context, though it does not cover all sibling tools or negative cases (e.g., when not to use). This is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_profileAInspect

数据画像:每列类型/去重近似数/空值率 + 数值列 min/max/avg/std/分位数(1 credit/次)。

    相当于 pandas df.describe()——AI 拿它一眼看清整份数据的分布与质量。失败自动退款。
    返回 {ok, format, n_rows, n_cols, profile[]}。
    
ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNo格式 csv/tsv/json/ndjson/parquet;缺省自动识别
file_idNo已上传的数据文件 ID(与 data_base64 二选一)
data_base64No数据文件内容 base64(与 file_id 二选一)
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the output format, the computational cost (1 credit per call), and automatic refund on failure. It also notes that distinct counts are approximate, which is a key behavioral nuance. It doesn't explicitly state whether the tool is read-only, but the profiling nature implies no mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it opens with the tool's purpose, lists the computed statistics, provides a familiar metaphor, states the credit cost, and specifies the return structure. Every sentence adds value, and the length is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description explicitly lists the return fields ({ok, format, n_rows, n_cols, profile[]}), making the tool's behavior clear. It covers purpose, usage context, cost, and failure handling. The main gap is lack of explicit guidance on when to prefer this over siblings, but overall it is quite complete for a read-only profiling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers 100% of parameter descriptions (fmt, file_id, data_base64), so the baseline is 3. The description adds no extra parameter-level semantics beyond what the schema provides; it focuses on output and behavior, which is acceptable but not additive to the parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: it profiles data by computing per-column type, approximate distinct count, null rate, and for numeric columns min/max/avg/std/quantiles. The analogy to pandas df.describe() and the explicit list of statistics make the purpose unmistakable, and it distinguishes itself from sibling tools like data_clean or data_convert.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: to quickly understand the distribution and quality of an entire dataset ('AI 拿它一眼看清整份数据的分布与质量'). It does not explicitly name alternatives or exclusions, but the use case is well-defined and distinct from cleaning, converting, or querying siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_queryAInspect

查询 / 过滤 / 分组聚合数据文件,返回**实际数据行(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 仅允许单条只读 SELECT/WITH,禁止读文件/建表/联网。结果硬上限 1000 行,超出置 truncated=True。失败自动退款。
    返回 {ok, format, mode, columns, total_rows, returned_rows, truncated, rows[]}。
    
ParametersJSON Schema
NameRequiredDescriptionDefault
aggNo聚合方式 sum/avg/count/min/max/median(默认 sum;count=数每组行数、无需 measures)
fmtNo格式 csv/tsv/json/ndjson/parquet;缺省自动识别
sqlNo只读 SQL,表名固定为 t。例:SELECT 地区, sum(金额) AS 合计 FROM t GROUP BY 地区 ORDER BY 合计 DESC LIMIT 10。仅允许单条 SELECT/WITH,禁止读文件/建表/联网。给了 sql 就忽略下面的结构化参数。
limitNo最多返回多少行(取前 N / Top-N);硬上限 1000
columnsNo明细模式:只返回这些列;缺省返回全部列
file_idNo已上传的数据文件 ID(与 data_base64 二选一)
filtersNo行过滤条件(AND 组合),每项 {column, op, value}。op 可选:eq/ne/gt/ge/lt/le/contains/in/notnull/isnull。例:[{"column":"状态","op":"eq","value":"失败"},{"column":"金额","op":"ge","value":1000}]
sort_byNo按哪一列排序(可为分组后的 measure 或 count 列)
group_byNo分组维度列。给了就进聚合模式:按这些列分组,对 measures 求 agg
measuresNo聚合模式:要统计的数值列;缺省=所有非分组的数值列
descendingNo降序排序(取 Top-N 常用 true)
data_base64No数据文件内容 base64(与 file_id 二选一)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and excels: it discloses cost (1 credit/次), SQL restrictions (no file reads, table creation, or networking), a 1000-row hard cap with truncated flag, auto-refund on failure, and the complete return object structure. This is comprehensive behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized, with clear sections, bolded return format, and operational details presented in a scannable bullet style. Every sentence earns its place given the 12-parameter complexity; no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 12 params, two usage modes, and no output schema, the description fully covers return shape, constraints, failure handling, truncation behavior, and mode selection. It is exceptionally complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds crucial parameter interaction semantics: SQL mode ignores structured params, group_by triggers aggregation mode, measures default to non-grouped numeric columns, agg defaults to sum, and count doesn't require measures. This significantly enriches the schema's individual descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it queries/filters/group-aggregates data files and returns actual JSON data rows for analysis. The verb+resource+outcome are specific and distinct from sibling tools like data_clean, data_join, and data_profile, which handle different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use: querying/filtering/aggregating data files, with two explicit usage modes (raw SQL vs structured parameters) and constraints (SQL read-only, table name fixed). However, it does not explicitly name alternative tools or state when NOT to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables SQL querying over CSV and Excel files using DuckDB, providing tools to load files, inspect schemas, and run read-only queries via MCP.
    5
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    MCP server for sandboxed, read-only SQL queries on CSV/Parquet/JSON files via DuckDB, limited to a specified directory.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Unified MCP server for querying CSV, Postgres, and REST API data sources via embedded DuckDB, enabling cross-source SQL joins with no external query service.
    7
    30
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables DuckDB database interaction through MCP, supporting SQL queries, table creation, and schema inspection with optional read-only mode.
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources