Skip to main content
Glama

gantt-chart

Server Details

Build Gantt charts from your AI chat: tasks, dependencies, timeline spreadsheets. All data is local.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
theluckystrike/mcp-servers
GitHub Stars
0

TDQS

A3.6/5.0

Scored across 13 tools

Disambiguation4/5

The sheet_* tools each target a distinct operation (load, read, query, stats, find, info, add_column, convert, write, unload), and the license tools are separate. The only mild ambiguity is between sheet_read, sheet_query, and sheet_stats, all of which are read-like, but their descriptions clarify the intended use.

Naming Consistency4/5

Most tools follow a consistent <domain>_<operation> pattern: sheet_load, sheet_read, sheet_query, sheet_write, and license_activate. Minor deviations exist (license_status is a state query rather than an action, sheet_files and sheet_info are noun-based), but the naming is still predictable.

Tool Count2/5

Thirteen tools is a reasonable size for a spreadsheet utility server, but this server is named gantt-chart and none of the tools create or manage gantt charts. As a result, the count is inflated by irrelevant functionality relative to the stated purpose.

Completeness1/5

For a gantt-chart server, there are no tools for tasks, timelines, dependencies, milestones, or rendering. The spreadsheet operations may cover that sub-domain, but the surface is severely incomplete for the server's apparent purpose.

Available Tools

13 tools
license_activateActivate licenseAInspect

Turn Pro on for this connection with key, an MCPL1.. issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesLicense key from checkout, MCPL1.<payload>.<signature>

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate this is not read-only and not destructive, and the description adds useful behavioral detail: existing data under the token stays, and a wrong or expired key changes nothing. This goes beyond the annotation hints by explaining failure semantics and safety of the operation.

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 with no filler. It front-loads the core action, then gives the key format and safety guarantees, and closes with the verification tool. Every sentence contributes essential information.

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 single-parameter activation tool with annotations covering the safety profile, the description is complete: it states what the tool does, what input is needed, what happens on failure, and how to confirm success. There is no missing critical information for an agent to call it correctly.

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

Parameters4/5

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

The schema already documents the key parameter and its format with 100% coverage. The description adds meaning by specifying that the key must be issued at checkout for this server or the bundle, which clarifies validity requirements not present in the schema.

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 uses a specific verb and resource: it 'turns Pro on' for the connection using a license key. It also distinguishes itself from the sibling license_status tool by saying license_status confirms the activation. This leaves no ambiguity about what the tool accomplishes.

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 for use: the key must be an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. It does not explicitly list exclusions or alternative tools, but it does reference license_status as the confirmation path, giving the agent a sense of the workflow.

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

license_statusLicense statusA
Read-onlyIdempotent
Inspect

Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds useful context beyond annotations by specifying the JSON response contents and stating 'nothing changes,' reinforcing the read-only nature of the call.

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?

Two dense sentences cover output, purpose, usage context, and side-effect guarantee. Every sentence earns its place and the most important information is front-loaded.

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?

With no output schema, the description sufficiently describes the return value. With no parameters, annotations covering safety, and a clear use case, nothing essential is missing for an agent to invoke this tool correctly.

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

Parameters4/5

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

There are zero parameters and the schema already fully documents that fact. The description explicitly says 'No arguments,' which is accurate and reinforces the schema without needing further elaboration.

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 begins with a specific verb ('Report') and a precise resource ('this endpoint's licence state for your token'), and enumerates the exact output fields: product, tier, reason, and checkout URL. This clearly distinguishes it from sibling tools like license_activate.

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 states when to call it: 'Call it to explain a free-tier refusal.' This is clear contextual guidance, though it does not name alternatives or explicitly state when not to use it.

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

sheet_add_columnAdd a columnAInspect

Call this tool to add a computed column and save the result to a NEW file; the source is never modified unless out_path points at it. Returns the new file path, the row count and a preview of the first rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the new column. It must not already exist on the sheet
pathYesPath to the source .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded); it is never modified
sheetNoSheet name; default is the first sheet
valuesNoExplicit values, one per data row, instead of a formula. Missing entries are left blank
formulaNoExpression over the columns of each row, in the same expression language as sheet_query, e.g. "[Qty] * [Unit Price]" or '[Country] = "PL"'. Give either formula or values
decimalsNoRound numeric formula results to this many decimals. Default: the widest decimal count of the columns the formula reads, capped at 2 when they all hold 2 or fewer (money in, money out); otherwise no rounding beyond float cleanup
out_pathNoOutput file; default <source>-plus-<column>.<same ext>. The source file is left untouched unless this points at it

