Skip to main content
Glama

gbif-mcp-server

Server Details

Search GBIF species taxonomy, occurrence records, datasets, and publishers.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cyanheads/gbif-mcp-server
GitHub Stars
1

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 12 of 12 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool clearly targets a distinct operation on a specific resource type (occurrences, species, datasets, publishers). For example, count_occurrences, search_occurrences, and occurrence_facets serve different purposes (counting, searching, aggregating), and get_species vs search_species vs match_species are well-differentiated. No two tools have overlapping functionality.

Naming Consistency4/5

All tools use the 'gbif_' prefix and mostly follow a verb_noun pattern (e.g., gbif_count_occurrences, gbif_get_dataset, gbif_search_occurrences). The only minor deviation is gbif_occurrence_facets, which places the verb second; however, the pattern is still highly recognizable and consistent overall.

Tool Count5/5

With 12 tools covering search, retrieval, counting, faceting, and matching across occurrences, species, datasets, and publishers, the tool count is well-proportioned to the server's purpose. Each tool addresses a specific need without redundancy or bloat.

Completeness5/5

The tool set covers the essential GBIF operations: name resolution (match_species), occurrence search and counting (search_occurrences, count_occurrences, occurrence_facets), species taxonomy (get_species, get_species_children, get_species_classification, search_species), dataset and publisher metadata (search_datasets, get_dataset, search_publishers), and detailed occurrence records (get_occurrence). No obvious dead ends or missing operations for typical biodiversity queries.

Available Tools

12 tools
gbif_count_occurrencesCount OccurrencesA
Read-onlyIdempotent
Inspect

Count occurrences matching a taxon + location filter without fetching records. Use for quick totals ("how many Aves records in Sweden?") or before deciding whether to paginate a full search. Accepts taxonKey, country, isGeoreferenced, datasetKey, and year.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoYear or year range (e.g., "2024" or "2020,2024").
countryNoISO 3166-1 alpha-2 country code (e.g., "GB", "US").
taxonKeyNoGBIF backbone taxon key from gbif_match_species.
datasetKeyNoFilter to a specific dataset UUID.
isGeoreferencedNoWhen true, count only georeferenced records. When false, count only non-georeferenced records.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesTotal occurrences matching the supplied filters.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint true, so safety is clear. Description adds that counts are without fetching records, but otherwise does not disclose additional behavioral details beyond schema.

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 with no unnecessary words. Purpose is front-loaded, and the example adds clarity without 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?

Given the availability of an output schema (not shown but indicated), the description sufficiently covers purpose, use case, and parameters. Could mention if count is approximate, but not essential.

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 each parameter. Description lists parameter names but adds no additional meaning or example values beyond what schema provides.

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?

Description clearly states 'Count occurrences' (verb+resource) and distinguishes from fetching by 'without fetching records'. Includes concrete examples ('how many Aves records in Sweden?') and differentiates from sibling search tool.

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?

Explicitly states use for 'quick totals' and 'before deciding whether to paginate a full search', providing clear usage context. Does not explicitly mention when not to use, but the alternative is implied.

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

gbif_get_datasetGet DatasetA
Read-onlyIdempotent
Inspect

Fetch full dataset metadata by UUID key — title, description, citation text, contacts, license, DOI, numConstituents (sub-datasets), and temporal/geographic coverage. Use after gbif_search_datasets or when an occurrence record's datasetKey needs provenance detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
datasetKeyYesDataset UUID from gbif_search_datasets or an occurrence record.

Output Schema

ParametersJSON Schema
NameRequiredDescription
doiNoDOI for citation. May be absent.
keyNoDataset UUID.
typeNoDataset type (OCCURRENCE, CHECKLIST, etc.).
titleNoDataset title.
licenseNoLicense identifier. May be absent.
contactsNoDataset contacts. May be absent.
descriptionNoFull dataset description. May be absent.
recordCountNoNumber of records in the dataset. May be absent.
citationTextNoFull citation text for academic reference. May be absent.
numConstituentsNoNumber of constituent sub-datasets. May be absent.
publishingCountryNoCountry code of the publishing organization.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by listing the metadata fields returned (title, citation, contacts, etc.), which provides useful behavioral context beyond the annotations.

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: the first states the core function and outputs, the second gives usage context. Every word is purposeful, front-loaded with key 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?

