Inaturalist Mcp Server

io.github.cyanheads由 GitHub 账号 cyanheads 发布v0.3.2更新于 Nov 1, 2026

Search iNaturalist sightings, identification threads, phenology, and look-alike species.

已验证Streamable HTTP可网页运行位置与生活数据与分析

概览

AI 生成的概览

无需密钥、只读的 iNaturalist 接入:搜索野生动物观测记录、查看鉴定讨论、绘制物候曲线并查找相似物种。

可以做什么
  • 解析名称与地点:把物种、地点、项目或观察者名称解析为 ID,并按名称或地图范围查找地点
  • 解读参考词表:注释属性与取值、质量等级、许可协议、分类阶元、标志性类群和保护状态代码
  • 搜索与读取观测:按区域、日期、分类单元、质量等级、注释、观察者或项目检索带地理坐标的观测,并获取记录及其社区鉴定讨论
  • 分析区域:按观测数排列叶分类单元、生成物候直方图、排列最活跃的观察者或鉴定者
  • 探索分类单元:获取分类路径、各机构保护名录、百科摘要与照片,并按共同鉴定证据列出相关类群
适用场景
适合让助手回答关于野生动物记录的问题,例如某地出现哪些物种、某物种何时开花或出现、谁在鉴定某个类群、哪些类群容易被混淆,而无需自己编写 API 调用。
运行要求
可使用公开托管的 Streamable HTTP 端点,或通过 npx、Bun 或 Docker 在本地运行(Bun 1.4.0 以上或 Node.js 24 以上)。无需 API 密钥或账号。可选环境变量用于调整 User-Agent、请求节奏、每日请求预算、上限钳制、传输方式、端口、认证模式与日志级别。
安装前请注意
工具为只读,但会向公开的 iNaturalist API 发送查询;托管实例的每日请求预算按进程计数,所有调用者共用,重度使用可能耗尽。记录自带许可:许可为空表示保留所有权利,照片署名必须随图保留,模糊化坐标只是大致地点而非精确位置。若覆盖 INATURALIST_USER_AGENT,请保留联系网址。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Inaturalist Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.cyanheads%2Finaturalist-mcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "inaturalist": {
      "type": "http",
      "url": "https://inaturalist.caseyjhand.com/mcp"
    }
  }
}

README

@cyanheads/inaturalist-mcp-server

Search wildlife sightings, read identification threads, rank taxa by area, chart phenology, and find look-alike taxa from iNaturalist via MCP. STDIO or Streamable HTTP.

10 Tools • 2 Domain Resources • 1 Skill


Overview

iNaturalist's index of 387M+ georeferenced citizen-science observations of plants, animals, and fungi. Search sightings by area, date, taxon, and annotation; read the identification thread behind a record; chart when a taxon appears; rank the taxa of an area; and explore related taxa through shared identification evidence. No API key required.

Tools

ToolDescription
inaturalist_list_referenceDecode the controlled vocabularies the other tools filter on: annotation attributes and values, quality grades, licences, ranks, iconic taxa, conservation-status codes
inaturalist_resolve_nameResolve a common or scientific name to a taxon id, or a place, project, or observer name to its id, as ranked candidates
inaturalist_find_placesResolve a place name to a place id, or list the places covering a map area, each with its bounding box and containment chain
inaturalist_search_observationsSearch georeferenced sightings by area, date, taxon, quality grade, annotation, conservation status, observer, project, and licence
inaturalist_get_observationFetch up to 10 observations by id with their community identification thread and consensus taxon
inaturalist_get_species_countsRank the leaf taxa recorded in an area and period, most-observed first, optionally for one observer or project
inaturalist_get_histogramBuild a phenology histogram for a taxon in an area: which months, weeks, or years it is recorded in
inaturalist_get_leaderboardRank the most active observers or identifiers for an area, period, and taxon
inaturalist_get_similar_speciesRank related taxa by observations carrying identifications of both taxa, for a genus-or-finer taxon
inaturalist_get_taxonFetch a taxon profile: taxonomic path, conservation listings by authority, encyclopedia summary, photos, and children

Resources

ResourceDescription
inaturalist://taxa/{taxon_id}Taxon profile by numeric taxon id, as injectable context
inaturalist://observations/{observation_id}One observation with its identification thread expanded, as injectable context