TDQS

A4.3/5.0
Behavior4/5

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

The description adds valuable behavioral context beyond the annotations by explaining that the source file is never modified unless out_path points at it, and by summarizing the return value. It also clarifies the tool creates a new file, which is important given readOnlyHint is false and destructiveHint is false.

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 with no fluff: it front-loads the tool's purpose and key safety behavior, then lists the return values. Every sentence earns its place.

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?

The description is complete for selecting and invoking this tool, especially paired with a fully documented schema. It explains what the tool does, where results go, what safety guarantee applies, and what the caller receives in return.

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 documents all parameter meanings. The description does not add per-parameter semantics beyond the schema, 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 states a specific verb and resource: add a computed column and save the result to a new file. It also distinguishes the tool's core behavior from siblings by emphasizing that the source remains untouched unless out_path points at it.

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 gives clear context for when to call this tool: to add a computed column and produce a new file. It does not explicitly name alternatives or exclusion conditions, but the intended use is unmistakable from the first sentence.

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

sheet_convertConvert fileAInspect

Call this tool to convert a sheet between excel (xlsx), csv and json. Writes a new file next to the source unless out_path is given; the source is never modified. Returns the new file path with its row and column counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget format; the default out_path takes this as its extension
pathYesPath to the source .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded); it is never modified
sheetNoSheet to convert; default is the first sheet. Only that one sheet is written
out_pathNoWhere to write; default is the source name with the new extension, next to the source. It must differ from the source path

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already convey readOnlyHint=false and destructiveHint=false, establishing this as a non-destructive write. The description adds valuable context beyond those flags: it writes a new file next to the source by default, guarantees 'the source is never modified', and discloses the return payload (new file path with row and column counts). This is consistent with the annotations and enriches them with concrete behavior an agent needs.

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?

Three sentences with no waste: purpose first, then side-effect behavior, then return value. Each sentence carries distinct information (what it does, where output goes, what comes back), and the canonical 'Call this tool to...' opener front-loads the decision-relevant purpose.

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 correctly compensates by explaining the return value (new file path plus row and column counts). Combined with 100% schema parameter coverage and consistent annotations, an agent has what it needs to invoke correctly. The only minor gap is the unstated relationship to the sheet_load/sheet_unload workflow — it does not say whether the source file must be loaded in the workspace first.

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 all four parameters (path, to, sheet, out_path) are already well-documented in the schema. The description adds no parameter-level semantics beyond what the schema states — the 'source is never modified' claim and out_path default behavior are both already present in the schema's parameter descriptions. Baseline 3 applies.

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 opening sentence states a specific verb and resource — 'convert a sheet between excel (xlsx), csv and json' — which clearly differentiates this tool from siblings like sheet_read, sheet_write, sheet_load, and sheet_add_column. An agent can immediately tell this is a format-conversion tool, not a read/write/query operation.

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?

'Call this tool to convert a sheet between excel (xlsx), csv and json' provides an explicit trigger condition for when to invoke it. However, it does not name alternatives or state when NOT to use it (e.g., no mention that in-place editing should use sheet_write). The context is clear but lacks explicit exclusions.

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

sheet_filesList loaded sheetsAInspect

List the sheets loaded for this token, with their sizes and the storage left under the 2 MB cap.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are present, so the description carries the burden. It explicitly mentions the output (sizes, storage left) and the 2 MB cap, which are useful behavioral details. It does not explicitly state it is read-only, but a listing operation is implicitly non-destructive.

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 concise sentence with no redundant information. It directly conveys the purpose and output details.

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?