With only one parameter and an output schema (assumed present), the description adequately covers what the tool does, what it returns, and when to use it. No gaps identified.

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 single parameter datasetKey is well-described in the schema as 'Dataset UUID...'. The description adds extra context by specifying it comes from gbif_search_datasets or an occurrence record, enhancing understanding beyond 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?

Description clearly states 'Fetch full dataset metadata by UUID key' and lists specific fields returned. It distinguishes from sibling tools by explicitly saying to use after gbif_search_datasets or when needing provenance detail for a datasetKey.

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?

Provides clear context: 'Use after gbif_search_datasets or when an occurrence record's datasetKey needs provenance detail.' Does not explicitly state when not to use, but the guidance is sufficient for correct tool selection.

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

gbif_get_occurrenceGet Occurrence RecordA
Read-onlyIdempotent
Inspect

Fetch a single occurrence record by its GBIF occurrence key. Returns the complete Darwin Core record — all coordinates, administrative geography (GADM), dates, collections metadata, collector identifiers, media links, and quality issue flags. Use the occurrence key from gbif_search_occurrences results to fetch full detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
occurrenceKeyYesGBIF occurrence key from gbif_search_occurrences results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dayNoObservation day. May be absent.
keyNoGBIF occurrence key.
sexNoSex of the individual(s). May be absent.
yearNoObservation year. May be absent.
genusNoGenus classification.
mediaNoAssociated media (images, audio, video). May be absent.
monthNoObservation month (1–12). May be absent.
orderNoOrder classification.
familyNoFamily classification.
issuesNoGBIF data quality issue flags.
phylumNoPhylum classification.
countryNoCountry name. May be absent.
kingdomNoKingdom classification.
speciesNoSpecies canonical name.
localityNoLocality description. May be absent.
taxonKeyNoBackbone taxon key.
continentNoContinent name. May be absent.
eventDateNoObservation date as ISO 8601 string. May be absent.
lifeStageNoLife stage of the individual(s). May be absent.
taxonRankNoTaxonomic rank of the identified taxon.
datasetKeyNoUUID of the source dataset.
recordedByNoCollector name(s). May be absent.
countryCodeNoISO 3166-1 alpha-2 country code. May be absent.
identifiedByNoIdentifier name(s). May be absent.
basisOfRecordNoHow the occurrence was recorded.
canonicalNameNoCanonical name without authorship.
catalogNumberNoCatalog number within the collection. May be absent.
stateProvinceNoState or province. May be absent.
collectionCodeNoCollection code within the institution. May be absent.
scientificNameNoScientific name from occurrence record.
decimalLatitudeNoLatitude in decimal degrees (WGS84). May be absent.
individualCountNoNumber of individuals. May be absent.
institutionCodeNoCode of the contributing institution. May be absent.
decimalLongitudeNoLongitude in decimal degrees (WGS84). May be absent.
publishingCountryNoCountry code of the publishing organization.
coordinateUncertaintyInMetersNoCoordinate uncertainty radius in meters. May be absent.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds value by detailing return fields (coordinates, GADM, dates, etc.) and quality flags, informing agent of data richness. No contradictions.

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, no superfluous words. First sentence states action and key, second enumerates return components and usage guidance. Very efficient.

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 simplicity (1 param, read-only, idempotent) and presence of an output schema, description provides adequate context: workflow from sibling tool, range of return fields. No gaps for safe usage.

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?

Single parameter occurrenceKey is fully described in input schema with 100% coverage. Description reinforces schema but does not add new semantic information beyond what schema provides. 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?

Description clearly states it fetches a single occurrence by key. Distinguishes from sibling search tool by specifying use of output key from gbif_search_occurrences. Lists return content (Darwin Core fields), providing specific verb and resource.

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?

Explicitly instructs to use occurrence key from gbif_search_occurrences results, establishing a clear workflow. No explicit when-not-to-use, but context from sibling names indicates alternatives for counting or other searches.

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

gbif_get_speciesGet Species RecordA
Read-onlyIdempotent
Inspect