Both resources mirror data also reachable through inaturalist_get_taxon and inaturalist_get_observation, for clients that don't surface MCP resources.

The published inaturalist-guide covers identifier provenance, matched cohorts, annotations, and evidence coverage across calls. It ships with npm, plugin, MCPB, and Docker installs; clients supporting MCP skill discovery can retrieve it directly. The SDK also exposes skill resources alongside the two domain resources.

Capability reference

inaturalist_list_reference tool

  • topic picks one table: controlled_terms (fetched live), quality_grades, licenses, ranks, iconic_taxa, or conservation_status_codes; taxon_id, valid only with controlled_terms, adds observed_usage, the annotation pairs recorded for that taxon with counts
  • source is upstream or static; annotation attributes and their values carry numeric ids to pass as term_id and term_value_id, since labels repeat across attributes

inaturalist_resolve_name tool

  • q plus type: taxon (default; word-start name matching or exact numeric ID, with optional rank) or place / project / user / any (scored cross-kind search with limited spelling tolerance); applied limit up to 30, default 10
  • Omit page for relevance-ranked suggestions. Explicit taxon name pages browse ascending taxon IDs from page 1; their multilingual match population can differ from autocomplete. Keep the limit fixed; page × applied limit must stay within 10,000. Numeric taxon IDs have one page
  • Each candidate carries kind and id, plus login on users. A true miss returns found: false with guidance; an empty page beyond matching records retains found: true. Every reply discloses totalCount, truncated, shown, and cap

inaturalist_find_places tool

  • Exactly one of q (display-name prefix or analyzed words) or all four of nelat, nelng, swlat, swlng, otherwise invalid_geography; per_page is forwarded on both arms, default 10, served maximum 20 per list. Strict mode accepts up to 30, then applies the same served ceiling
  • q returns places[], a box returns standard[] and community[]; each place carries id, bbox, ancestor_place_ids, place_type, admin_level, and location, with boundary polygons stripped
  • Name autocomplete has no pagination; narrow the text or use a smaller map area to explore further matches. cap is the applied size for names and twice that size for a box's two lists, including empty replies

inaturalist_search_observations tool

  • One area form plus taxon_id, d1/d2, quality_grade, captive, term_id+term_value_id, iconic_taxa, hrank/lrank, csi, threatened/native/introduced/endemic, user_id or user_login, project_id, and q+search_on; applied per_page up to 25, default 10; optional sounds filters for audio-bearing records, while include expands photos, annotations, sounds (identification threads live on inaturalist_get_observation)
  • page walks the first 10,000 results; past that, order by id descending and pass each page's next_cursor as cursor. Returns total_results (a live estimate) and has_more, and echoes applied_filters
  • license / photo_license take the seven CC codes, OR-joined; photo_license matches any photo under the code, independent of the record's own license_code
  • The complete serialized reply stays within 50,000 UTF-8 bytes by returning a prefix of whole records. Ordered deferred observation IDs identify the suffix; fetch them with inaturalist_get_observation and the same include before following the upstream page continuation
  • acc_below accepts positive fractional metres up to 2,147,483,647 and selects measured accuracy strictly below the threshold, excluding missing accuracy. obscuration accepts obscured, private, and none; it checks both observer and taxon geoprivacy, with none requiring both to be open/unset. month accepts observed calendar months 1–12
  • created_d1/created_d2 independently bound upload dates; updated_since accepts a calendar date or ISO datetime with timezone. identifications selects most_agree, some_agree, or most_disagree. Search, by-id records, and observation resources preserve nullable created_at and updated_at strings

inaturalist_get_observation tool

  • Submit 1–100 observation_ids: duplicates are removed in first-seen order, the first ten distinct IDs are attempted in one upstream request, and the rest return in deferred; with limit clamping disabled, at most ten submitted IDs are accepted. include defaults to ["identifications"], with comments, photos, annotations, and sounds available
  • Resolved records come back in observations in request order, attempted misses in unresolved; fails as not_found only when none resolve and nothing is deferred. Adds community_taxon, description, and filled observation_fields; strings remain complete, so detail replies have no universal byte ceiling
  • Identifications, comments, and observation fields share a 40-entry budget: each record keeps max(4, floor(40 / records returned)) entries per array and reports *_total beside *_shown