Without an output schema, the description adequately explains what will be returned (sheet names, sizes, remaining storage). It is complete enough for a simple listing tool, though it could optionally mention the return format.

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

Parameters4/5

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

There are no parameters, so the baseline of 4 applies. The description does not need to explain parameter meaning.

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?

Clearly states the verb 'List' and the resource 'sheets loaded for this token', including what information is returned (sizes and storage left). This distinguishes it from sibling tools like sheet_load or sheet_read.

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

Usage Guidelines3/5

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

Implies usage for checking current loaded sheets and storage, but does not explicitly state when to use this tool versus alternatives like sheet_info or sheet_stats. No misleading information, but guidance is minimal.

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

sheet_findFind textAInspect

Call this tool to search every cell of a spreadsheet or CSV for text; built-in file readers cannot parse spreadsheets. Matching is case insensitive. Returns cell addresses with a preview of the row each hit is on.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded)
textYesText to look for; matched case insensitively anywhere inside a cell. Up to 200 hits are returned
sheetNoSheet name; default searches every sheet

TDQS

A4.2/5.0
Behavior4/5

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

The description adds useful behavioral details beyond the annotations: matching is case insensitive, and it returns cell addresses with a row preview. Since annotations provide no positive safety signal and the tool is a search operation, this is reasonably transparent, though it could have explicitly stated it does not modify the file.

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 and front-loads the core purpose with 'Call this tool to search every cell...' followed by a brief rationale and key behavioral details. Every sentence adds value and there is no redundancy.

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?

For a simple search tool with full schema coverage, the description adequately explains return shape (cell addresses with row preview) and matching behavior. It is slightly incomplete in that it does not describe error conditions or explicitly confirm no side effects, but these are minor for this operation.

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 input schema fully documents all three parameters. The description adds high-level behavior but does not materially extend parameter-level meaning beyond what the schema already provides, meriting the baseline score.

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 states a specific action: 'search every cell of a spreadsheet or CSV for text.' This clearly distinguishes the tool from siblings like sheet_read and sheet_query, which read or query structured data rather than doing a raw cell-by-cell text search.

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 gives clear context for when to use the tool: when searching spreadsheets for text, noting that 'built-in file readers cannot parse spreadsheets.' It does not explicitly name alternative sibling tools or state when not to use it, so it misses the top tier of explicit exclusions.

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

sheet_infoSpreadsheet overviewAInspect

Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Start here: sheet names, size, header row, column types and samples.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded)

TDQS

A3.8/5.0
Behavior3/5

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

With all annotations false, the description carries the full burden and does list the return content (sheet names, size, header row, column types, samples). However, it says nothing about whether the tool modifies anything, requires special permissions, or how it handles invalid paths, so behavioral disclosure is only partial.

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?

Two short sentences with no filler. The routing instruction and the prohibition on built-in readers come first, followed by a compact list of the output's contents, making it easy for an agent to scan.

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?

For a simple one-parameter info tool with no output schema, the description adequately states what the agent will get. It could be more complete by noting that the tool is read-only or what happens on missing/invalid files, but those are minor gaps given the tool's simplicity.

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 single path parameter is 100% covered by the input schema, including accepted extensions and tilde expansion. The description only restates 'any spreadsheet or CSV file path', adding no syntax, formatting, or usage details beyond the schema, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly defines the tool as a spreadsheet/CSV overview entry point, stating exactly what it returns: sheet names, size, header row, column types, and samples. It distinguishes itself from built-in file readers, but does not explicitly route between sibling sheet_* tools, so it falls just short of full sibling differentiation.

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 explicitly says to call this tool for any spreadsheet or CSV file path and forbids using built-in readers for them, which is a strong when-to-use/when-not-to-use rule. It also positions the tool as 'start here', but it does not give explicit conditions for preferring siblings like sheet_read or sheet_stats over this tool.

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

sheet_loadLoad a sheet into this sessionAInspect

