Inaturalist-mcp-server MCP Server

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

Local + remotestreamable-httpstdio

What is the Inaturalist-mcp-server MCP Server?

Inaturalist-mcp-server is an MCP integration. Search iNaturalist sightings, identification threads, phenology, and look-alike species.

Hosted connection

The registry lists a streamable-http connection at https://inaturalist.caseyjhand.com/mcp.

Packages and local setup

The published npm package is @cyanheads/inaturalist-mcp-server, version 0.2.2. Its declared MCP transport is stdio.

The package declares MCP_LOG_LEVEL: Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').; INATURALIST_USER_AGENT: User-Agent sent on every request to api.inaturalist.org. Defaults to the package name, its version, and the repository URL. Keep a contact URL in any override — the published terms ask for identifiable clients.; INATURALIST_MIN_REQUEST_INTERVAL_MS: Minimum spacing between outbound request starts, in milliseconds. The default holds the sustained rate near 54 requests per minute, under the 60 the upstream asks for and well under its 100 ceiling.; INATURALIST_MAX_CONCURRENT_REQUESTS: Maximum outbound requests in flight. Separate from the start interval: spacing bounds the sustained rate, this bounds the burst so one slow call does not stall the lane.; INATURALIST_DAILY_REQUEST_BUDGET: Outbound requests allowed per UTC day, counted in-process. The default sits under the 10,000 per day the upstream asks for, and exhaustion fails loudly rather than degrading silently. The counter is per process and resets on restart..

The published npm package is @cyanheads/inaturalist-mcp-server, version 0.2.2. Its declared MCP transport is streamable-http.

The package declares MCP_TRANSPORT_TYPE: Selects the HTTP transport.; MCP_HTTP_HOST: The hostname for the HTTP server.; MCP_HTTP_PORT: The port to run the HTTP server on.; MCP_HTTP_ENDPOINT_PATH: The endpoint path for the MCP server.; MCP_AUTH_MODE: Authentication mode to use: 'none', 'jwt', or 'oauth'.; MCP_LOG_LEVEL: Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').; INATURALIST_USER_AGENT: User-Agent sent on every request to api.inaturalist.org. Defaults to the package name, its version, and the repository URL. Keep a contact URL in any override — the published terms ask for identifiable clients.; INATURALIST_MIN_REQUEST_INTERVAL_MS: Minimum spacing between outbound request starts, in milliseconds. The default holds the sustained rate near 54 requests per minute, under the 60 the upstream asks for and well under its 100 ceiling.; INATURALIST_MAX_CONCURRENT_REQUESTS: Maximum outbound requests in flight. Separate from the start interval: spacing bounds the sustained rate, this bounds the burst so one slow call does not stall the lane.; INATURALIST_DAILY_REQUEST_BUDGET: Outbound requests allowed per UTC day, counted in-process. The default sits under the 10,000 per day the upstream asks for, and exhaustion fails loudly rather than degrading silently. The counter is per process and resets on restart..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository. This profile uses version 0.2.2 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related developer tools MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
MCP_LOG_LEVELSets the minimum log level for output (e.g., 'debug', 'info', 'warn').Check documentation
INATURALIST_USER_AGENTUser-Agent sent on every request to api.inaturalist.org. Defaults to the package name, its version, and the repository URL. Keep a contact URL in any override — the published terms ask for identifiable clients.Check documentation
INATURALIST_MIN_REQUEST_INTERVAL_MSMinimum spacing between outbound request starts, in milliseconds. The default holds the sustained rate near 54 requests per minute, under the 60 the upstream asks for and well under its 100 ceiling.Check documentation
INATURALIST_MAX_CONCURRENT_REQUESTSMaximum outbound requests in flight. Separate from the start interval: spacing bounds the sustained rate, this bounds the burst so one slow call does not stall the lane.Check documentation
INATURALIST_DAILY_REQUEST_BUDGETOutbound requests allowed per UTC day, counted in-process. The default sits under the 10,000 per day the upstream asks for, and exhaustion fails loudly rather than degrading silently. The counter is per process and resets on restart.Check documentation