Skip to main content
Glama

validate_tsv

Check a Darwin Core TSV file for upload readiness: verify column consistency, encoding, date/coordinate ranges, and duplicate occurrence IDs. Streams data, so it handles multi-GB files safely.

Instructions

Validate a local Darwin Core text file BEFORE uploading it: column-count consistency (embedded newlines/tabs), UTF-8/mojibake, year/month/day and lat/long ranges, duplicate occurrenceID. Streams; safe for multi-GB files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path of the file on the machine running this MCP server
idColumnNooccurrenceID
delimiterNo
maxIssuesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool streams and is safe for multi-GB files, which is important behavioral context. It also lists the specific validation checks. However, it does not explicitly state whether the tool is read-only (though 'validate' implies no mutation) or describe the return format. Still, it provides substantial behavioral insight beyond the name.

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, well-structured sentence that front-loads the primary purpose ('Validate a local Darwin Core text file BEFORE uploading it') and then lists the specific checks in a compact, scannable format. No wasted words; every element adds value.

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 description covers the validation scope and streaming behavior, but it does not describe the return value or issue format, which is critical for an agent to interpret results. Since there is no output schema, the description should explain what the agent will receive (e.g., a list of issues). This gap makes the tool incomplete for full autonomous usage.

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 25% (only 'path' has a description). The description mentions 'duplicate occurrenceID', which hints at the idColumn parameter, but it does not explain the meaning of 'delimiter' or 'maxIssues'. With such low coverage, the description should compensate by explaining all parameters, but it only partially addresses them, leaving two parameters undocumented.

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

Purpose5/5

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

The description clearly states the tool's purpose: validating a local Darwin Core text file before upload. It lists specific checks (column-count consistency, UTF-8/mojibake, date/lat-long ranges, duplicate occurrenceID), which is more specific than a generic 'validate' and distinguishes it from sibling ipt_validate_resource (which validates an uploaded resource on the IPT side).

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 phrase 'BEFORE uploading it' provides clear temporal context and implies this tool is for local pre-upload validation. It doesn't explicitly mention alternatives or when not to use it, but the context is sufficient to route an agent away from server-side validation tools. Missing explicit exclusions, but the guidance is clear.

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