Skip to main content
Glama

Worms Get Traits

worms_get_traits
Read-onlyIdempotent

Retrieve recorded attributes for an AphiaID or canonical WoRMS LSID, including inherited attributes by default. Resume nextResultOffset as resultOffset with unchanged selectors and options. Whole rows retain original preorder nodeIndex and parentIndex across pages; parents may be on earlier pages. measurementType keeps each matching node with its subtree and ancestors, indices unchanged; totalCount counts that set and unfilteredCount the whole tree. Values, references and inheritance markers remain unchanged; on an accepted taxon WoRMS also returns attributes recorded on its synonyms whatever includeInherited is set to, marked by inheritedFrom. A notice names the linked accepted ID, distinguishing an accepted alternative representation from its preferred ID. Missing traits do not prove biological absence; IUCN list membership is not a threat category.

Input Schema

NameRequiredDescriptionDefault
aphiaIdYesPositive safe-integer AphiaID, decimal string, or canonical urn:lsid:marinespecies.org:taxname:<AphiaID>; outputs remain numeric.
resultOffsetNoZero-based local position; resubmit unchanged selectors and options.
measurementTypeNoCase-insensitive whole-value measurement type, not trimmed, e.g. Body size; blank means no filter. Names come from worms_list_reference with topic: trait_types.
includeInheritedNoInclude attributes inherited from higher taxa; default true.

Output Schema

NameRequiredDescriptionDefault
echoNoEffective options.
errorNoPresent when the call failed. Absent on success.
noticeNoLinked accepted/preferred-AphiaID and absent-attribute guidance, in that order.
traitsNoThis preorder segment; indices refer to the complete original tree.
aphiaIdNoPositive safe-integer AphiaID; obtain from worms_resolve_taxon.
byteBudgetNoComplete serialized response byte target.
totalCountNoKnown local sequence length before pagination.
attributionNoWoRMS source attribution.
statusErrorNoFailed taxonomic-status read; evidence is unaffected, but whether the AphiaID is its accepted name is unknown.
resultOffsetNoZero-based starting position in the complete local sequence.
budgetLimitedNoWhether the byte budget ended this local page early.
oversizedItemNoOne indivisible scientific item exceeds the target; retained intact with forward progress.
requiredBytesNoSerialized paired-surface result bytes for an oversized item, excluding transport-added metadata.
returnedCountNoWhole scientific items returned on this segment.
unfilteredCountNoNodes in the complete tree before the measurementType filter.
nextResultOffsetNoNext local position; null when consumed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations establish read-only, idempotent, open-world behavior, and the description adds substantial behavioral detail beyond them: inherited-attribute semantics, stable preorder indices across pages, measurementType subtree/ancestor retention, totalCount versus unfilteredCount, synonym attribute inclusion with inheritedFrom markers, and caveats about missing traits and IUCN list membership.

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

Conciseness4/5

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

The description is dense but front-loads the core purpose and avoids filler. Each sentence carries operational information, though some later sentences are packed with multiple caveats and could be easier to scan.

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 an output schema available, the description does not need to explain return values; it instead covers behavior, filtering, pagination, inheritance, and important interpretive caveats. The definition is complete enough 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.

Parameters5/5

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

Although schema coverage is already 100%, the description adds meaning beyond the schema by explaining how resultOffset resumes from nextResultOffset, how measurementType preserves matching nodes with subtrees and ancestors, how counts are affected, and how includeInherited interacts with synonym attributes.

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 states a specific verb and resource: retrieving recorded attributes for an AphiaID or canonical WoRMS LSID, with inherited attributes included by default. It is clear what the tool does, but it does not explicitly distinguish itself from siblings such as worms_get_taxon or worms_get_classification.

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 gives concrete operational guidance for resuming pagination and for using measurementType, and points to worms_list_reference for trait type names. However, it does not state when to choose this tool over the other trait/taxon siblings or describe exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.