inaturalist_get_species_counts tool

  • Counts leaf taxa, including hybrids and coarser identifications; subspecies roll up to their species. total_results counts taxa, and the species field retains its upstream name.
  • introduced, native, threatened, endemic, csi, hrank/lrank, and observed month (integer array, 1–12) are shared with search. rank selects one exact rank; equal rank-band bounds select a level, including both species and hybrid at level 10. Conservation codes match global listings plus listings at exactly place_id, excluding ancestor-place listings. Status flags describe the observation's indexed taxon at its location.
  • One area form plus the search filters for taxon, dates, quality grade, captive, annotations, iconic taxa, observer, and project; applied per_page up to 50, default 25, with page offset
  • Rows carry position (absolute, counted from page 1), taxon_id, and observation_count; truncationCeiling is the last count shown, which nothing off the page exceeds

inaturalist_get_histogram tool

  • interval: month_of_year (default) or week_of_year for a seasonal curve, or year / month / week / day / hour for absolute dates; date_field observed (default) or created; taxon_id optional, and an annotation pair (Life Stage 1 = Larva 6) or iconic_taxa narrows the curve
  • Returns up to 25,000 buckets in order, zeros included, with truncated / shown / cap. total sums every upstream bucket in the histogram window, including omitted rows; it is not an all-time taxon count. The row cap is no byte guarantee
  • d1/d2 bound observation dates; created_d1/created_d2 separately bound upload dates. date_field selects which date is bucketed without changing either filter pair
  • Absolute intervals supply only the selected family's missing lower bound, anchored to its upper bound or today UTC: year/month subtract 100 calendar years, week 10 years, day one year, hour seven days. applied_filters.window_start discloses that effective start; no upper bound is added. Seasonal intervals have no generated start
  • On truncation, follow the first-omitted-bucket guidance with other filters and upper bounds retained. Date-only continuation can overlap earlier or partial boundary buckets: deduplicate keys, preserve earlier counts, and never add or replace repeated counts. This cannot reconstruct complete boundary-bucket totals
  • user_id or user_login selects an observer's sightings; project_id selects a project. Resolve either with inaturalist_resolve_name; an observer ID and login are mutually exclusive

inaturalist_get_leaderboard tool

  • kind: observers or identifiers, with one area form, taxon_id, d1/d2, and quality_grade; applied per_page up to 250, default 25
  • Only the top 500 are addressable, so page × per_page past 500 fails as leaderboard_window_exceeded; entries carry rank, login, and count (measured per count_metric), plus species_count for observers
  • A full final page reports truncated: false when the matching set is exhausted
  • user_id or user_login and project_id scope the underlying observations. On observers, an observer selector returns that observer's own row; on identifiers, it returns people who identified that observer's sightings. It does not select identifications authored by the named observer

inaturalist_get_similar_species tool

  • taxon_id at genus or finer, otherwise taxon_rank_too_coarse; an optional area, d1/d2, quality_grade, and captive scope the evidence; default limit 20, served maximum 24. Strict mode accepts up to 50, then applies the same served ceiling
  • The retained misidentification_count counts observations carrying current, non-hidden identifications of both taxa, including ancestor taxa. This is symmetric co-identification evidence, not directional corrections or visual similarity. truncationCeiling describes a locally cut ranking; upstream may omit further taxa and offers no pagination

inaturalist_get_taxon tool

  • One taxon_id; sections selects from summary, taxonomy, children, conservation, photos, encyclopedia, and an unknown name fails as unknown_section
  • kind: "full" carries the profile; kind: "outline" lists each section with its byte size when the profile overflows. A named section always comes back whole, so sum the outline's sizes before asking for several

inaturalist://taxa/{taxon_id} resource

  • The whole projected taxon document as application/json; a resource read can't name sections, so use inaturalist_get_taxon for the outline path
  • taxon_id comes from inaturalist_resolve_name; cached for six hours

inaturalist://observations/{observation_id} resource

  • One observation as application/json with its first 40 identifications and first 40 filled observation fields, each with its _total beside its _shown
  • observation_id comes from inaturalist_search_observations; cached for fifteen minutes

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

