---
bezeichner: "io.github.cyanheads/inaturalist-mcp-server"
art: "mcp_server"
slug: "io-github-cyanheads-inaturalist-mcp-server"
paketkoordinate: "npm:@cyanheads/inaturalist-mcp-server"
status: "aktiv"
homepage: "https://github.com/cyanheads/inaturalist-mcp-server"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.cyanheads"
registerseite: "https://tracevero.com/mcp/io-github-cyanheads-inaturalist-mcp-server"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
roh_beschreibung: "Search iNaturalist sightings, identification threads, phenology, and look-alike species."
version: "0.2.2"
roh_umgebungsvariablen: "MCP_LOG_LEVEL, INATURALIST_USER_AGENT, INATURALIST_MIN_REQUEST_INTERVAL_MS, INATURALIST_MAX_CONCURRENT_REQUESTS, INATURALIST_DAILY_REQUEST_BUDGET, MCP_TRANSPORT_TYPE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_AUTH_MODE, MCP_LOG_LEVEL, INATURALIST_USER_AGENT, INATURALIST_MIN_REQUEST_INTERVAL_MS, INATURALIST_MAX_CONCURRENT_REQUESTS, INATURALIST_DAILY_REQUEST_BUDGET"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio, streamable-http, streamable-http"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/cyanheads/inaturalist-mcp-server"
roh_paketquellen: "npm, npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: "https://inaturalist.caseyjhand.com/mcp"
roh_remote_hosts: "inaturalist.caseyjhand.com"
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-10-08"
roh_aktualisiert_am: "2026-10-08"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket und remote"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "@cyanheads/inaturalist-mcp-server"
roh_paketversionen: "0.2.2"
roh_laufzeithinweise: "npx"
roh_umgebungsformate: "number, string"
roh_umgebungsbeschreibungen: "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. · 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_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_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. · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_TRANSPORT_TYPE=Selects the HTTP transport."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/inaturalist-mcp-server\",\"version\":\"0.2.2\",\"runtimeHint\":\"npx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_USER_AGENT\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_MIN_REQUEST_INTERVAL_MS\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_MAX_CONCURRENT_REQUESTS\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_DAILY_REQUEST_BUDGET\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false},{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/inaturalist-mcp-server\",\"version\":\"0.2.2\",\"runtimeHint\":\"npx\",\"transport\":\"streamable-http\",\"environment\":[{\"name\":\"MCP_TRANSPORT_TYPE\",\"description\":\"Selects the HTTP transport.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_HOST\",\"description\":\"The hostname for the HTTP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_PORT\",\"description\":\"The port to run the HTTP server on.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_ENDPOINT_PATH\",\"description\":\"The endpoint path for the MCP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_AUTH_MODE\",\"description\":\"Authentication mode to use: 'none', 'jwt', or 'oauth'.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_USER_AGENT\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_MIN_REQUEST_INTERVAL_MS\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_MAX_CONCURRENT_REQUESTS\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"INATURALIST_DAILY_REQUEST_BUDGET\",\"description\":\"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.\",\"format\":\"number\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false}],\"remotes\":[{\"url\":\"https://inaturalist.caseyjhand.com/mcp\",\"transport\":\"streamable-http\",\"headers\":[]}]}"
---

# io.github.cyanheads/inaturalist-mcp-server

## Measured values

