SheetShift
Server Details
Convert and clean tables: CSV, JSON, dedupe, stats. Free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- everyai-com/sahadeva
- GitHub Stars
- 0
- Server Listing
- Sahadeva
TDQS
Scored across 4 tools
Each tool targets a clearly distinct table operation: cleaning, column statistics, format conversion, and column splitting. There is little risk of selecting the wrong tool for a given task.
Three tools follow a verb_noun pattern (clean_table, convert_table, split_column), while column_stats is noun_noun. This is a minor deviation but still readable and predictable overall.
Four tools is well-scoped for a focused table manipulation utility. Each tool covers a distinct operation and none feels redundant or missing a paired counterpart.
The surface covers cleanup, stats, conversion, and splitting, but omits common table operations such as sorting, filtering, joining/merging, and column renaming. Agents needing those workflows would hit dead ends.
Available Tools
4 toolsclean_tableBRead-onlyInspect
Trim cells, drop empty rows, dedupe rows in a table string.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| trim | No | ||
| dedupe | No | ||
| format | No | ||
| drop_empty_rows | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, confirming this is a safe, non-mutating operation. The description adds that it operates on a table string and lists operations, but does not describe return format or edge cases.
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?
A single, front-loaded sentence that lists all main actions without any unnecessary words. Very efficient.
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 5 parameters at 0% schema description coverage and no output schema, the description is insufficient. It leaves the 'format' parameter and the expected input format for 'data' completely unexplained, which is critical for correct invocation.
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 0%, so the description must explain parameters. It only vaguely mentions operations that map to some boolean parameters (trim, dedupe, drop_empty_rows) but does not clarify the 'format' parameter or how 'data' is structured. Most parameters remain undocumented.
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 states specific operations (trim, drop empty rows, dedupe) on a clear resource (a table string). It distinguishes itself from siblings like convert_table and column_stats, though it doesn't explicitly name them.
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 implies this tool is for cleaning table data, but does not state when to use it versus alternatives like column_stats or convert_table. It lacks explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
column_statsCRead-onlyInspect
Sum/avg/min/max/count/distinct over one column (name or 0-based index).
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | ||
| data | Yes | ||
| column | Yes | ||
| format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered externally. The description adds essentially nothing beyond that: it does not say what the data argument is, how the column reference resolves when both a name and an index are valid, or how results are returned.
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?
A single compact sentence that front-loads the operation set and tucks the column-reference detail into a parenthetical. No filler, though the abbreviation style is terse to the point of losing clarity.
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 fairly simple single-column aggregation tool this is minimally adequate, and annotations cover the safety profile. However, with no output schema and 0% parameter coverage, the description leaves the primary required input ('data') and the result shape unexplained.
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 0%, so the description must carry the full parameter burden. It usefully enumerates the op values and explains that column accepts a name or 0-based index, but it never explains the required 'data' parameter or the 'format' parameter, leaving half the schema undocumented.
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?
States a specific operation set (sum/avg/min/max/count/distinct) and the resource it acts on (one column), so an agent can identify it as a column-aggregation tool immediately. It does not name or differentiate itself from siblings clean_table, convert_table, or split_column, but those are clearly different operation types so confusion is unlikely.
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 gives no when-to-use guidance, no prerequisites, and no mention of alternatives. Usage is only inferable from the operation list itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_tableBRead-onlyInspect
Convert a table string between CSV, TSV, JSON and Markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| to_format | Yes | ||
| from_format | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the format set but says nothing about whether conversion is lossy, how invalid input is handled, or what the returned value looks like, so it adds only modest behavioral context.
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?
A single efficient sentence with no filler, front-loaded on the action. It is appropriately sized for a simple three-parameter utility, though it is thin enough that the terseness edges toward under-specification.
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 simple format-conversion utility with no output schema, the definition covers the core operation but omits the accepted format tokens and the return shape (a converted string). An agent can probably call it, but with avoidable guesswork about parameter values.
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 0% for three parameters, so the description must carry the load. Naming CSV, TSV, JSON and Markdown partially documents from_format/to_format, but it never states the accepted string values, whether they are case-sensitive, or what shape 'data' takes, leaving real ambiguity.
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 gives a specific verb ("Convert") and resource ("a table string") and enumerates the supported formats (CSV, TSV, JSON, Markdown), which clearly separates it from siblings like clean_table and column_stats. It does not explicitly name a sibling to disambiguate against, but the function is unambiguous on its face.
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?
There is no guidance on when to use this tool versus clean_table, split_column, or column_stats, nor any stated prerequisites or exclusions. The purpose implies usage but the description never routes the agent to or away from an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
split_columnCRead-onlyInspect
Split one column on a delimiter into new columns.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| column | Yes | ||
| format | No | ||
| delimiter | Yes | ||
| new_names | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds one useful behavioral detail beyond annotations – that splitting produces additional columns rather than mutating the original in place – but says nothing about output shape, ordering, or how existing column names are handled.
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?
A single well-formed sentence with the action front-loaded and no filler. It is efficient, though arguably under-sized for a tool with five parameters and zero schema documentation.
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 5-parameter data-transform tool with 0% schema coverage and no output schema, one sentence is not enough. The description never explains what 'format' does, how 'new_names' maps to produced columns, or what the return value looks like, so an agent cannot confidently construct a call.
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 0%, so the description must carry the burden, and it only implicitly gestures at 'column' and 'delimiter'. The 'format' and 'new_names' parameters are completely unaddressed, and 'data' is unexplained, leaving most of the 5-parameter surface undocumented.
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 gives a specific verb (split), a specific resource (one column), and the mechanism (on a delimiter, into new columns), so the operation is unambiguous. It never references the sibling tools (clean_table, column_stats, convert_table), so an agent gets no help distinguishing it from related table transforms.
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 states what the tool does but says nothing about when to reach for it, when not to, or which sibling to prefer instead. With three plausible alternatives (clean_table, convert_table, column_stats) in scope, this omission forces the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
clean_table - First observed
column_stats - First observed
convert_table - First observed
split_column
Related MCP Connectors
Dedupe, flatten and clean messy JSON rows (emails, phones, URLs, HTML) in one call, as JSON or CSV.
Standardize, reshape, and normalize messy data — CSV, Excel, Parquet, S3, databases.
Convert between 200+ format pairs: JSON, CSV, XML, YAML, PDF, Excel, DOCX and more.
Validate and clean CSV before import. Find duplicates, missing values and invalid dates with row-level reports. Apply only the cleanup you request; files are not retained. Run view_csv_demo free without a key. Custom CSV: EUR 9 for 100 operations, valid 90 days, no subscription. Setup: https://check.orvel.dev/docs/
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables validating CSV structure, checking simple schemas, converting between CSV and JSON, sampling rows, and finding duplicate keys on local files. All processing stays local, so no user data is ever uploaded.6MIT
- AlicenseAqualityCmaintenanceConverts, aligns, reshapes, and inspects tabular data across Markdown, CSV, TSV, JSON, and HTML with CJK-aware alignment and deterministic transformations, entirely offline and without file access.4MIT
- FlicenseNot gradedqualityCmaintenanceEnables converting PDFs and CSV/spreadsheet files into spreadsheets, extracting bank statement or receipt data into clean CSV, cleaning messy CSV, and generating client-ready reports through an open MCP endpoint.-
- AlicenseAqualityDmaintenanceEnables an AI assistant to preview, query, aggregate, and convert CSV/TSV data safely with no API key.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.