iNaturalist-specific:

  • Keyless, read-only coverage of the iNaturalist v1 API. Upstream ignores its own fields= parameter, so every response is projected in-process (a common taxon record arrives at 95 KB)
  • Area-scoped tools take one area form: place_id, lat+lng+radius in kilometres (clamped at 20,040 by default; 500 maximum in strict mode), or a four-corner box. The geographic filter is retained at the ceiling. Partial or mixed forms fail as invalid_geography, and d1 after d2 as inverted_date_range
  • Per-endpoint parameter allowlist, plus in-process rejection of input upstream would silently widen or zero out: a lone term_value_id, an impossible date, an unknown licence code
  • Self-paced traffic: spaced request starts, capped concurrency, and a per-UTC-day budget that fails as rate_budget_exhausted. The counter is per process, so every caller of the hosted instance shares it. Taxa, places, controlled terms, histograms, and look-alike sets are cached; observation queries are not
  • Licences relayed verbatim: a null license_code means all rights reserved, photo attribution must travel with the image, and photos are linked, never proxied. An obscured coordinate is a locality, and observers are identified by login only

Agent-friendly output:

  • Applied defaults echoed: search, species counts, histograms, and leaderboards return applied_filters (research-grade and wild-only by default, plus any ordering a cursor forced). captive: true selects captive or cultivated records only; false selects wild records only
  • Zero-hit notices name the filter most likely responsible and the tool that decodes it (inaturalist_list_reference for vocabularies, since an unrecognised value returns nothing); a page past the end names the last page with results
  • Truncation disclosed on every path: truncated, shown, and cap, plus truncationCeiling on descending rankings
  • Empty filter arrays are ignored with a notice; nonempty annotation values still require a nonempty attribute array. include: [] retains its explicit expansion selection
  • An unknown place_id returns typed unknown_place_id guidance to resolve it with inaturalist_find_places
  • Upstream free text renders as literal quoted content, preserving line separators, HTML, entities, and complete strings after CommonMark parsing. NUL-containing strings use a labeled JSON string literal; URL fields render as links. Present empty expansions, zero counts, and null or empty descriptions remain visible

Getting started

Public Hosted Instance

A public instance is available at https://inaturalist.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

json
{  "mcpServers": {    "inaturalist-mcp-server": {      "type": "streamable-http",      "url": "https://inaturalist.caseyjhand.com/mcp"    }  }}

Self-Hosted / Local

Add the following to your MCP client configuration file.

json
{  "mcpServers": {    "inaturalist-mcp-server": {      "type": "stdio",      "command": "bunx",      "args": ["@cyanheads/inaturalist-mcp-server@latest"],      "env": {        "MCP_TRANSPORT_TYPE": "stdio",        "MCP_LOG_LEVEL": "info"      }    }  }}

Or with npx (no Bun required):