Upload data to work on. This hosted endpoint has no filesystem, so instead of a file path you send the data once with sheet_load and then pass its name as path to sheet_info, sheet_read, sheet_query, sheet_stats, sheet_find, sheet_add_column, sheet_convert and sheet_write. Give exactly one of csv (raw text, comma or tab separated), xlsx_base64 (a base64-encoded .xlsx workbook) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 2 MB cap, and a fetched file is stored as an .xlsx when it carries the PK zip header and as delimited text otherwise. Loaded sheets are kept for your token and survive between calls; the total is capped at 2 MB per token. Files the other tools write come back as a download link that is valid for one hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvNoRaw CSV or TSV text, including the header row
urlNourl: fetch a public file instead of pasting base64 (recommended above about 10 KB). Public http(s) only; private, link-local and this endpoint's own zone are refused
nameYesName to refer to this data by: 1-64 characters of letters, digits, underscore or dash, e.g. "sales" or "sales.csv"
xlsx_base64NoBase64-encoded .xlsx workbook

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden. It discloses the no-filesystem architecture, the storage-per-token model, the 2 MB cap, the url fetch behavior (timeout, redirects, host restrictions, size cap, file-type detection via PK zip header), and that written files return as one-hour download links. All critical side effects and constraints are transparent.

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 long but every sentence carries essential information. It is front-loaded with the core purpose, then systematically covers input methods, url details, storage semantics, and the download-link behavior for written files. No redundancy or filler.

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?

Given the tool's complexity (multiple input modes, persistence, interplay with 11 sibling tools, and url fetching rules), the description covers all aspects an agent needs to call it correctly. It explains how loaded data is reused, the constraints on each input, and the retention policy. No output schema is needed for a load operation, and the description is sufficiently complete without it.

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?

Schema descriptions cover 100% of parameters, but the description adds substantial meaning: it explains the mutual exclusivity of csv/xlsx_base64/url, the recommended use of url for large data, and how `name` becomes the `path` argument in all downstream tools. This goes well beyond the schema's per-field 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 opens with 'Upload data to work on' and immediately clarifies that this hosted endpoint has no filesystem, so data is sent once and referenced by name as `path` in sibling tools. This precisely distinguishes sheet_load from all read/query/write siblings, which operate on already-loaded sheets.

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

Usage Guidelines5/5

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

It explicitly states 'Give exactly one of csv, xlsx_base64 or url' and provides concrete selection guidance for url (recommended above ~10 KB) with detailed fetch constraints (10s timeout, ≤3 redirects, public http(s) only, 2 MB cap). It also clarifies that loaded sheets persist per token and the total is capped at 2 MB, which tells the agent when to unload or reuse.

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

sheet_queryFilter, group and sort rowsAInspect

Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse them. Filters, groups, aggregates and sorts in one call. Totals: aggregate/group_by here, never hand sums over sheet_read rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
asNo
pathYesPath to the .xlsx or .csv file
sortNoSort column; may be an aggregate alias such as total_units
limitNoDefault 100
sheetNo
whereNoFilter, e.g. [Qty] >= 5 AND ([Status] = "open" OR [Status] = "new")
selectNoColumn names to return; default all (with group_by, defaults to the group columns plus the aggregates)
group_byNoGroup rows by these columns before aggregating, e.g. ["Rep"] or ["Region","Rep"]
aggregateNoAggregates per group, e.g. [{"col":"Units","fn":"sum","as":"total_units"}]. Defaults to a row count when group_by is given.

TDQS

A4.1/5.0
Behavior3/5

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

The description conveys that this is a single-call query operation and that built-in readers are insufficient, but it does not disclose whether the tool modifies state, requires a previously loaded sheet, or has other side effects. With all annotations false, the description carries the burden and only partially fulfills it.

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?

Three short, information-dense segments, each earning its place. The 'Totals:' label front-loads the most critical usage instruction and the rest is free of fluff.

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

Completeness3/5

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

The schema handles parameter detail well, but the description is thin for a 9-parameter tool with no output schema and no safety annotations. It omits return-format guidance ('as'), file-state prerequisites, and default behaviors, leaving the agent to infer several important invocation details.

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

Parameters4/5

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

