ITIS MCP Server
This server provides a Model Context Protocol (MCP) interface to the Integrated Taxonomic Information System (ITIS) database, enabling comprehensive taxonomic data searches and exploration.
Search Capabilities:
Scientific names: Find organisms using binomial nomenclature (e.g., Homo sapiens)
Common/vernacular names: Search using everyday names (e.g., "human", "oak tree")
Taxonomic Serial Number (TSN): Retrieve specific organisms via unique identifiers
Kingdom filtering: Explore organisms within Animalia, Plantae, Fungi, or Bacteria
Taxonomic rank: Filter by Species, Genus, Family, Order, Class, Phylum, or Kingdom
Autocomplete: Get suggestions for partial scientific name inputs
Custom SOLR queries: Execute flexible searches with parameters, filters, sorting, and pagination
Data Retrieval:
Taxonomic hierarchies: Get complete classification chains for organisms
Taxonomic relationships: Explore related organisms (siblings, family, order, class levels)
Random species discovery: Find random organisms with optional taxonomic filtering
Database statistics: Access total records and database metrics
Pagination support: Browse large result sets efficiently
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ITIS MCP Server search for Homo sapiens by scientific name"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ITIS MCP Server
A Model Context Protocol (MCP) server for interacting with the ITIS (Integrated Taxonomic Information System) database via their SOLR API.
Overview
This MCP server provides access to the ITIS database, which contains taxonomic information for hundreds of thousands of species. It uses the ITIS SOLR API to perform searches and retrieve taxonomic data.
Related MCP server: mcp-catalogueoflife
Features
Natural Language Answers: Use specialized tools and prompts to answer everyday questions like "where do polar bears live?" or "what's related to the elephant?"
Search by Scientific Name: Find organisms by their scientific names
Search by Vernacular/Common Names: Find organisms by their common names (e.g., "human", "dog", "oak tree")
Search by TSN: Look up organisms by their Taxonomic Serial Number
Search by Kingdom: Find organisms within specific kingdoms
Search by Taxonomic Rank: Search for organisms of specific ranks
Autocomplete Search: Get suggestions for partial scientific names
Hierarchical Data: Retrieve complete taxonomic hierarchies
Geographic Information: See where species are found
General SOLR Search: Perform flexible searches with custom SOLR queries
Random Species Discovery: Get random species from any taxonomic group with flexible filtering
Statistics: Get database statistics
Usage
As an MCP Server
The server communicates via stdin/stdout and can be used with MCP-compatible clients.
To run the server:
npm startFor development:
npm run devNatural Language Questions
This server includes special prompts and tools to easily answer common layperson questions:
"Tell me about the Komodo Dragon" -> Uses the
species_profileprompt andget_full_species_profiletool"Where do polar bears live?" -> Uses the
where_does_it_liveprompt andget_geographic_infotool"What are the relatives of the Elephant?" -> Uses the
animal_relativesprompt andfind_relativestool"What species are in the cat family?" -> Uses the
whats_in_this_groupprompt andget_childrentool"How are dogs and wolves related?" -> Uses the
compare_animalsprompt
MCP Client Configuration
After building the project, add this configuration to your MCP client:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"itis": {
"command": "npx",
"args": ["-y", "path/to/itis-mcp"]
}
}
}Cursor/Other MCP Clients:
{
"command": "npx",
"args": ["-y", "path/to/itis-mcp"]
}Available Tools
1. search_itis
General SOLR search with flexible parameters.
2. search_by_scientific_name
Search for organisms by scientific name.
3. search_by_common_name
Search for organisms by their everyday common names (e.g., "dog", "elephant"). This is usually what lay users want when they ask about an animal or plant.
4. search_by_tsn
Search by Taxonomic Serial Number.
5. search_by_kingdom
Search within a specific kingdom.
6. search_by_rank
Search by taxonomic rank.
7. get_hierarchy
Get taxonomic hierarchy for a TSN.
8. autocomplete_search
Autocomplete search for partial names.
9. get_random_species
Get random species with optional taxonomic filters.
10. find_relatives
Show relatives of a specific animal or plant. Accepts common or scientific names.
11. get_children
Find all species contained within a larger taxonomic group (e.g., "Felidae").
12. get_geographic_info
Find out where an organism lives (geographic divisions). Accepts common or scientific names.
13. get_full_species_profile
Get a comprehensive profile including hierarchy, geography, and synonyms in one go.
14. explore_taxonomy
Explore taxonomic relationships by finding related organisms at different taxonomic levels.
15. get_statistics
Get database statistics.
Example Queries
Here are some example queries you can use:
Search for Humans by Scientific Name
{
"tool": "search_by_scientific_name",
"arguments": {
"name": "Homo sapiens"
}
}Search for Cougars by Common Name
{
"tool": "search_by_vernacular_name",
"arguments": {
"vernacularName": "cougar"
}
}Search for Plants
{
"tool": "search_by_kingdom",
"arguments": {
"kingdom": "Plantae",
"rows": 5
}
}Autocomplete for Oak Trees
{
"tool": "autocomplete_search",
"arguments": {
"partialName": "Quercus"
}
}Get Random Birds
{
"tool": "get_random_species",
"arguments": {
"kingdom": "Animalia",
"class": "Aves",
"count": 3,
"requireVernacular": true
}
}Get Random Mammals from Carnivora
{
"tool": "get_random_species",
"arguments": {
"kingdom": "Animalia",
"class": "Mammalia",
"order": "Carnivora",
"count": 2,
"requireVernacular": true
}
}Intelligent Creature Discovery
{
"prompt": "random_creature_discovery",
"arguments": {
"creature_type": "big cats",
"count": 3
}
}Discover Sea Birds
{
"prompt": "random_creature_discovery",
"arguments": {
"creature_type": "sea birds",
"count": 2,
"focus_area": "diving birds"
}
}Get Random Plants
{
"tool": "get_random_species",
"arguments": {
"kingdom": "Plantae",
"count": 2,
"requireVernacular": true
}
}Custom SOLR Query
{
"tool": "search_itis",
"arguments": {
"query": "nameWInd:*tiger* AND kingdom:Animalia",
"rows": 10,
"sort": "nameWInd asc"
}
}ITIS Database Fields
The ITIS database contains many fields. Here are the most commonly used ones:
tsn: Taxonomic Serial Number (unique identifier)nameWInd: Scientific name with indicatorskingdom: Kingdom namephylum: Phylum nameclass: Class nameorder: Order namefamily: Family namegenus: Genus namespecies: Species nameauthor: Author citationrank: Taxonomic rankusage: Usage status (valid, invalid, etc.)credibilityRating: Data quality ratingphyloSort: Phylogenetic sort order
SOLR Query Examples
The ITIS SOLR API supports various query types:
Exact match:
nameWInd:"Homo sapiens"Wildcard:
nameWInd:Homo*Range:
tsn:[1 TO 1000]Boolean:
kingdom:Animalia AND rank:SpeciesPhrase:
nameWInd:"oak tree"
Configuration
The server uses the official ITIS SOLR endpoint:
https://services.itis.gov/
No API key is required as the ITIS database is publicly accessible.
Error Handling
The server includes comprehensive error handling:
Network errors are caught and reported
Invalid queries return helpful error messages
Malformed responses are handled gracefully
Contributing
Feel free to submit issues and enhancement requests!
License
MIT License
References
Available Tools
11 toolsautocomplete_searchC
Search for organisms with autocomplete functionality using partial names.
Inputs: partialName (required), rows.
explore_taxonomyC
Explore taxonomic relationships by finding related organisms at different taxonomic levels.
Inputs: scientificName (required), level (required), rows.
get_hierarchyC
Get the complete taxonomic hierarchy for a given TSN.
Inputs: tsn (required).
get_random_speciesC
Get random species from ITIS database with optional taxonomic filters.
Inputs: kingdom, phylum, class, order, +5 more.
get_statisticsB
Get basic statistics about the ITIS database (total number of records).
Inputs: no named parameters.
search_by_kingdomB
Search for organisms within a specific kingdom in ITIS database.
Inputs: kingdom (required), rows, start.
search_by_rankB
Search for organisms by their taxonomic rank in ITIS database.
Inputs: rank (required), rows, start.
search_by_scientific_nameC
Search for organisms by their scientific name in ITIS database.
Inputs: name (required), rows, start.
search_by_tsnC
Search for organisms by their Taxonomic Serial Number (TSN) in ITIS database.
Inputs: tsn (required).
search_by_vernacular_nameC
Search for organisms by their common/vernacular names in ITIS database.
Inputs: vernacularName (required), rows, start.
search_itisC
Search ITIS database using SOLR queries. Supports general search with flexible query parameters.
Inputs: query, start, rows, sort, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools have distinct purposes, such as autocomplete_search for partial name matching and get_hierarchy for taxonomic relationships. However, search_by_scientific_name and search_itis could be confusing as both handle scientific name queries, though search_itis offers more flexibility with SOLR parameters.
All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as autocomplete_search and search_by_scientific_name. This uniformity makes the tool set predictable and easy to navigate for an agent.
With 11 tools, the server is well-scoped for an ITIS database interface, covering diverse search methods and taxonomic exploration without being overwhelming. Each tool serves a specific function, such as get_random_species for discovery and get_statistics for metadata.
The tool set provides comprehensive search capabilities across various criteria like name, rank, and TSN, along with taxonomic exploration. A minor gap exists in update or data modification tools, but this is reasonable for a read-focused database server, and agents can still perform most queries effectively.
Related MCP Connectors
ITIS (Integrated Taxonomic Information System) MCP.
Search GBIF species taxonomy, occurrence records, datasets, and publishers.
Search GBIF species taxonomy, occurrence records, datasets, and publishers.
O*NET MCP — wraps the O*NET Web Services (US DOL) occupation taxonomy (services.onetcenter.org).…
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides a Model Context Protocol server for accessing and querying biomedical data from BioThings services, including gene, variant, chemical, and taxon annotations.1937MIT
- AlicenseNot gradedqualityBmaintenanceEnables queries about global taxonomic data, including scientific name matching, classification chains, common names, and synonyms from the Catalogue of Life index.310 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and retrieving taxonomic information from the Encyclopedia of Life, including taxon pages, scientific names, and hierarchical classifications.138 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to resolve scientific names to Taxonomic Serial Numbers, traverse complete taxonomic lineages from kingdom to children, and retrieve vernacular names in all languages from an authoritative US-government taxonomy.283 npm1MIT