# Species MCP

> Species MCP Server accesses the GBIF Backbone Taxonomy, letting your AI agent search, match, and map millions of biological species records instantly. You can retrieve full taxonomic hierarchies, detailed descriptions, literature references, and associated media—all without leaving your chat window.

## Overview
- **Category:** knowledge-management
- **Price:** Free
- **Tags:** biodiversity, taxonomy, biology, gbif, species-data

## Description

This server connects your agent directly to the **GBIF Backbone Taxonomy**, which is one of the world's biggest databases for biological names. It gives your AI client a full-on digital biologist’s kit, letting it handle complex classification queries that usually mean jumping between a bunch of specialized websites.

**To figure out what an organism is:** You can run `match_species` to take a scientific name you've got and compare it against the entire GBIF database. This nails down the exact matching record and ID, even if the spelling was off. If you just want to search generally, use `search_species`; this tool lets your agent run flexible searches for species or higher taxa using simple keywords across the whole taxonomy. Need a quick check? Type out a name and let your agent hit `suggest_species` for autocomplete suggestions.

**To map relationships in the tree of life:** You can track an organism’s entire lineage. Use `get_species_parents` to list the direct parent taxa—like the genus or family—that contain the specific species ID you're looking at. Conversely, if you need to know what comes next, `get_species_children` lists all child taxa (think subspecies or genera) belonging to a specified parent taxon. This lets your agent build out the full map from top to bottom.

**To gather deep biological context:** You get way more than just names here. Use `get_species_descriptions` to pull detailed written descriptions and habitat notes for any species ID. For history, `get_species_synonyms` provides a complete list of alternate, obsolete, or historical names used for that species. If you need the academic backing, `get_species_references` finds and lists scientific literature citations related to the taxon. Finally, if your client needs to know everything about one specific organism, it can run `get_species` to pull all the detailed information associated with that unique ID.

**To gather evidence:** You don't just get text; you get visuals too. Use `get_species_media` to retrieve every associated image, photo, and multimedia record linked straight to the species data set. This means your agent can pair up written findings with actual visual proof of life.

It’s all about building a complete profile: You can run broad searches using keywords via `search_species`, then use `get_species` to retrieve the core details, cross-reference it with `get_species_synonyms` and `get_species_references` for context, trace its lineage with tools that access both parents (`get_species_parents`) and children (`get_species_children`), pull all the related media using `get_species_media`, and get the detailed written notes from `get_species_descriptions`. Your agent handles the entire workflow—from initial identification to full documentation, without leaving your chat window.

## Tools

### get_species_children
Lists all child taxa (subspecies, genera) belonging to a specified parent taxon.

### get_species_descriptions
Pulls the detailed written descriptions and habitat notes for any given species ID.

### get_species
Retrieves detailed information for a specific species ID from the database.

### match_species
Compares a user-provided scientific name against the GBIF database to find the precise matching record and ID.

### get_species_media
Retrieves all associated images, photos, and multimedia records linked to a specific species.

### get_species_parents
Lists the direct parent taxa (genus or family) that contain the specified species ID.

### get_species_references
Finds and lists scientific literature citations related to a specific taxon.

### search_species
Runs flexible searches for species or higher taxa using keywords across the entire taxonomy.

### suggest_species
Provides quick, autocomplete-style suggestions of scientific names as you type them out.

### get_species_synonyms
Provides an exhaustive list of alternate, obsolete, or historical names for the species ID.

## Prompt Examples

**Prompt:** 
```
Search for the scientific name and details of the 'Red Panda'.
```

**Response:** 
```
I found a match: *Ailurus fulgens* (ID: 2433668). It belongs to the family Ailuridae. Would you like to see its full taxonomic hierarchy or available media?
```

**Prompt:** 
```
List all child taxa for the genus 'Panthera'.
```

**Response:** 
```
Retrieving children for *Panthera* (ID: 2435194)... I've found several species including *Panthera leo* (Lion), *Panthera tigris* (Tiger), and *Panthera onca* (Jaguar).
```

**Prompt:** 
```
Get descriptions and synonyms for the taxon with ID 5231190.
```

**Response:** 
```
For Taxon ID 5231190 (*Monachus monachus*), I have retrieved 3 synonyms and detailed descriptions regarding its habitat and conservation status. Would you like me to summarize the text?
```

## Capabilities

### Identify unknown species
Match an unverified or misspelled scientific name against the global database to confirm its identity.

### Map taxonomic relationships
Build a full lineage map by listing both parent taxa and all descendant child taxa for any given species.

### Retrieve detailed biological context
Extract full text descriptions, known synonyms, and scientific literature citations associated with a specific taxon ID.