The description adds a decision rule beyond the schema: totals should be computed with aggregate/group_by here, not by summing sheet_read rows. It also maps the one-call idea to the where/group_by/aggregate/sort parameters. Syntax details are left to the schema, which remains the main reference.

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 identifies a specific resource (spreadsheet/CSV paths) and a precise verb set: filter, group, aggregate, sort. It also separates itself from built-in file readers and sheet_read by positioning itself as the place for totals, so an agent can tell what this tool does at a glance.

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 gives a clear when-to-use rule ('Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse them') and explicitly steers aggregation work here rather than hand-summing sheet_read rows. It does not explicitly differentiate from sheet_stats or sheet_find, but the core routing guidance is strong.

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

sheet_readRead rowsA
Read-onlyIdempotent
Inspect

Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Reads rows as a table, JSON or CSV; page with limit/offset or an A1 range.

ParametersJSON Schema
NameRequiredDescriptionDefault
asNoOutput format, default table
pathYes
limitNoRows to return, default 100
rangeNoA1 range such as A1:D50; overrides limit/offset
sheetNoSheet name; defaults to the first sheet
offsetNoRows to skip, default 0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description does not need to repeat safety traits. It adds useful behavioral context by explaining raw row reading, supported output formats, and pagination via limit/offset or an A1 range.

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 tightly packed sentences: the first provides the critical routing rule, and the second summarizes output formats and pagination options. Every sentence contributes value with no repetition 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?

For a read tool with no output schema, the description gives enough to understand what it returns (rows as table, JSON, or CSV) and how to page through results. It does not specify the exact returned JSON/table shape or mention the sheet parameter, but the high-quality schema fills most of that gap.

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 high at 83%, and the schema already documents as, limit, range, sheet, and offset with defaults and override behavior. The description mostly echoes these concepts without adding meaningful new parameter semantics beyond clarifying that path refers to spreadsheet/CSV files.

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

Purpose4/5

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

The description clearly states a specific verb and resource: it reads rows from spreadsheet or CSV file paths and supports table, JSON, or CSV output. It distinguishes itself from built-in file readers, though it does not explicitly differentiate from sibling sheet tools such as sheet_query or sheet_load.

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

Usage Guidelines5/5

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

It gives an explicit when-to-use rule ('Call this tool for any spreadsheet or CSV file path') and an explicit when-not-to-use rule for built-in file readers, which cannot parse spreadsheets. This is direct routing guidance with a named alternative class of functionality.

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

sheet_statsColumn statisticsAInspect

Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Whole-column statistics: count, empty, distinct, min, max, sum, mean, median.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
sheetNo
columnsNoLimit to these columns; default all

TDQS

A3.5/5.0
Behavior3/5

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

The description lists the statistics returned, providing some output expectation, but it does not state whether the operation is read-only, how errors like missing files are handled, or the response format. Annotations are all false, so they provide no safety or side-effect context.

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?

Two sentences carry the full message with no filler; the usage directive is front-loaded and the statistic list is compact. Every sentence earns its place.

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

Completeness3/5

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

Core purpose and output statistics are clear, but the definition is incomplete for an agent: it lacks sheet parameter semantics, output format, and read-only/side-effect guarantees. No output schema exists, so the description should carry more of this burden.

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

Parameters2/5

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

Schema description coverage is only 33%, and the description only adds meaning to path by allowing spreadsheet or CSV paths; columns already has a schema description. The optional sheet parameter is never explained, and no guidance is given about how it applies to CSV files.

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

Purpose4/5

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

The description identifies a specific operation: computing whole-column statistics (count, empty, distinct, min, max, sum, mean, median) for spreadsheet or CSV paths. It distinguishes the tool from built-in file readers, but it does not explicitly differentiate it from sibling sheet_* tools like sheet_read or sheet_query.

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 explicitly says to call this tool for any spreadsheet or CSV file path and states that built-in file readers cannot parse spreadsheets and must not be used. This is clear usage context, though it does not discuss when to prefer sheet_query/sheet_read or when not to use this tool.

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

sheet_unloadDelete a loaded sheetAInspect

Delete one sheet loaded for this token, freeing its space under the 2 MB cap.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

A4.5/5.0
Behavior5/5

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