Fetch a single backbone taxon by its GBIF taxon key. Returns full classification, authorship, taxonomic status, vernacular name, descendant count, and publication reference. Use after gbif_match_species when you need the complete record rather than the match summary. When taxonomicStatus is SYNONYM, acceptedKey and accepted fields identify the accepted taxon. The extinct field is absent (not false) on most records — only present on explicitly flagged taxa.

ParametersJSON Schema
NameRequiredDescriptionDefault
taxonKeyYesGBIF backbone taxon key from gbif_match_species or another taxonomy tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyNoGBIF backbone taxon key.
rankNoTaxonomic rank (SPECIES, GENUS, FAMILY, etc.).
classNoClass classification.
genusNoGenus classification.
orderNoOrder classification.
familyNoFamily classification.
parentNoName of the immediate parent taxon.
phylumNoPhylum classification.
extinctNoTrue when the taxon is explicitly flagged as extinct. Absent on most records.
kingdomNoKingdom classification.
speciesNoSpecies canonical name.
acceptedNoScientific name of the accepted taxon when this record is a synonym.
classKeyNoTaxon key for the class.
genusKeyNoTaxon key for the genus.
orderKeyNoTaxon key for the order.
familyKeyNoTaxon key for the family.
parentKeyNoTaxon key of the immediate parent.
phylumKeyNoTaxon key for the phylum.
authorshipNoTaxonomic authorship of the name.
kingdomKeyNoTaxon key for the kingdom.
speciesKeyNoTaxon key for the species.
acceptedKeyNoBackbone key of the accepted taxon when this record is a synonym.
publishedInNoOriginal description citation when available.
canonicalNameNoScientific name without authorship.
numDescendantsNoCount of child taxa in the backbone under this taxon.
numOccurrencesNoOccurrence record count in GBIF.
scientificNameNoFull scientific name with authorship.
vernacularNameNoEnglish common name when available.
taxonomicStatusNoACCEPTED, SYNONYM, DOUBTFUL, etc. SYNONYM means acceptedKey/accepted are populated.
Behavior5/5

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

Annotations already indicate readOnly and idempotent. Description adds beyond: returns full classification, authorship, taxonomic status, etc. Also explains synonym handling and extinct field behavior, which annotations do not cover.

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, each serving a distinct purpose: purpose/what returned, usage guidance, behavioral note. No wasted words, 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?

Given single parameter, high schema coverage, rich annotations, and output schema, the description covers all necessary context: when to use, what returns, key behavioral nuances.

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 only parameter 'taxonKey' is fully described in schema. The description adds provenance context ('from gbif_match_species or another taxonomy tool'), providing additional meaning beyond 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 starts with a specific verb 'Fetch' and the resource 'single backbone taxon by its GBIF taxon key'. It clearly distinguishes from sibling gbif_match_species by stating it is used after that tool for a complete record.

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?

Explicitly states when to use: 'Use after gbif_match_species when you need the complete record rather than the match summary.' This provides clear context and differentiates from sibling.

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

gbif_get_species_childrenGet Species ChildrenA
Read-onlyIdempotent
Inspect

List direct children of a backbone taxon — genera within a family, species within a genus, subspecies within a species. Paginated. Use gbif_match_species to get the taxonKey first, then iterate with offset for large groups.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of children to return (default 20, max 1000).
offsetNoPagination offset.
taxonKeyYesGBIF backbone taxon key from gbif_match_species or another taxonomy tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesRecords returned in this page.
offsetYesCurrent pagination offset.
childrenYesDirect child taxa.
endOfRecordsYesTrue when there are no more results after this page.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. Description adds pagination behavior (limit, offset). No contradictions.

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, front-loaded with purpose, no wasted words. Efficient and clear.

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?

Output schema exists, so return values are covered. Description covers usage pattern and pagination. Enough for a simple list tool.

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 coverage is 100%, so baseline 3 applies. Description adds the context that taxonKey comes from gbif_match_species but doesn't provide additional semantics beyond 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?

Description uses specific verb 'List' and resource 'direct children of a backbone taxon', with concrete examples (genera within a family, etc.). Clearly distinguishes from siblings by implying children vs. classification or match.

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?

Explicitly states prerequisite to use gbif_match_species first and mentions pagination with offset. Lacks explicit when-not or alternatives, but the context is clear.

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

