Inaturalist logo

Inaturalist

Search iNaturalist observations, identify taxa, and rank species by place and date through MCP.

Install Inaturalist

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "inaturalist": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/mcp-inaturalist"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Inaturalist MCP server connects AI agents to iNaturalist’s public, read-only observation API. Its tools search photographed sightings, resolve common or scientific taxon names, and rank the most observed species in a place over a date range. Use it for wildlife research, species identification workflows, geographic biodiversity questions, or observation discovery without an iNaturalist API key. The server is available through a hosted streamable HTTP endpoint, a local npm stdio bridge, or direct HTTP tool calls.

Use cases

  • Search wildlife sightings by species, location, and year
  • Resolve ambiguous common or scientific species names
  • Rank observed species in a region
  • Filter observations by conservation status or quality grade

Key features

  • Read-only access to iNaturalist observations
  • Search by taxon, place, year, threat status, or quality grade
  • Resolve common and scientific taxon names
  • Rank species by observation frequency and location
  • Hosted MCP, local stdio, and direct HTTP access

Tools3

What Inaturalist lets your agent do. Expand a tool for its parameters.

Verified live~553 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

8/8 checks healthy over the last 46d

What it can do

From the 3 tools this server returned when we ran it.

Makes network requests · 1Read-only tools · 3
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age158 days
Maintainers1

Observed 2026-10-17 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · @pipeworx/mcp-inaturalist (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads440Package downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Tools exposed3Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Inaturalist works

What Inaturalist does

Inaturalist exposes read-only access to iNaturalist citizen-science data through MCP. It covers observations of any organism, including plants, fungi, insects, birds, mammals, reptiles, and amphibians. The integration is independent and unofficial; it is not affiliated with or endorsed by iNaturalist.

Three domain tools form the main interface:

  • search_observations finds sightings using optional taxon, place, year, threatened-status, quality-grade, and page-size filters. Results include photographed observations with coordinates, dates, and observer information.
  • search_taxa looks up common or scientific names and returns taxonomic identifiers, rank, ancestry, conservation status, and a photo URL.
  • top_species ranks the most frequently observed species for a place, optionally over a year or date range, and includes observation counts and taxonomic details.

How it works

The hosted MCP endpoint forwards requests to the public iNaturalist REST API at https://api.inaturalist.org/v1/. Read-only requests require no iNaturalist key or account. Taxon and place names can be resolved automatically, while a taxon ID returned by search_taxa can help disambiguate similar names or support later filtering.

Connect an MCP client to https://gateway.pipeworx.io/inaturalist/mcp to use the hosted version. The same gateway also provides a full endpoint at https://gateway.pipeworx.io/mcp; the pack endpoint lists the Inaturalist tools directly, while the full endpoint lists tools from the wider Pipeworx catalog. The pack endpoint also exposes shared Pipeworx meta-tools, including ask_pipeworx, discover_tools, search_within, and memory tools. ask_pipeworx can route a natural-language request across the gateway’s catalog.

The service can also be called without an MCP client through HTTP. Tool requests use endpoints such as /v1/tools/search_observations, and tool metadata can be inspected with a GET request to the corresponding tool path.

Setup and configuration

For a hosted connection, add the MCP URL to the client configuration:

config.json
{
  "mcpServers": {
    "inaturalist": {
      "url": "https://gateway.pipeworx.io/inaturalist/mcp"
    }
  }
}

A local npm bridge starts with npx and forwards requests to the same hosted gateway:

config.json
{
  "mcpServers": {
    "inaturalist": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-inaturalist"]
    }
  }
}

The npm bridge needs network access and has no offline mode. Anonymous use is limited to 50 calls per day. A free Pipeworx account and PIPEWORX_API_KEY raise the allowance to 200 calls per day; the key is sent as a Bearer token. Set PIPEWORX_META_TOOLS=1 if the local bridge should also list the shared gateway tools. When using an HTTPS proxy, Node’s fetch behavior may require NODE_USE_ENV_PROXY=1, depending on the Node version.

Tools and capabilities

search_observations fits questions such as sightings of a species in a region during a particular year. It accepts common or scientific taxon names, place names, year, threatened status, quality grade, and result count. search_taxa is useful before observation searches when a name is ambiguous. top_species resolves a place name to a place identifier and returns ranked species for that location.

Observation results can be paired with GBIF data for cross-validation, although GBIF is not provided by these three tools. The service is read-only, so it is intended for querying and analysis rather than submitting or editing observations.

Limitations and notes

The integration depends on the hosted Pipeworx gateway and the public iNaturalist API. Local use therefore still requires internet access. Anonymous npm-bridge calls have a daily limit, while authenticated calls are metered through the Pipeworx account. Pack connections include shared gateway schemas in addition to the Inaturalist tools, which can increase the tool list and context size. The MIT-licensed package is an unofficial integration.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Inaturalist

Inaturalist is an MCP server that connects AI agents to iNaturalist’s public citizen-science observation API. Its main tools search wildlife observations, find taxa by common or scientific name, and rank frequently observed species by place and date. It is read-only and requires no iNaturalist authentication for queries.

Add the hosted MCP URL to your client, or run the npm bridge with `npx -y @pipeworx/mcp-inaturalist`. The hosted configuration uses `https://gateway.pipeworx.io/inaturalist/mcp`; the local bridge forwards requests to that endpoint and still requires network access.

Yes, Inaturalist works with Cursor through the hosted MCP endpoint or the local npm stdio configuration. Add `https://gateway.pipeworx.io/inaturalist/mcp` as the server URL, or configure Cursor to start the package with `npx`.

No, read-only queries work without an iNaturalist API key or account. Anonymous use through the npm bridge is limited to 50 calls per day; adding a Pipeworx API key raises that allowance to 200 calls per day.

Yes, call the gateway’s HTTP tool endpoints directly. For example, send a JSON POST request to `/v1/tools/search_observations`; tool metadata is available from the corresponding GET endpoint.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewInaturalist AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/inaturalist?style=directory)](https://allmcps.com/mcp/inaturalist)
HTML Embed
<a href="https://allmcps.com/mcp/inaturalist"><img src="https://allmcps.com/api/badge/inaturalist?style=directory" alt="Inaturalist on AllMCPs" /></a>