json
{  "mcpServers": {    "inaturalist-mcp-server": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@cyanheads/inaturalist-mcp-server@latest"],      "env": {        "MCP_TRANSPORT_TYPE": "stdio",        "MCP_LOG_LEVEL": "info"      }    }  }}

Or with Docker:

json
{  "mcpServers": {    "inaturalist-mcp-server": {      "type": "stdio",      "command": "docker",      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/inaturalist-mcp-server:latest"]    }  }}

For Streamable HTTP, set the transport and start the server:

sh
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http# Server listens at http://localhost:3010/mcp

Prerequisites

  • Bun v1.4.0 or higher (or Node.js v24+).
  • No API key: the iNaturalist v1 API is keyless. The published terms ask clients to identify themselves, so a User-Agent with a contact URL is sent by default; keep one in any INATURALIST_USER_AGENT override.

Installation

  1. Clone the repository:
sh
git clone https://github.com/cyanheads/inaturalist-mcp-server.git
  1. Navigate into the directory:
sh
cd inaturalist-mcp-server
  1. Install dependencies:
sh
bun install
  1. Configure environment (optional):
sh
cp .env.example .env# edit .env to override defaults — no required vars

Configuration

VariableDescriptionDefault
INATURALIST_USER_AGENTUser-Agent sent on every request to api.inaturalist.org. Keep a contact URL in any override.inaturalist-mcp-server/<version> (+<repo url>)
INATURALIST_MIN_REQUEST_INTERVAL_MSMinimum gap between outbound request starts, in ms. The default holds the rate near 54 per minute.1100
INATURALIST_MAX_CONCURRENT_REQUESTSMaximum outbound requests in flight.4
INATURALIST_DAILY_REQUEST_BUDGETOutbound requests allowed per UTC day, counted in-process and reset on restart.9000
INATURALIST_CLAMP_LIMITSStrict boolean. Clamp list limits to 30/20/25/50/24/250 for name resolution, places, search, species counts, similar species, and leaderboards, and radius to 20,040 km, with a notice, log, and counter. false restores strict input maxima (places 30, similar species 50, radius 500 km); places and similar species still serve at most 20/24 in either mode.true
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTHTTP server port.3010
MCP_SESSION_MODEHTTP session mode: stateless, stateful, or auto.stateless
MCP_AUTH_MODEAuthentication: none, jwt, or oauth.none
MCP_LOG_LEVELLog level (debug, info, notice, warning, error).info
LOGS_DIRDirectory for log files (Node.js only).<project-root>/logs
STORAGE_PROVIDER_TYPEStorage backend for the response cache: in-memory, filesystem, supabase, cloudflare-kv/r2/d1.in-memory
OTEL_ENABLEDEnable OpenTelemetry.false

See .env.example for the full list of optional overrides.

Running the server

Local development

  • Build and run the production version:

    sh
    # One-time buildbun run rebuild
    # Run the built serverbun run start:stdio# orbun run start:http
  • Run checks and tests:

    sh
    bun run devcheck  # Lint, format, typecheck, securitybun run test      # Vitest test suitebun run lint:mcp  # Validate MCP definitions against spec

Docker

sh
docker build -t inaturalist-mcp-server .docker run --rm -p 3010:3010 inaturalist-mcp-server

The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/inaturalist-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.

Project structure

DirectoryPurpose
src/index.tscreateApp() entry point: identity, server instructions, tool and resource registration, service init.
src/configServer-specific environment variable parsing and validation with Zod.
src/mcp-server/toolsTool definitions (*.tool.ts) plus the shared filter, observation-record, and taxon-document helpers.
src/mcp-server/resourcesResource definitions (*.resource.ts): taxon and observation.
src/services/inaturalistiNaturalist service layer: allowlisted client, pacer, daily budget, cache, and response projections.
tests/Unit, integration, and smoke tests, mirroring the src/ structure.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for logging, ctx.state for storage
  • Register new tools and resources in the createApp() arrays in src/index.ts
  • Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields

Contributing

Issues are welcome. Run checks and tests before submitting:

sh
bun run devcheckbun run test

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

来源:README.md,提交 f975dca

工具

10

inaturalist_list_reference

Inaturalist List Reference

Look up annotation attributes/values, quality grades, licences, ranks, iconic taxa, and conservation codes before filtering; unknown values can silently return nothing. Conservation codes are the normalised csi filter, distinct from authority-specific taxon status text. With topic controlled_terms and taxon_id, also return observed annotation usage and counts.

输入参数topic必填taxon_id

inaturalist_resolve_name

Inaturalist Resolve Name

Resolve organism, place, project, or observer names to identifiers. Taxon lookup matches word starts within a name, not only its beginning; other types use cross-kind search with limited spelling tolerance. Without page, candidates retain relevance order. Explicit taxon pages browse name matches in ascending taxon-ID order; this can differ from autocomplete matching across languages. A miss returns found false with recovery guidance.

输入参数q必填pageranktypelimit

inaturalist_find_places

Inaturalist Find Places

Resolve a place name to a place id, or list places covering a map area. Pass q to match a display-name prefix or all analyzed query terms within it, or all four of nelat, nelng, swlat and swlng for a map area — exactly one of the two, never both. Each result carries its bounding box, place type, and containment chain. Upstream serves at most 20 places per list and may omit more.

输入参数qnelatnelngswlatswlngper_page

inaturalist_search_observations

Inaturalist Search Observations

Search georeferenced wildlife sightings by area, date, taxon, quality grade, annotation, conservation status, observer, project, and licence. Returns a projected record per sighting with coordinates, licence, first photo, and identification counts. An area is given in exactly one form — place_id, the lat/lng/radius triple in kilometres, or a four-corner bounding box — and defaults to research-grade, wild-only records, which are echoed back on every call. Identifications and comments are deliberately not expandable here (one thread is 28 KB); fetch them for specific records with inaturalist_get_observation. page walks the first 10,000 results under any ordering; past 10,000, order by id descending (order_by "id", order "desc") and pass each page’s next_cursor as cursor.

输入参数qd1d2csilatlngpagehranklrankmonthnelatnelng另有 34 个

inaturalist_get_observation

Inaturalist Get Observation

Fetch up to 10 distinct observations by id with their community identification thread — who identified what, whether each identification agrees, and the consensus taxon the community landed on. The whole attempted batch costs one upstream request. Records come back in requested order; remaining distinct ids are deferred for another call with the same include. Missing attempted ids appear in unresolved; the call fails only when nothing resolved and no deferred work remains. Long threads and observation-field lists share a response budget across resolved records — up to 40 entries per array for one record, 4 for a full batch — and every record reports the size of each array beside what it kept.

输入参数includeobservation_id必填

inaturalist_get_species_counts

Inaturalist Get Species Counts

Rank leaf taxa recorded in an area and period, most-observed first. Includes hybrids and coarser identifications; subspecies roll up to their species. An area is given in exactly one form: place_id, the lat/lng/radius triple in kilometres, or a four-corner bounding box. Narrow to a clade by passing taxon_id, e.g. the birds of a park, or to one observer or one project by user_id, user_login, or project_id. Defaults to research-grade, wild-only records and echoes those defaults back. For the most active people rather than the most recorded taxa, use inaturalist_get_leaderboard.

输入参数d1d2csilatlngpagerankhranklrankmonthnelatnelng另有 18 个

inaturalist_get_histogram

Inaturalist Get Histogram

Build a phenology histogram for a taxon in an area — which months, weeks, or years it is recorded in. The default month_of_year interval answers "when does this bloom or appear here" in twelve buckets; absolute intervals (year, month, week, day, hour) bucket real dates and disclose their window start. An area is given in exactly one form: place_id, the lat/lng/radius triple in kilometres, or a four-corner bounding box. Omit taxon_id to chart every taxon in the area. Narrow to one life stage or reproductive state with an annotation pair (term_id and term_value_id, e.g. Life Stage = Larva, or Flowers and Fruits = Flowers), or to broad groups with iconic_taxa. Defaults to research-grade, wild-only records and echoes those defaults back.

输入参数d1d2latlngnelatnelngswlatswlngradiuscaptiveterm_iduser_id另有 11 个

inaturalist_get_leaderboard

Inaturalist Get Leaderboard

Rank the most active observers or identifiers for an area, period, and taxon — who knows this place or this group. kind selects which: observers are ranked by how many observations they recorded, identifiers by how many identifications they made. An area is given in exactly one form: place_id, the lat/lng/radius triple in kilometres, or a four-corner bounding box. Both endpoints rank only the top 500 entries, so page multiplied by per_page must stay at or below 500 — narrow the area, period, or taxon to bring someone further down into reach. For the most-recorded species rather than the most active people, use inaturalist_get_species_counts.

输入参数d1d2latlngkind必填pagenelatnelngswlatswlngradiususer_id另有 6 个

inaturalist_get_similar_species

Inaturalist Get Similar Species

List related taxa ranked by observations carrying current identifications of both taxa. This is co-identification evidence, not a directional correction count or an exhaustive list of visually similar organisms. Scope it to an area in exactly one form (place_id, the lat/lng/radius triple in kilometres, or a four-corner bounding box), or leave the area off for global results. The taxon must be a genus or finer (genus, species, or below). Resolve the organism name to a taxon id with inaturalist_resolve_name first.

输入参数d1d2latlnglimitnelatnelngswlatswlngradiuscaptiveplace_id另有 2 个

inaturalist_get_taxon

Inaturalist Get Taxon

Fetch a taxon profile: the taxonomic path, per-authority conservation listings, the encyclopedia summary, the photo gallery, immediate children, and observation counts. Resolve a name to a taxon id with inaturalist_resolve_name first. The upstream record is 95 KB for a common species, so it is projected before anything else happens; a taxon that still overflows comes back as an outline of its sections with their byte sizes, and naming those sections in a re-call returns only those. The valid section names are summary, taxonomy, children, conservation, photos, and encyclopedia.

输入参数sectionstaxon_id必填

版本历史

7
  1. v0.3.2最新Nov 1, 2026
  2. v0.3.0Oct 26, 2026
  3. v0.2.2Oct 8, 2026
  4. v0.2.1Sep 24, 2026
  5. v0.1.3Sep 23, 2026
  6. v0.1.2Sep 20, 2026
  7. v0.1.1Sep 20, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分