gbif_get_species_classificationGet Species ClassificationA
Read-onlyIdempotent
Inspect

Return the complete parent chain for a taxon — from kingdom (or domain) down to the taxon itself — as an ordered array. Each entry has its rank, canonical name, and taxon key. The array is returned root-first (kingdom → phylum → class → … → parent of given taxon). Useful for building taxonomic trees or understanding placement without navigating the backbone level-by-level.

ParametersJSON Schema
NameRequiredDescriptionDefault
taxonKeyYesGBIF backbone taxon key from gbif_match_species or another taxonomy tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription
classificationYesClassification chain ordered from root (kingdom) to the immediate parent of the queried taxon.
Behavior5/5

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

Discloses that the array is ordered root-first, which is key behavioral info not in annotations. Adds context about entry content (rank, name, key). No contradiction with annotations.

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?

Concise, front-loaded with the main purpose, and no extraneous information. Every sentence adds value.

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 presence of an output schema, the description adequately covers return format and ordering. Provides sufficient context for usage.

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?

With 100% schema coverage, description adds value by specifying the source of the taxon key (e.g., gbif_match_species), aiding parameter selection.

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 action: 'Return the complete parent chain for a taxon.' Differentiates from siblings by specifying it returns the ancestor chain, not children or matching.

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?

Provides a clear use case: 'building taxonomic trees or understanding placement.' Implicitly suggests when to use but does not explicitly exclude alternatives or mention when not to use.

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

gbif_match_speciesMatch Species NameA
Read-onlyIdempotent
Inspect

Match a scientific name against the GBIF backbone taxonomy. Returns the best-matching taxon with full classification and a confidence score (0–100). This is the mandatory first step for any GBIF workflow — it resolves synonyms and returns the backbone taxonKey required by gbif_search_occurrences, gbif_count_occurrences, and gbif_occurrence_facets. Below confidence 80, the match should be reviewed. matchType NONE means no usable match was found — try removing the strict flag or broadening the name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesScientific name to match. Examples: "Parus major", "Agaricus bisporus", "Homo sapiens". Fuzzy matching handles minor spelling variations. Common names are not supported — use gbif_search_species for vernacular name searches.
rankNoExpected taxonomic rank. Use to avoid matching a genus when you expect a species.
strictNoWhen true, only return an exact match. When false (default), GBIF applies fuzzy matching — useful for misspellings and vernacular names.
kingdomNoNarrow the match to a specific kingdom (e.g., "Animalia", "Plantae", "Fungi") to disambiguate names that appear in multiple kingdoms.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rankNoTaxonomic rank of the matched taxon.
classNoClass of the matched taxon.
genusNoGenus of the matched taxon.
orderNoOrder of the matched taxon.
familyNoFamily of the matched taxon.
phylumNoPhylum of the matched taxon.
statusNoTaxonomic status: ACCEPTED, SYNONYM, or DOUBTFUL.
kingdomNoKingdom of the matched taxon.
speciesNoSpecies canonical name of the matched taxon.
classKeyNoBackbone taxon key for the class.
genusKeyNoBackbone taxon key for the genus.
orderKeyNoBackbone taxon key for the order.
taxonKeyNoGBIF backbone taxon key. Use this in downstream tools. Absent when matchType is NONE.
familyKeyNoBackbone taxon key for the family.
matchTypeNoEXACT, FUZZY, HIGHERORDER, or NONE. NONE means no usable match.
phylumKeyNoBackbone taxon key for the phylum.
confidenceNoMatch confidence score 0–100. Below 80 warrants review.
kingdomKeyNoBackbone taxon key for the kingdom.
speciesKeyNoBackbone taxon key for the species.
canonicalNameNoScientific name without authorship.
scientificNameNoFull scientific name with authorship.
Behavior5/5

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

Annotations (readOnlyHint, idempotentHint) already indicate no side effects. Description supplements with synonym resolution, fuzzy matching, strict flag behavior, and match type interpretation. No contradictions.

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?

Compact 4-sentence description. Front-loaded with core function, then key usage and edge cases. Every sentence adds value without redundancy.

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?

Complete for a lookup tool with good annotations and output schema. Covers mandatory usage, confidence handling, fallback behavior, and sibling differentiation. No gaps.

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?

