gbif-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GBIF_MCP_CACHE | No | Path to the cache directory for gbif-mcp (overrides default ~/.cache/gbif-mcp) |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zoek_soortA | Zoek een soort op wetenschappelijke of Nederlandse naam en geef de GBIF-taxonsleutel(s). Zoekt eerst in het Vlaams Biodiversiteitsportaal (INBO; kent Nederlandse namen), daarna in de
GBIF-backbone en de Belgian Species List. Gebruik de Args: naam: bv. 'vroedmeesterpad', 'Alytes obstetricans', 'Triturus'. max_resultaten: hoogstens dit aantal kandidaten. |
| soort_statusA | Beschermings-, Rode-Lijst- en exotenstatus van één soort in Vlaanderen/België, met bron per vermelding. Raadpleegt de gezaghebbende lijsten op het Vlaams Biodiversiteitsportaal (Soortenbesluit met
categorie 1-3, Habitatrichtlijn bijlagen II/IV/V, Vogelrichtlijn, Bern, Bonn, CITES, Unielijst
invasieve soorten, gevalideerde en niet-gevalideerde Vlaamse Rode Lijsten, IUCN, prioritaire en
provinciaal belangrijke soorten) én de GBIF-checklists (Rode Lijst Vlaanderen, GRIIS België).
Lege Args: soort: Nederlandse of wetenschappelijke naam, of GBIF-taxonKey. |
| waarnemingenA | Waarnemingen van één soort in een gebied en periode (GBIF, België), met datum, locatie, dataset en URL. Gebied opgeven op één van vier manieren: Args:
soort: Nederlandse of wetenschappelijke naam, of GBIF-taxonKey.
adres: bv. 'Kortrijksesteenweg 100, Gent'.
straal_m: straal in meter rond adres of lat/lon (standaard 500).
wkt: bv. 'POLYGON((3.70 51.03,3.75 51.03,3.75 51.07,3.70 51.07,3.70 51.03))'.
gemeente: naam van een Belgische gemeente (GADM).
jaar_van: eerste jaar (inclusief). jaar_tot: laatste jaar (inclusief).
max_resultaten: aantal individuele waarnemingen dat wordt teruggegeven (max 300 per oproep).
offset: startpositie voor paginering (bv. 300 voor de tweede pagina).
dataset_key: beperk tot één GBIF-brondataset (UUID uit |
| soorten_in_gebiedA | Welke soorten zijn in een gebied waargenomen, gekoppeld aan hun beschermings- en Rode-Lijststatus. Typische vraag in m.e.r./passende beoordeling: "welke bijlage IV-soorten en Rode-Lijstsoorten zijn
binnen 750 m van dit perceel gemeld sinds 2020?". Compacte regel per soort (namen, aantal, laatste
jaar, samenvatting van statussen, exotenvlag, coördinaatonzekerheid, broedindicaties);
Args:
adres: adres of plaatsnaam (Digitaal Vlaanderen). straal_m: standaard 500 m.
wkt: POLYGON in WGS84 (lon lat), tegenwijzerzin. gemeente: Vlaamse gemeente (elders: arrondissement).
filter: bv. 'kern', 'beschermd,rodelijst' (standaard), 'hrl_iv_vl', 'invasief', '' voor alles.
per_dataset_per_soort: uitsplitsing van de waarnemingen per brondataset, per soort.
formaat: 'json' (objecten in |
| exporteer_bevragingA | Schrijf een volledige gebiedsbevraging weg als CSV of JSON (alle soorten, optioneel alle records), met metadata. Bestemd voor datarapporten: De soortentabel bevat altijd de uitsplitsing per brondataset: in CSV als de kolommen Args: pad: doelbestand (.csv of .json), absoluut of relatief aan de werkmap van de server. met_records: ook alle individuele GBIF-records van de geselecteerde soorten wegschrijven. ook_niet_commercieel: ook datasets onder CC BY-NC (alleen niet-commercieel gebruik) meenemen. Standaard aan: de uitvoer is bedoeld als intern werkdocument. Zet op False wanneer het resultaat gedeeld of gepubliceerd wordt; dan komen alleen datasets onder CC0 en CC BY mee. |
| telling_in_gebiedA | Hoeveel beschermde, Rode-Lijst- en invasieve soorten zijn in een gebied gemeld — alleen aantallen, snel. Zelfde gebiedsparameters als
Args:
filter: lijst-/groepscodes (zie |
| gebieden_rondA | Beschermde gebieden en gebiedsstatuten rond een punt of polygoon: Natura 2000 (SBZ-H/SBZ-V, Ramsar), VEN/IVON, nationale parken, natuurreservaat-uitbreidingszones, natuurbeheerplannen, natuurrichtplannen, Sigma-natuurdoelen, ANB-domeinen, HPG/beschermde graslanden, Duinendecreet, beschermd erfgoed (landschap, dorpsgezicht, monument) en BWK (habitat, fauna, 3260). Per laag: de gebieden die het punt bevatten of de polygoon overlappen ( Args: adres: adres of plaatsnaam (Digitaal Vlaanderen); of lat/lon (WGS84); of wkt (POLYGON, WGS84 lon lat). straal_m: zoekstraal (standaard 1000 m). lagen: kommagescheiden laag- of groepscodes: natura2000, natuur, beheer, erfgoed, bwk, of losse codes (hrl_gebied, vrl_gebied, ven_ivon, natuurbeheerplan, hpg, bwk_habitat, …). Leeg = alle lagen. max_treffers_per_laag: hoeveel treffers per laag worden teruggegeven (gesorteerd: overlap eerst, dan afstand). |
| kaart_gebiedenA | Situeringskaart: de projectlocatie met de beschermde gebieden eromheen. Tekent de gebieden uit Geeft het bestandspad terug plus de legende (per laag: kleur, aantal getekende vlakken,
status). Een laag met status Args:
pad: doelbestand; |
| datarapport_natuurA | Maak in één stap het vaste DATARAPPORT NATUUR als PDF voor een projectlocatie. Gebruik deze tool wanneer de gebruiker om een datarapport, natuurrapport, bronnenscan of "rapport zoals het vorige" vraagt. Het sjabloon ligt vast, zodat elk rapport dezelfde opbouw heeft: titelblad met coördinaten en beide zoekstralen, samenvatting, situering met kaart(en), statussen in cijfers, kernsoorten met hun herkomst per brondataset, beschermde gebieden en gebiedsstatuten met afstand, de onderliggende waarnemingen van de striktst beschermde soorten, verantwoording van de bronnen (lijstversies, GBIF-zoekopdracht) en beperkingen. Soorten en gebieden hebben elk een eigen zoekstraal; dat is een bewuste keuze die afhangt van het project en het type natuur. Het rapport noemt beide stralen overal expliciet. De kaarten zijn leesbaar zonder kleuronderscheid (nummers en arceringen). Met Na afloop: vat voor de gebruiker kort samen wat het rapport vond (aantal kernsoorten, de striktst beschermde soorten, gebieden waarin of nabij de locatie ligt, waarschuwingen letterlijk) en geef het pad. Voeg niets toe dat niet uit de respons komt. Spreek van strikt of striktst beschermd, nooit van zwaar of zwaarst beschermd. Args:
adres: adres in Vlaanderen (bij voorkeur met huisnummer); of |
| lijstA | Inhoud van één gezaghebbende soortenlijst (Soortenbesluit, HRL-bijlagen, Rode Lijst, Unielijst …). Args:
code: lijstcode uit |
| geocodeer_adresA | Adres of plaatsnaam in Vlaanderen/Brussel -> WGS84-coördinaten en gemeente (Digitaal Vlaanderen, geolocation v4). Args: adres: bv. 'Kortrijksesteenweg 100, 9000 Gent' of 'Bourgoyen, Gent'. |
| dataset_infoA | Herkomst, uitgever, licentie, DOI en citatie van een GBIF-dataset (uit Args: dataset_key: GBIF-dataset-UUID. |
| bronnenA | Overzicht van alle geraadpleegde bronnen en de lijst-/groepscodes voor |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| datarapport_natuur | Vast rapportsjabloon: beschermde soorten, gebiedsstatuten en kaarten rond een projectlocatie, als PDF. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Every tool has a distinct role: single-species status, area species lists, occurrence records, counts, mapping, and report generation are clearly separated. The only mild ambiguity is between `telling_in_gebied` and `soorten_in_gebied`, since both use the same area filters and one could be used instead of the other; the descriptions explicitly position one as a fast count-only path and the other as the detailed list.
Names are readable and mostly follow a descriptive noun-phrase style (`soorten_in_gebied`, `gebieden_rond`, `datarapport_natuur`), but several tools use imperative verbs (`zoek_soort`, `exporteer_bevraging`, `geocodeer_adres`) and others are bare nouns (`lijst`, `bronnen`, `waarnemingen`). There is no consistent verb_noun convention, though the mixed style is still understandable.
Thirteen tools is well within the ideal range and appropriate for a read-only biodiversity reporting domain. Each tool fills a clear workflow stage: species lookup, status, observations, area summaries, protected-area data, mapping, export, and final PDF report generation.
The toolset covers the full query-to-deliverable lifecycle: geocoding, taxon resolution, list/status lookups, occurrence queries, area-based aggregation, protected-area overlays, map generation, data export, and a generated datarapport. For a read-only nature-reporting service, there are no obvious dead ends or missing core operations.