| Property | Value | Source | Collected on | Level of trust | Raw declaration |
| --- | --- | --- | --- | --- | --- |
| Required secrets declared | false | MCP-Register | 2026-09-21T01:17:02.083Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Execution location | lokal | MCP-Register | 2026-09-21T01:17:02.083Z | abgeleitet | roh_transportarten: stdio, streamable-http, streamable-http |
| Path argument present | false | MCP-Register | 2026-09-21T01:17:02.083Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository URL listed | true | MCP-Register | 2026-09-21T01:17:02.083Z | abgeleitet | roh_repository_url: https://github.com/cyanheads/inaturalist-mcp-server |
| Description (raw) | Search iNaturalist sightings, identification threads, phenology, and look-alike species. | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Declared version | 0.2.2 | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Environment variables (raw) | MCP_LOG_LEVEL, INATURALIST_USER_AGENT, INATURALIST_MIN_REQUEST_INTERVAL_MS, INATURALIST_MAX_CONCURRENT_REQUESTS, INATURALIST_DAILY_REQUEST_BUDGET, MCP_TRANSPORT_TYPE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_AUTH_MODE, MCP_LOG_LEVEL, INATURALIST_USER_AGENT, INATURALIST_MIN_REQUEST_INTERVAL_MS, INATURALIST_MAX_CONCURRENT_REQUESTS, INATURALIST_DAILY_REQUEST_BUDGET | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Required secret variables (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Transports (raw) | stdio, streamable-http, streamable-http | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Path arguments (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Repository (raw) | https://github.com/cyanheads/inaturalist-mcp-server | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Package registries (raw) | npm, npm | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Required secret headers (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Path environment variables (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Remote URLs (raw) | https://inaturalist.caseyjhand.com/mcp | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Remote hosts (raw) | inaturalist.caseyjhand.com | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Registry status message (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| First listed in the registry (raw) | 2026-10-08 | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Last changed in the registry (raw) | 2026-10-08 | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Delivery form (raw) | paket und remote | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Repository platform (raw) | github | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Repository subfolder (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Package identifiers (raw) | @cyanheads/inaturalist-mcp-server | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Package versions (raw) | 0.2.2 | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Runtime hints (raw) | npx | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Environment variable formats (raw) | number, string | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Environment variable descriptions (raw) | 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. · 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_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_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. · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_TRANSPORT_TYPE=Selects the HTTP transport. | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |
| Icon formats (raw) |  | MCP-Register | 2026-09-21T01:17:02.083Z | selbstauskunft |  |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"@cyanheads/inaturalist-mcp-server","version":"0.2.2","runtimeHint":"npx","transport":"stdio","environment":[{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false},{"name":"INATURALIST_USER_AGENT","description":"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.","format":"string","required":false,"secret":false},{"name":"INATURALIST_MIN_REQUEST_INTERVAL_MS","description":"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.","format":"number","required":false,"secret":false},{"name":"INATURALIST_MAX_CONCURRENT_REQUESTS","description":"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.","format":"number","required":false,"secret":false},{"name":"INATURALIST_DAILY_REQUEST_BUDGET","description":"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.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"npm","identifier":"@cyanheads/inaturalist-mcp-server","version":"0.2.2","runtimeHint":"npx","transport":"streamable-http","environment":[{"name":"MCP_TRANSPORT_TYPE","description":"Selects the HTTP transport.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_HOST","description":"The hostname for the HTTP server.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_PORT","description":"The port to run the HTTP server on.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_ENDPOINT_PATH","description":"The endpoint path for the MCP server.","format":"string","required":false,"secret":false},{"name":"MCP_AUTH_MODE","description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false},{"name":"INATURALIST_USER_AGENT","description":"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.","format":"string","required":false,"secret":false},{"name":"INATURALIST_MIN_REQUEST_INTERVAL_MS","description":"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.","format":"number","required":false,"secret":false},{"name":"INATURALIST_MAX_CONCURRENT_REQUESTS","description":"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.","format":"number","required":false,"secret":false},{"name":"INATURALIST_DAILY_REQUEST_BUDGET","description":"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.","format":"number","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[{"url":"https://inaturalist.caseyjhand.com/mcp","transport":"streamable-http","headers":[]}]} | MCP-Register | 2026-10-09T01:17:01.645Z | selbstauskunft |  |

## Links

- Namespace: [[namensraum/io-github-cyanheads|io.github.cyanheads]]

---

- Registry page: <https://tracevero.com/mcp/io-github-cyanheads-inaturalist-mcp-server>
- Retrieved on: 2026-10-10
