Skip to main content
Glama

Server Details

Resolve WoRMS marine species names; fetch classifications, synonyms, distributions, traits, and IDs.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/worms-marine-taxa-mcp-server
GitHub Stars
1
Server Listing
WoRMS Marine Taxa MCP Server
ChatGPT
–
Claude
–

TDQS

A4.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct WoRMS operation: name resolution, taxon record retrieval, classification, synonyms, distributions, traits, identifier crosswalking, and reference lookup. Overlap is minimal because resolve_taxon finds taxa while get_taxon retrieves records by ID, and classification/synonyms/distributions/traits each target separate data categories.

Naming Consistency5/5

All tools use the same worms_ prefix and follow a predictable verb_noun convention: crosswalk_id, get_classification, get_distributions, get_synonyms, get_taxon, get_traits, list_reference, resolve_taxon. There are no mixed casing or inconsistent verb styles.

Tool Count5/5

Eight tools is well-scoped for a read-only taxonomic data server, with one tool per major data access pattern rather than excessive granularity. Each tool earns its place by covering a distinct part of the WoRMS API surface.

Completeness5/5

The surface covers core marine taxa workflows: resolving names, retrieving full records (including vernaculars and sources), classification and children, synonyms, distributions, traits, external identifier crosswalks, and reference metadata. No obvious lifecycle operation for this read-only taxonomic domain is missing.

Available Tools

8 tools
worms_crosswalk_idWorms Crosswalk IdA
Read-onlyIdempotent
Inspect

Crosswalk an AphiaID from worms_resolve_taxon to one or all nine external identifier systems, or reverse an externalId with required type to a full taxon record. Supply exactly one selector. Forward resultOffset indexes whole identifiers across types in requested order; resume nextResultOffset with unchanged selectors. typeTotals distinguishes successful absence from IDs on another segment; failed types remain separate. IDs stay opaque, including leading zeros and LSIDs. No IDs cannot establish taxon absence; IUCN identifiers are not threat categories.

Inputs: type, aphiaId, externalId, resultOffset. Returns: ids, echo, type, error, +18 more

worms_get_classificationWorms Get ClassificationA
Read-onlyIdempotent
Inspect

Retrieve root-to-tip classification and optional direct children for an AphiaID or canonical WoRMS LSID. resultOffset indexes lineage followed by fetched children; consume nextResultOffset with unchanged options and upstream offset before advancing page.nextOffset and resetting resultOffset to zero. Missing ranks remain unknown; child offset and filters are inactive without includeChildren. A full fetched 50-row child page has uncertain continuation and can lead to an empty page. The submitted ID keeps its own recorded lineage; a notice names its linked accepted ID, distinguishing an accepted alternative representation from its preferred ID.

Inputs: aphiaId (required), offset, extantOnly, marineOnly, +2 more. Returns: echo, page, error, found, +16 more

worms_get_distributionsWorms Get DistributionsA
Read-onlyIdempotent
Inspect

Retrieve recorded distributions for an AphiaID or canonical WoRMS LSID in byte-budgeted segments; resume nextResultOffset as resultOffset with unchanged selectors and filters. WoRMS attaches records to individual name usages, so one AphiaID's rows can miss those of its synonyms: includeSynonyms combines the accepted taxon's rows with those of up to 10 synonyms per call, each row tagged sourceAphiaId; consume nextResultOffset before advancing synonymOffset to synonymUnion.nextSynonymOffset with resultOffset 0. Filters apply to the complete fetched set before pagination and combine by conjunction: recordStatus normalizes case and surrounding whitespace before exact matching; others use case-insensitive whole-value equality without trimming. Rows retain duplicates and source order; no rows does not prove biological or taxon absence. A notice names the linked accepted ID, distinguishing an accepted alternative representation from its preferred ID.

Inputs: aphiaId (required), occurrence, invasiveness, recordStatus, +4 more. Returns: echo, error, notice, aphiaId, +14 more

worms_get_synonymsWorms Get SynonymsA
Read-onlyIdempotent
Inspect

Retrieve synonyms for the accepted taxon linked from an AphiaID obtained with worms_resolve_taxon. Consume nextResultOffset within the same upstream offset before advancing page.nextOffset and resetting resultOffset to zero. A present name without an accepted ID has no synonym lookup; inspect it with worms_get_taxon. A full fetched 50-row page has uncertain continuation and may lead to an empty page.

Inputs: aphiaId (required), offset, resultOffset. Returns: echo, page, error, found, +14 more

worms_get_taxonWorms Get TaxonA
Read-onlyIdempotent
Inspect

Retrieve full Aphia records by numeric IDs or canonical WoRMS LSIDs in byte-budgeted segments. Resume nextInputOffset as inputOffset using unchanged aphiaIds and options; inputIndex preserves duplicate and missing positions. includeVernaculars (common names) or includeSources (original description, basis of record, and other sources) requires one submitted ID, one of the two per call; resume nextVernacularOffset as vernacularOffset or nextSourceOffset as sourceOffset, repeating the full primary record. sourceUse filters whole use values ignoring case before sourceOffset; populated values are not trimmed. Successful source results report sourceTotalCount before slicing and unfilteredSourceCount only with an effective filter. Optional failure retains the record without source counts; unknown facts remain omitted or null.

Inputs: aphiaIds (required), sourceUse, inputOffset, sourceOffset, +3 more. Returns: echo, error, notice, results, +9 more

worms_get_traitsWorms Get TraitsA
Read-onlyIdempotent
Inspect

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.

Inputs: aphiaId (required), resultOffset, measurementType, includeInherited. Returns: echo, error, notice, traits, +12 more

worms_list_referenceWorms List ReferenceA
Read-onlyIdempotent
Inspect

List supported external identifier systems, a non-exhaustive taxonomic-status guide grouped as accepted, unaccepted, uncertain, or technical, environment-flag semantics, observed worms_get_distributions filter values, live taxonomic ranks, or live trait definitions. Resume nextResultOffset as resultOffset with the same topic. Identifier codes, statuses, environment flags, and distribution terms are available offline. A record status can be the specific reason itself, such as junior subjective synonym, rather than unaccepted. IUCN identifiers are not threat categories; null flags mean not recorded. Trait definitions retain complete-tree preorder indices across pages; parents may be on earlier pages.

Inputs: topic (required), resultOffset. Returns: error, topic, notice, entries, +9 more

worms_resolve_taxonWorms Resolve TaxonA
Read-onlyIdempotent
Inspect

Resolve exact or explicitly fuzzy scientific names, or search one vernacular name as a whole recorded common name or, with vernacularMatch: "contains", as part of one. Names default to marine-or-brackish and extant taxa; vernacular cannot filter. Resume scientific segments with nextInputOffset and nextMatchOffset against unchanged names and options; inputIndex preserves duplicates and partialGroup identifies split groups. For vernacular, consume nextResultOffset within the same upstream offset before advancing page.nextOffset and resetting resultOffset to zero. Full 50-match upstream groups remain completeness-unknown; accepted-name fields do not choose an ambiguous match.

Inputs: fuzzy, names, offset, extantOnly, +6 more. Returns: echo, mode, page, error, +14 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables keyless lookup of marine species and genus names, retrieval of full taxonomic lineages by AphiaID, and common vernacular names across languages via MCP tools.
      306 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables users to query marine species occurrences, WoRMS taxonomy, bathymetric depth profiles, environmental parameters, ocean area statistics, and nearby marine biodiversity through the OBIS API.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Provides access to FishBase marine biology data including species information, ecological data, distribution records, and morphological details. Enables species name validation and conversion between common and scientific names through natural language queries.
      8
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.