Schema coverage is 100% with descriptions for all params. Description adds value with examples for 'name', explains 'rank' enum purpose, and clarifies 'strict' and 'kingdom' usage. Slightly exceeds baseline.

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?

Clear verb 'Match' and specific resource 'scientific name against GBIF backbone taxonomy'. Differentiates from siblings like gbif_search_species (vernacular name search) and gbif_search_occurrences (needs taxonKey).

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?

Explicitly states 'mandatory first step for any GBIF workflow' and lists downstream tools requiring the returned taxonKey. Provides guidance on confidence threshold (<80) and matchType NONE escalation. Mentions alternative for vernacular names.

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

gbif_occurrence_facetsOccurrence Facet AggregationA
Read-onlyIdempotent
Inspect

Aggregate occurrence counts across a dimension (COUNTRY, YEAR, BASIS_OF_RECORD, DATASET_KEY, KINGDOM_KEY, etc.). Returns the top-N facet values ranked by count — no record payloads returned. Core tool for distribution analysis and trend queries: "which countries have the most records for this species?", "how has observation volume changed since 2010?". Scope the aggregation with taxonKey, country, year, geometry, or basisOfRecord filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoYear or year range (e.g., "2020,2024") to scope the aggregation.
facetYesDimension to aggregate by (e.g., COUNTRY, YEAR, BASIS_OF_RECORD, SPECIES_KEY).
countryNoISO 3166-1 alpha-2 country code to scope to one country.
geometryNoWKT polygon to scope the aggregation to a geographic area (e.g., POLYGON((8 47, 9 47, 9 48, 8 48, 8 47))). Coordinates are longitude latitude.
taxonKeyNoBackbone taxon key to scope the aggregation.
facetLimitNoMaximum number of facet values to return (default 10, max 100).
basisOfRecordNoScope to a specific basis of record.

Output Schema

ParametersJSON Schema
NameRequiredDescription
facetYesThe facet dimension aggregated.
countsYesFacet values ranked by count descending (top facetLimit entries).
totalOccurrencesYesTotal matching occurrences across all facet values.
Behavior4/5

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

Annotations already indicate readOnly and idempotent. The description adds that it returns only counts (no records) and ranked top-N facet values, providing behavioral context beyond annotations.

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 concise sentences with no superfluous information. Front-loaded with the core function and examples.

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?

Given 7 parameters and an output schema, the description covers purpose, usage guidance, and key behaviors. It is complete enough for an agent to decide when to invoke this tool.

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 baseline is 3. The description lists filter options collectively but doesn't add significant new semantics beyond the schema parameter 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 clearly states it aggregates occurrence counts across dimensions like COUNTRY, YEAR, etc., and returns top-N values. It distinguishes from siblings like search_occurrences by stating 'no record payloads returned', making its purpose distinct.

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?

Explicitly states it's the 'core tool for distribution analysis and trend queries' and gives example questions. Implies when to use this tool over record-level searches, though does not explicitly list alternatives.

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

gbif_search_datasetsSearch DatasetsA
Read-onlyIdempotent
Inspect

Search GBIF datasets by keyword, type, country, or publishing organization. Returns dataset title, description, license, record count, and DOI. Use to find the source dataset behind a set of records, or to explore what data collections are available for a taxon, country, or organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search across dataset title and description.
typeNoFilter by dataset type. OCCURRENCE for observation records, CHECKLIST for species lists.
limitNoNumber of datasets to return (default 20, max 1000).
offsetNoPagination offset.
hostingOrgNoUUID of the hosting organization. From gbif_search_publishers results.
publishingCountryNoISO 3166-1 alpha-2 country code of the publishing organization.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesDatasets returned in this page.
offsetYesCurrent pagination offset.
datasetsYesMatching datasets.
totalCountYesTotal matching datasets before pagination.
endOfRecordsYesTrue when there are no more results after this page.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool's safety is clear. The description adds that it returns specific fields, which is useful but not required beyond annotations. No contradictions.

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: first sentence covers action and return fields, second gives use cases. It is front-loaded and concise, with no wasted words.

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?