It discloses that the operation affects only sheets loaded for this token, indicating it does not delete stored files, and explicitly mentions the side effect of freeing space under the cap.

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, direct sentence that efficiently conveys the action and its purpose without unnecessary detail.

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?

Given the single required parameter and no output schema, the description provides enough context for an agent to understand what the tool does and when to invoke it, including the memory cap rationale.

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 sole parameter 'name' is not explicitly described in the schema or the description; it is implied to be the loaded sheet's name, but this is not stated outright. The description compensates only partially.

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 action ('Delete one sheet loaded for this token') and distinguishes it from file operations by specifying the in-memory scope and the 2 MB cap context.

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 implies usage when needing to free space under the memory cap, but does not explicitly mention alternatives or when not to use it. The context of the cap makes the appropriate usage fairly evident.

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

sheet_writeWrite rowsAInspect

Call this tool to write rows to an xlsx, csv, tsv or json file; the extension of out_path picks the format. mode is new_file, append or overwrite. Other sheets are kept. Free: 500 rows per file.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesnew_file writes a brand new file and refuses to clobber an existing one; append adds the rows under the existing data; overwrite replaces the file contents
pathYesSource file for append/overwrite, or the intended file for new_file (~ is expanded)
rowsYesArray of objects, whose keys become the headers, or an array of arrays with the header row first
sheetNoSheet to write; default is the first sheet of the source, or "Sheet1" for a new file. Other sheets of an existing workbook are kept unchanged
out_pathNoWhere to write; default is a new file next to the source for new_file, or the source itself for append/overwrite. The output format follows this extension: .xlsx, .csv, .tsv or .json. An extension is required

TDQS

A4/5.0
Behavior4/5

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

The annotations already signal a mutating, non-idempotent, non-open-world operation, so the description does not need to restate that. It adds useful behavioral detail beyond the annotations: "Other sheets are kept" clarifies side effects on existing workbooks, and "Free: 500 rows per file" discloses a quota constraint. No contradiction with the annotations is present.

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 three short sentences with no filler. It front-loads the core action, then packs the most decision-relevant facts—format selection, modes, preservation of other sheets, and row quota—into compact follow-up statements.

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?

For a 5-parameter write tool with a rich schema and no output schema, the description provides the key operational context: supported formats, mode choices, non-destructive effect on other sheets, and file-size limits. It does not describe the return value or error behavior, but the schema covers parameter semantics sufficiently for an agent to 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?

Schema description coverage is 100%, with detailed explanations for path, rows, mode, sheet, and out_path. The description mostly summarizes the mode enum and format selection rather than adding new meaning, so the baseline of 3 is appropriate; it does not need to compensate for schema gaps.

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 states a specific verb and resource: "write rows to an xlsx, csv, tsv or json file." It also clarifies that the output format is chosen by the extension of out_path, which distinguishes it from sibling read/query/convert tools. The name and title align tightly with this described behavior.

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

Usage Guidelines3/5

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

The description opens with "Call this tool to write rows," which gives a clear general context for when the tool applies. However, it does not name alternatives, state when not to use it, or explain how it differs from sibling tools like sheet_load, sheet_convert, or sheet_add_column. Usage is implied rather than explicit.

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.

  1. 13 tool updates
    • First observedlicense_activate
    • First observedlicense_status
    • First observedsheet_add_column
    • First observedsheet_convert
    • First observedsheet_files
    • First observedsheet_find
    • First observedsheet_info
    • First observedsheet_load
    • First observedsheet_query
    • First observedsheet_read
    • First observedsheet_stats
    • First observedsheet_unload
    • First observedsheet_write

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables collaborative project planning by connecting an MCP-capable chat app to a generative AI that manages tasks and dependencies, with a live web UI for visualization.
    1
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to create interactive charts, diagrams, and tables displayed on a real-time dashboard, supporting multiple data sources with privacy-focused local execution.
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables AI assistants to manage tasks through YAML-based storage with subtask suggestions, status updates, and Mermaid Gantt chart generation. Supports hierarchical task structures with attributes like dependencies, milestones, and parallel execution.
    26
    54 npm
    1
    ISC
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.