Skip to main content
Glama
ITIS MCP Server

ITIS MCP Server

by knustx

ITIS MCPサーバー

SOLR APIを介してITIS(統合分類情報システム)データベースと対話するためのModel Context Protocol(MCP)サーバーです。

概要

このMCPサーバーは、数十万種の分類情報を含むITISデータベースへのアクセスを提供します。ITIS SOLR APIを使用して、検索や分類データの取得を行います。

Related MCP server: mcp-catalogueoflife

機能

  • 自然言語による回答: 「ホッキョクグマはどこに住んでいますか?」や「ゾウの近縁種は何ですか?」といった日常的な質問に答えるための専用ツールとプロンプトを使用します。

  • 学名による検索: 学名から生物を検索します。

  • 一般名/通称による検索: 一般名(例:「人間」、「犬」、「オーク」)から生物を検索します。

  • TSNによる検索: 分類シリアル番号(Taxonomic Serial Number)から生物を検索します。

  • 界による検索: 特定の界に含まれる生物を検索します。

  • 分類ランクによる検索: 特定のランクの生物を検索します。

  • オートコンプリート検索: 学名の一部から候補を取得します。

  • 階層データ: 完全な分類階層を取得します。

  • 地理情報: 種の生息地を確認します。

  • 一般的なSOLR検索: カスタムSOLRクエリを使用して柔軟な検索を実行します。

  • ランダムな種の発掘: 柔軟なフィルタリングを使用して、任意の分類グループからランダムに種を取得します。

  • 統計: データベースの統計情報を取得します。

使用方法

MCPサーバーとして

このサーバーはstdin/stdoutを介して通信し、MCP互換クライアントで使用できます。

サーバーの実行方法:

npm start

開発用:

npm run dev

自然言語による質問

このサーバーには、一般的な質問に簡単に答えるための特別なプロンプトとツールが含まれています:

  • 「コモドドラゴンについて教えて」 -> species_profile プロンプトと get_full_species_profile ツールを使用

  • 「ホッキョクグマはどこに住んでいますか?」 -> where_does_it_live プロンプトと get_geographic_info ツールを使用

  • 「ゾウの近縁種は何ですか?」 -> animal_relatives プロンプトと find_relatives ツールを使用

  • 「ネコ科にはどんな種がいますか?」 -> whats_in_this_group プロンプトと get_children ツールを使用

  • 「犬と狼はどのように関連していますか?」 -> compare_animals プロンプトを使用

MCPクライアントの設定

プロジェクトをビルドした後、MCPクライアントに以下の設定を追加してください:

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "itis": {
      "command": "npx",
      "args": ["-y", "path/to/itis-mcp"]
    }
  }
}

Cursor/その他のMCPクライアント:

{
  "command": "npx",
  "args": ["-y", "path/to/itis-mcp"]
}

利用可能なツール

1. search_itis

柔軟なパラメータを使用した一般的なSOLR検索。

2. search_by_scientific_name

学名による生物の検索。

3. search_by_common_name

日常的な一般名(例:「犬」、「ゾウ」)による生物の検索。ユーザーが動物や植物について尋ねる際に最もよく使われます。

4. search_by_tsn

分類シリアル番号(TSN)による検索。

5. search_by_kingdom

特定の界内での検索。

6. search_by_rank

分類ランクによる検索。

7. get_hierarchy

TSNの分類階層を取得。

8. autocomplete_search

名前の一部によるオートコンプリート検索。

9. get_random_species

オプションの分類フィルタを使用してランダムな種を取得。

10. find_relatives

特定の動物や植物の近縁種を表示。一般名または学名を受け付けます。

11. get_children

より大きな分類グループ(例:「ネコ科」)に含まれるすべての種を検索。

12. get_geographic_info

生物の生息地(地理的区分)を検索。一般名または学名を受け付けます。

13. get_full_species_profile

階層、地理、同義語を含む包括的なプロファイルを一度に取得。