Given 6 parameters, an output schema, and no required params, the description covers the tool's purpose and return fields. It could mention pagination or result ordering, but is largely complete for a search tool.

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 parameter descriptions (e.g., type enum explanations). The description mentions keyword, type, country, and organization, aligning with schema, but adds no extra meaning beyond that. Baseline 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 'Search GBIF datasets by keyword, type, country, or publishing organization' with a clear verb and resource. It lists return fields and provides use cases, effectively distinguishing from siblings like gbif_get_dataset.

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 explicit contexts for use: 'find the source dataset behind a set of records' or 'explore what data collections are available.' However, it does not mention when not to use it or point to alternatives like gbif_get_dataset for specific datasets.

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

gbif_search_occurrencesSearch OccurrencesA
Read-onlyIdempotent
Inspect

Search 2.4B+ GBIF occurrence records with Darwin Core filters. Use taxonKey from gbif_match_species for reliable results — it resolves synonyms automatically. Accepts country (ISO 3166-1 alpha-2), bounding box (decimalLatitude/decimalLongitude ranges), WKT polygon geometry, year range, month, basis of record, and coordinate filter. Pagination is capped at approximately offset+limit=100,000 — use gbif_occurrence_facets for aggregate counts across large result sets.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoYear or year range. Single year: "2024". Range: "2020,2024". Filters by observation year.
limitNoNumber of records to return (default 20, max 300).
monthNoCalendar month (1–12). Useful for seasonal distribution queries.
offsetNoPagination offset. GBIF caps offset+limit at approximately 100,000 — use gbif_occurrence_facets for aggregate analysis beyond this.
countryNoISO 3166-1 alpha-2 country code (e.g., "GB", "US", "DE", "SE").
geometryNoWKT polygon for geographic filtering (e.g., POLYGON((8 47, 9 47, 9 48, 8 48, 8 47))). Coordinates are longitude latitude. Takes precedence over decimalLatitude/decimalLongitude.
taxonKeyNoGBIF backbone taxon key from gbif_match_species. Preferred over scientificName — matches all synonyms automatically.
isInClusterNoFilter to records flagged as likely duplicates (true) or exclude them (false). Omit to include all.
basisOfRecordNoFilter by how the occurrence was recorded. HUMAN_OBSERVATION covers citizen science. PRESERVED_SPECIMEN covers natural history collections.
hasCoordinateNoWhen true, return only georeferenced records. When false, include records without coordinates.
scientificNameNoScientific name filter. Less precise than taxonKey — does not match synonyms. Use taxonKey from gbif_match_species for reliable results.
decimalLatitudeNoLatitude range as "min,max" (e.g., "47.0,48.5"). Decimal degrees, WGS84. Combine with decimalLongitude for a bounding box.
decimalLongitudeNoLongitude range as "min,max" (e.g., "8.0,9.5"). Decimal degrees, WGS84. Combine with decimalLatitude for a bounding box.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesRecords returned in this page.
offsetYesCurrent pagination offset.
totalCountYesTotal matching occurrences before pagination.
occurrencesYesOccurrence records matching the filters.
endOfRecordsYesTrue when there are no more results after this page.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. Description adds valuable behavioral details: pagination cap behavior, taxonKey resolves synonyms automatically, geometry takes precedence over coordinates, and specific basisOfRecord examples. No contradictions with annotations.

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, each serving a purpose: first explains core function and filter range, second gives usage tip and enumerates filters, third notes pagination limit and alternative. Front-loaded with key information, 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?

Tool has 13 parameters and an output schema exists (so return format is handled). Description covers essential behaviors: pagination cap, taxon resolution, filter interactions, and links to sibling tools. Could mention default behavior if no filters provided, but overall complete for a complex tool.

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?

All 13 parameters have descriptions in the schema (100% coverage). Description adds context beyond schema: explains that country uses ISO 3166-1 alpha-2, geometry precedence over decimalLatitude/decimalLongitude, taxonKey preferred over scientificName, and examples for basisOfRecord (e.g., 'HUMAN_OBSERVATION covers citizen science').

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?

Description clearly states 'Search 2.4B+ GBIF occurrence records with Darwin Core filters', specifying verb (search), resource (occurrence records), and scope (2.4B+ records, Darwin Core filters). It also distinguishes from siblings by mentioning gbif_occurrence_facets for aggregate counts and gbif_match_species for taxon matching.

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?