### Search by broad criteria
Run broad searches for species or higher taxa using keywords, rather than needing an exact name.

### Gather visual evidence
Pull images and media records directly linked to the species data set.

## Use Cases

### Validating a new specimen photo
A field biologist photographs an unknown insect. They ask their agent: 'What is this?' The agent first runs `match_species` on the common name, confirming the scientific ID. Then it uses `get_species_media` to pull back historical images and `get_species_descriptions` to give a habitat report for the final client presentation.

### Mapping a genus's evolution
A student needs to chart all related species in the Panthera genus. They start by running `search_species` on 'Panthera'. Next, they use `get_species_children` repeatedly to list every known descendant, building an accurate family tree for their poster board.

### Writing a conservation report
An ecologist is writing about habitat loss. They input the species ID and run three tools: `get_species_synonyms` (to show historical names), `get_species_references` (to cite academic warnings), and `get_species_descriptions` (for current status). This creates a citation-ready, authoritative section.

### Cross-referencing taxonomy
A developer needs to ensure their application uses the most accurate name. They use `suggest_species` for quick suggestions and then verify with `get_species`, which provides all the core metadata (ID, family, description) in one go before committing the data to their database.

## Benefits

- Stop manually jumping between different databases. Running `match_species` first confirms the exact scientific ID, which you then feed into every other tool for consistent results.
- You get a complete lineage map by chaining `get_species_parents` and `get_species_children`. You can literally trace how a species branched off from its ancestors, down to the subspecies level.
- Don't rely on single-source data. Use `get_species_synonyms` alongside `get_species_descriptions` to get both the historical context *and* the current accepted biological notes for an organism.
- Visual evidence is key in reports. The `get_species_media` tool instantly pulls all associated images, letting you build a report that's both text-heavy and visually backed up.
- Validation is instant. If you aren't sure if 'Red Panda' is the right name, use `search_species`. It handles fuzzy input and gives you multiple options to choose from.

## How It Works

The bottom line is, you don't need to visit multiple academic websites; your agent does the whole database query sequence for you.

1. Subscribe to the Species MCP Server, configuring your access method (Public or API Key).
2. Your AI client runs a tool like `match_species` with an initial query (e.g., 'Red Panda').
3. The server returns the precise scientific name and ID. You then chain calls—like using `get_species_descriptions`—to get all necessary details.

## Frequently Asked Questions

**How do I confirm a name with match_species?**
The `match_species` tool compares any common or scientific name against the global GBIF taxonomy. It returns the confirmed scientific name and ID, which you must use in all subsequent calls for accuracy.

**Do I need to call multiple tools like get_species_synonyms and get_species_descriptions?**
Yes. These tools are separate because they contain different types of information. You need both `get_species_synonyms` for historical names, and `get_species_descriptions` for current habitat notes.

**What is the difference between search_species and suggest_species?**
`suggest_species` gives you quick autocomplete suggestions as you type. `search_species` runs a deep, keyword-based query across the entire database when you need to narrow down a broad topic.

**Can I get images using get_species_media?**
Yes. The `get_species_media` tool retrieves all multimedia records linked to that specific species ID, letting you build visual reports alongside your text findings.

**What happens if I call get_species with a taxon ID that is invalid or deprecated?**
The server returns a specific error code and context message. Instead of failing silently, it tells your agent exactly why the data couldn't be retrieved and what IDs are valid.

**Are there rate limits when using search_species for large-scale biodiversity checks?**
The Vinkius infrastructure manages throttling automatically. For bulk queries, it’s best practice to process searches in batches of 50 or less to ensure reliable performance.

**When I use get_species_parents, does the result include the entire evolutionary lineage?**
No, get_species_parents lists only the immediate parent taxon. To map a full ancestry tree, you must iteratively call this tool up the hierarchy until you hit the highest kingdom level.

**Does suggest_species guarantee that the resulting name works with other tools like get_species?**
Yes, the output from suggest_species is designed to be immediately usable. It provides validated scientific names and corresponding IDs you can pass directly into any major retrieval tool.

**How can I find the correct scientific name if I only have a common name or a partial name?**
You can use the `match_species` tool for fuzzy matching against the GBIF Backbone, or `suggest_species` for quick autocomplete suggestions based on a search prefix.

**Is it possible to retrieve images or photos of a specific taxon?**
Yes! By using the `get_species_media` tool with a valid GBIF Taxon ID, the agent can fetch available images and multimedia records associated with that species.

**Can I explore the classification levels (like Family or Order) for a species?**
Absolutely. Use `get_species_parents` to see the full higher taxonomy hierarchy, or `get_species_children` to see lower taxonomic ranks within a group.