14. explore_taxonomy

異なる分類レベルで関連する生物を見つけて分類関係を探求。

15. get_statistics

データベースの統計情報を取得。

クエリの例

使用できるクエリの例をいくつか紹介します:

学名による人間の検索

{
  "tool": "search_by_scientific_name",
  "arguments": {
    "name": "Homo sapiens"
  }
}

一般名によるクーガーの検索

{
  "tool": "search_by_vernacular_name",
  "arguments": {
    "vernacularName": "cougar"
  }
}

植物の検索

{
  "tool": "search_by_kingdom",
  "arguments": {
    "kingdom": "Plantae",
    "rows": 5
  }
}

オークのオートコンプリート

{
  "tool": "autocomplete_search",
  "arguments": {
    "partialName": "Quercus"
  }
}

ランダムな鳥類の取得

{
  "tool": "get_random_species",
  "arguments": {
    "kingdom": "Animalia",
    "class": "Aves",
    "count": 3,
    "requireVernacular": true
  }
}

食肉目からのランダムな哺乳類の取得

{
  "tool": "get_random_species",
  "arguments": {
    "kingdom": "Animalia",
    "class": "Mammalia",
    "order": "Carnivora",
    "count": 2,
    "requireVernacular": true
  }
}

インテリジェントな生物の発見

{
  "prompt": "random_creature_discovery",
  "arguments": {
    "creature_type": "big cats",
    "count": 3
  }
}

海鳥の発見

{
  "prompt": "random_creature_discovery",
  "arguments": {
    "creature_type": "sea birds",
    "count": 2,
    "focus_area": "diving birds"
  }
}

ランダムな植物の取得

{
  "tool": "get_random_species",
  "arguments": {
    "kingdom": "Plantae",
    "count": 2,
    "requireVernacular": true
  }
}

カスタムSOLRクエリ

{
  "tool": "search_itis",
  "arguments": {
    "query": "nameWInd:*tiger* AND kingdom:Animalia",
    "rows": 10,
    "sort": "nameWInd asc"
  }
}

ITISデータベースのフィールド

ITISデータベースには多くのフィールドが含まれています。よく使用されるものは以下の通りです:

  • tsn: 分類シリアル番号(一意の識別子)

  • nameWInd: インジケーター付き学名

  • kingdom: 界名

  • phylum: 門名

  • class: 綱名

  • order: 目名

  • family: 科名

  • genus: 属名

  • species: 種名

  • author: 命名者

  • rank: 分類ランク

  • usage: 使用状況(有効、無効など)

  • credibilityRating: データ品質評価

  • phyloSort: 系統学的ソート順

SOLRクエリの例

ITIS SOLR APIはさまざまなクエリタイプをサポートしています:

  • 完全一致: nameWInd:"Homo sapiens"

  • ワイルドカード: nameWInd:Homo*

  • 範囲: tsn:[1 TO 1000]

  • ブール演算: kingdom:Animalia AND rank:Species

  • フレーズ: nameWInd:"oak tree"

設定

このサーバーは公式のITIS SOLRエンドポイントを使用します: https://services.itis.gov/

ITISデータベースは公開されているため、APIキーは不要です。

エラーハンドリング

このサーバーには包括的なエラーハンドリングが含まれています:

  • ネットワークエラーの捕捉と報告

  • 無効なクエリに対する役立つエラーメッセージの返信

  • 不正なレスポンスの適切な処理

貢献

問題の報告や機能改善の要望はいつでも歓迎します!

ライセンス

MITライセンス

参考文献

Available Tools

11 tools
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

    B3.4/5.0

    Scored across 11 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Provides a Model Context Protocol server for accessing and querying biomedical data from BioThings services, including gene, variant, chemical, and taxon annotations.
      19
      37
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables searching and retrieving taxonomic information from the Encyclopedia of Life, including taxon pages, scientific names, and hierarchical classifications.
      138 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables 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 npm
      1
      MIT