Provides explicit guidelines: use taxonKey from gbif_match_species for reliable results, pagination cap at approximately offset+limit=100,000, and advises using gbif_occurrence_facets for aggregate analysis beyond this cap. Clearly states when to use this tool and when to use the alternative.

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

gbif_search_publishersSearch PublishersA
Read-onlyIdempotent
Inspect

Search organizations registered with GBIF by name fragment or country. Returns organization key, title, and country — sufficient to chain into gbif_search_datasets with hostingOrg, or to understand who publishes data for a region.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoName fragment to search for. Matches organization names.
limitNoNumber of organizations to return (default 20, max 1000).
offsetNoPagination offset.
countryNoISO 3166-1 alpha-2 country code to filter organizations by country.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesOrganizations returned in this page.
offsetYesCurrent pagination offset.
publishersYesMatching organizations.
totalCountYesTotal matching organizations before pagination.
endOfRecordsYesTrue when there are no more results after this page.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to repeat safety traits. It adds value by stating that the tool returns sufficient information for chaining, which is a behavioral clue beyond annotations. No contradictions.

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 action and key return fields. Every clause earns its place, providing purpose, parameters, and usage guidance without verbosity.

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 moderate complexity (4 parameters, no required, output schema present), the description completely covers the necessary context: what it does, what it returns, and how to use it in a workflow. No gaps remain.

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 description adds little beyond what the schema already provides for parameters. The description reiterates that 'q' matches organization names and 'country' is an ISO code, but this is already in the schema. No new semantic meaning is added.

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 it searches organizations by name fragment or country, and specifies the return fields (key, title, country). It distinguishes itself from sibling tools like gbif_search_datasets by highlighting that it can be chained with that tool.

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?

The description explicitly states when to use this tool: to search for publishers, and how to chain results into gbif_search_datasets using hostignOrg. It also gives the alternative purpose of understanding who publishes data for a region, providing clear context for use.

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

gbif_search_speciesSearch Species TaxonomyA
Read-onlyIdempotent
Inspect

Search or browse the GBIF backbone taxonomy. Accepts scientific name fragments, rank filters, and higher-taxon constraints. Useful for exploring what species exist under a higher taxon (e.g., "list all families of Coleoptera"), for simple name-fragment searches, or when gbif_match_species returns too narrow a result. Paginated — use limit and offset to walk through results.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoName fragment to search for. Matches scientific and vernacular names.
rankNoFilter to a specific taxonomic rank.
genusNoScope search to a genus name.
limitNoNumber of records to return (default 20, max 1000).
familyNoScope search to a family name.
offsetNoPagination offset.
kingdomNoScope search to a kingdom (e.g., "Animalia", "Plantae").
isExtinctNoFilter to extinct (true) or extant (false) taxa.
datasetKeyNoScope to a specific checklist dataset UUID. Omit to search the GBIF backbone.

Output Schema

ParametersJSON Schema
NameRequiredDescription
taxaYesMatching taxa.
limitYesRecords returned in this page.
offsetYesCurrent pagination offset.
totalCountYesTotal matches before pagination.
endOfRecordsYesTrue when there are no more results after this page.
Behavior5/5

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

The description discloses pagination behavior (use limit and offset) and that it searches the backbone taxonomy, adding value beyond the readOnlyHint and idempotentHint annotations. No contradictions.

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 tightly packed sentences, each earning its place: purpose, usage guidance, and pagination detail. Front-loaded and efficient.

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 complexity (9 parameters with full schema coverage, output schema present), the description covers purpose, usage scenarios, pagination, and sibling differentiation. No gaps for a search tool of this kind.

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?

With 100% schema description coverage, the description adds some value by clarifying that q matches both scientific and vernacular names, and provides an example use with rank. It slightly enhances understanding beyond 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 clearly states the tool searches or browses the GBIF backbone taxonomy, lists accepted inputs (name fragments, rank filters, higher-taxon constraints), and distinguishes itself from the sibling gbif_match_species by noting it is useful when that tool returns too narrow a result.

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?

The description explicitly provides use cases (exploring species under a higher taxon, simple name-fragment searches) and contrasts with the sibling gbif_match_species, guiding when to use this tool instead.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.