Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IPT_URLNoThe base URL of the IPT server. Defaults to https://ipt.gbif.org.https://ipt.gbif.org
IPT_EMAILNoThe email address used to log in to the IPT.
IPT_PASSWORDNoThe password used to log in to the IPT.
IPT_READONLYNoSet to '1' to make every write operation refuse to run on all IPTs.0
IPT_INSTANCESNoPath to a JSON file, or inline JSON, containing configuration for multiple IPTs. Replaces IPT_URL, IPT_EMAIL, and IPT_PASSWORD.
IPT_ALLOWED_DIRSNoColon-separated list of directories from which local files may be read or uploaded.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ipt_list_instancesA

The IPT servers this MCP can talk to (name, URL, default, whether it has credentials, read-only). Never shows credentials.

ipt_healthA

IPT status (disk, registry/network flags). Public.

ipt_list_datasetsA

List published datasets of the IPT (id, title, version, records, core, DwC-A/EML URLs). Public: private resources do not appear. query matches id and title; with searchMetadata it also looks in each dataset's abstract and keywords ("datasets that mention plants"). A records value of 0 means the IPT inventory reports no count, not necessarily an empty dataset.

ipt_get_metadataA

Fetch a published dataset's EML and return a summary (title, abstract, license, contact count).

validate_tsvA

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.

ipt_list_managed_resourcesA

Resources the configured IPT user can manage (needs IPT_EMAIL/IPT_PASSWORD).

ipt_get_statusA

Status of a resource: visibility, sources (rows/columns), mappings, metadata validity and problems, published/next version.

ipt_validate_resourceA

Pre-flight check before publishing: invalid metadata (per section), missing/unanalysed sources, missing mappings, unmapped required terms. The IPT itself does NOT block these.

ipt_list_extensionsC

Extension row types available for mapping on this resource.

ipt_get_mappingB

Show a mapping: source columns, ID column, the term assignments (mapped terms and required unmapped terms unless all=true), the source columns that are not mapped to any term, and the required terms still unmapped.

ipt_peek_sourceC

First rows of a source as the IPT parsed them.

ipt_get_publication_statusC

State of the latest publication (running/completed/failed) and the tail of the publication log.

ipt_get_metadata_formA

Editable fields (names and current values) of a metadata section, to use with ipt_set_metadata_fields. Sections: basic, contacts, acknowledgements, geocoverage, taxcoverage, tempcoverage, additionalDescription, keywords, project, methods, citations, collections, physical, additional.

ipt_get_draft_emlC

The draft EML the IPT currently holds for the resource.

ipt_get_settingsC

Publication options form (page: auto-publish | publication-settings).

ipt_create_resourceB

[writes to the IPT] Create a resource, empty or importing a Darwin Core Archive (.zip) from a local path.

ipt_set_basic_metadataA

[writes to the IPT] Set title, description, license (cczero | ccby | ccbync), language, update frequency, type. Omitted fields are left as they are.

ipt_set_contactsA

[writes to the IPT] Replace agent lists. The IPT requires at least one contact and one creator; lists not given keep their current rows. Each agent needs a last name, an organisation or a position.

ipt_set_coverageA

[writes to the IPT] Replace geographic, taxonomic and/or temporal coverage (only the ones given).

ipt_set_keywords_methodsC

[writes to the IPT] Replace keyword sets and/or methods (study extent, sampling, quality control, steps).

ipt_set_metadata_fieldsA

[writes to the IPT] Save any metadata section by raw field names (get them with ipt_get_metadata_form). Repeatable items use indexed names such as eml.citation.citation or eml.physicalData[0].name.

ipt_replace_emlB

[writes to the IPT] Replace the resource's metadata with an EML file from a local path.

ipt_add_sourceA

[writes to the IPT] Add a data source: a local file (.txt/.csv/.tsv/.xlsx/.zip), a URL, or an (unconfigured) SQL source. Text files are validated first and refused when they have problems (embedded newlines/tabs, bad encoding, …) unless skipValidation.

ipt_configure_sourceB

[writes to the IPT] Set how a source is parsed (delimiter, quote character, header lines, encoding, date format) and re-analyse it; for SQL sources pass raw fields (host, database, credentials, SQL).

ipt_delete_sourceA

[writes to the IPT] Delete a source (its mappings must be removed first).

ipt_add_mappingA

[writes to the IPT] Map a source to an extension (Occurrence, Taxon, Event, …). The IPT automaps columns by header name. Refuses a second mapping of the same row type unless allowDuplicate (it multiplies published records).

ipt_set_mappingB

[writes to the IPT] Adjust a mapping: columns maps a term (URI, dwc:name or name) to a source column header (null to unmap); defaults gives constant values; idColumn picks the record ID column.

ipt_delete_mappingC

[writes to the IPT] Delete a mapping.

ipt_set_settingsC

[writes to the IPT] Save publication options (page auto-publish: updateFrequency, updateFrequencyDayOfWeek, updateFrequencyDay, updateFrequencyTime, skipUnchanged, …).

ipt_publishA

[writes to the IPT] Validate then publish a new version (DwC-A + EML). Refuses when the pre-flight finds problems. Waits for completion by default. Note: making a resource public also needs a publication to take effect.

ipt_set_visibilityC

[writes to the IPT] Request public/private visibility. The IPT applies the change at the next publication (a new version).

ipt_delete_resourceA

[writes to the IPT] Delete a resource from the IPT (never touches the GBIF registry).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 32 tools

Disambiguation4/5

Tools are broadly distinct: reads vs writes, resources vs mappings vs metadata, and validation stages are clearly separated. The main ambiguity is that several specialized metadata setters (basic, contacts, coverage, keywords/methods) overlap with the generic ipt_set_metadata_fields, so an agent could choose either route.

Naming Consistency4/5

The dominant pattern is ipt_<verb>_<noun>, with list for collections and get for single items. Minor deviations include `ipt_health` with no verb, `validate_tsv` lacking the ipt_ prefix, and `ipt_publish` being a bare verb.

Tool Count2/5

At 32 tools, the server is above the 25+ threshold and feels heavy for an agent to navigate. Several specialized metadata setters duplicate the generic ipt_set_metadata_fields and could be consolidated without losing functionality.

Completeness4/5

The surface covers the full publish lifecycle: create resources, add/configure sources, map terms, validate, publish, change visibility, and delete resources. Minor gaps exist, such as refreshing an existing URL source or directly downloading a published archive, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues