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.
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.
Tool Definition Quality
Average 4.2/5 across 6 of 6 tools scored.
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.
All tool names follow a consistent 'data_' prefix plus a concise verb (clean, convert, inspect, join, profile, query). The pattern is uniform and predictable.
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.
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 toolsdata_cleanAInspect
一步清洗脏数据:去重 / 去空白 / 删全空行列,产物落文件中转站并返清洗统计(1 credit/次)。
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | 输出格式 csv/json/ndjson/parquet/xlsx,默认 csv | csv |
| fmt | No | 源格式 csv/tsv/json/ndjson/parquet;缺省自动识别 | |
| dedupe | No | 整行去重 | |
| file_id | No | 数据文件 ID(与 data_base64 二选一) | |
| data_base64 | No | 数据内容 base64 | |
| trim_strings | No | 字符串去首尾空白,空串归 NULL | |
| drop_empty_cols | No | 删除全空列 | |
| drop_empty_rows | No | 删除全空行 |
Tool Definition Quality
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.
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.
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.
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.
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.
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 给人看。失败自动退款。
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | 目标格式:csv / json / ndjson / parquet / xlsx | |
| fmt | No | 源格式 csv/tsv/json/ndjson/parquet;缺省自动识别 | |
| file_id | No | 已上传的数据文件 ID(与 data_base64 二选一) | |
| data_base64 | No | 数据文件内容 base64(与 file_id 二选一) |
Tool Definition Quality
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.
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.
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.
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.
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.
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)前先调它看清有哪些列、哪些是数值。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | 格式 csv/tsv/json/ndjson/parquet;缺省按内容自动识别 | |
| file_id | No | 已上传到文件中转站的数据文件 ID(与 data_base64 二选一) | |
| data_base64 | No | 数据文件内容 base64(与 file_id 二选一,适合未上传的临时数据) | |
| preview_rows | No | 预览前 N 行 |
Tool Definition Quality
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.
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.
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.
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.
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.
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 引擎、锁死文件/网络访问。失败自动退款。
| Name | Required | Description | Default |
|---|---|---|---|
| on | Yes | 连接列名(两份数据中都存在,最多 8 个) | |
| how | No | 连接方式 inner / left | inner |
| fmt_a | No | A 格式 csv/tsv/json/ndjson/parquet;缺省自动识别 | |
| fmt_b | No | B 格式;缺省自动识别 | |
| limit | No | 最多返回行数;硬上限 1000 | |
| columns | No | 只返回这些列;缺省返回全部 | |
| file_id_a | No | 数据 A 的文件 ID(与 data_base64_a 二选一) | |
| file_id_b | No | 数据 B 的文件 ID(与 data_base64_b 二选一) | |
| data_base64_a | No | 数据 A 内容 base64 | |
| data_base64_b | No | 数据 B 内容 base64 |
Tool Definition Quality
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.
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.
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.
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.
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.
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[]}。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | 格式 csv/tsv/json/ndjson/parquet;缺省自动识别 | |
| file_id | No | 已上传的数据文件 ID(与 data_base64 二选一) | |
| data_base64 | No | 数据文件内容 base64(与 file_id 二选一) |
Tool Definition Quality
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.
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.
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.
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.
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.
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[]}。
| Name | Required | Description | Default |
|---|---|---|---|
| agg | No | 聚合方式 sum/avg/count/min/max/median(默认 sum;count=数每组行数、无需 measures) | |
| fmt | No | 格式 csv/tsv/json/ndjson/parquet;缺省自动识别 | |
| sql | No | 只读 SQL,表名固定为 t。例:SELECT 地区, sum(金额) AS 合计 FROM t GROUP BY 地区 ORDER BY 合计 DESC LIMIT 10。仅允许单条 SELECT/WITH,禁止读文件/建表/联网。给了 sql 就忽略下面的结构化参数。 | |
| limit | No | 最多返回多少行(取前 N / Top-N);硬上限 1000 | |
| columns | No | 明细模式:只返回这些列;缺省返回全部列 | |
| file_id | No | 已上传的数据文件 ID(与 data_base64 二选一) | |
| filters | No | 行过滤条件(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_by | No | 按哪一列排序(可为分组后的 measure 或 count 列) | |
| group_by | No | 分组维度列。给了就进聚合模式:按这些列分组,对 measures 求 agg | |
| measures | No | 聚合模式:要统计的数值列;缺省=所有非分组的数值列 | |
| descending | No | 降序排序(取 Top-N 常用 true) | |
| data_base64 | No | 数据文件内容 base64(与 file_id 二选一) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables SQL querying over CSV and Excel files using DuckDB, providing tools to load files, inspect schemas, and run read-only queries via MCP.5MIT
- Alicense-qualityBmaintenanceMCP server for sandboxed, read-only SQL queries on CSV/Parquet/JSON files via DuckDB, limited to a specified directory.1MIT
- AlicenseAqualityCmaintenanceUnified MCP server for querying CSV, Postgres, and REST API data sources via embedded DuckDB, enabling cross-source SQL joins with no external query service.730MIT
- AlicenseAqualityCmaintenanceEnables DuckDB database interaction through MCP, supporting SQL queries, table creation, and schema inspection with optional read-only mode.1MIT