Inaturalist MCP Server
Search iNaturalist sightings, identification threads, phenology, and look-alike species.
Connector by cyanheads · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Inaturalist MCP Server?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/cyanheads-inaturalist-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://inaturalist.caseyjhand.com/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 10 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 10
From the running server's own tool list (tools/list) on Oct 25, 2026.
Read 10 · Look things up without changing anything.
inaturalist_find_placesinaturalist_get_histograminaturalist_get_leaderboardinaturalist_get_observationinaturalist_get_similar_speciesinaturalist_get_species_countsinaturalist_get_taxoninaturalist_list_referenceinaturalist_resolve_nameinaturalist_search_observations
Secrets and settings it asks for
Other settings (environment variables or headers).
INATURALIST_DAILY_REQUEST_BUDGETINATURALIST_MAX_CONCURRENT_REQUESTSINATURALIST_MIN_REQUEST_INTERVAL_MSINATURALIST_USER_AGENTMCP_LOG_LEVEL
Network hosts it talks to 1
inaturalist.caseyjhand.com· found in remote endpoint, install command
Tools (10)
As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].
inaturalist_find_placesInaturalist Find Placesread-onlyResolve a place name to a place id, or list the places containing a map area. Pass q to match a place-name PREFIX, or all four of nelat, nelng, swlat and swlng to list every place covering that box — exactly one of the two, never both. Each result carries the bounding box, place type, and containment chain an area search needs. Place geometry is stripped: a single nearby response carries 247 KB of boundary polygons upstream, none of which reaches the caller.
inaturalist_get_histogramInaturalist Get Histogramread-onlyBuild 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; the absolute intervals (year, month, week, day, hour) bucket real dates and upstream applies a default start date to them. 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. Lif…
inaturalist_get_leaderboardInaturalist Get Leaderboardread-onlyRank 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 a…
inaturalist_get_observationInaturalist Get Observationread-onlyFetch up to 10 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 batch costs one upstream request, so resolving ten ids here is far cheaper than ten separate lookups. Records come back in the requested order. A missing id is reported per id in unresolved rather than failing the batch; the call fails only when nothing resolved. Long threads and long observation-field lists are cut to fit one response budget shared across the batch — up to 40 identifications, 40 comme…
inaturalist_get_similar_speciesInaturalist Get Similar Speciesread-onlyList the taxa this one is most often misidentified as, ranked by how many times identifiers made the correction — the field-identification check before committing to a look-alike. Scope it to an area in exactly one form (place_id, the lat/lng/radius triple in kilometres, or a four-corner bounding box) to see the confusion set a specific region actually produces, or leave the area off for the global set. The taxon must be a genus or finer (genus, species, or below) — upstream keeps no confusion set for a family, order, or anything coarser. Resolve the organism name to a taxon id with inaturalis…
inaturalist_get_species_countsInaturalist Get Species Countsread-onlyRank the distinct species recorded in an area and period, most-observed first — the "what lives here" answer, without paging through individual sightings. 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 species, use inaturalist_get_leaderboard.
inaturalist_get_taxonInaturalist Get Taxonread-onlyFetch 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.
inaturalist_list_referenceInaturalist List Referenceread-onlyDecode the vocabularies the other iNaturalist tools take as input: annotation attributes and values, quality grades, license codes, taxonomic ranks, iconic taxa, and IUCN conservation-status codes. An unrecognized filter value is not rejected upstream — it silently returns nothing — so read the codes here before filtering. Note that the conservation codes are the normalised csi search filter; a taxon record’s own conservation_statuses[].status is authority-specific free text and reads differently. With topic controlled_terms and a taxon_id, the response also carries which annotations identifie…
inaturalist_resolve_nameInaturalist Resolve Nameread-onlyResolve a common or scientific name to a taxon id, or a place, project, or observer name to its id. Returns ranked candidates carrying the identifiers every other tool takes. A miss is a result rather than a failure: found comes back false with guidance naming why. Taxon lookup matches a name PREFIX, not words inside a name, so "monarch butterfly" misses where "monarch" hits.
inaturalist_search_observationsInaturalist Search Observationsread-onlySearch 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…
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 1
- Weekly downloads
- 92
- Last commit
- Oct 8, 2026 (22 days ago)
- Last release
- Oct 26, 2026 (4 days ago)
- Last package publish
- Oct 8, 2026 (22 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.cyanheads/inaturalist-mcp-server- Version
- 0.3.0
- Auth
- Auth not stated
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 26, 2026
More from cyanheads
- 0.655score
MCP Ts Template
cyanheads
TypeScript template for building MCP servers with declarative tooling, observability, and auth.
ConnectorAFreshness: ARemoteLocalRead-only★ 152Claude Code +5 - 0.625score
Git MCP Server
cyanheads
Comprehensive Git MCP server enabling native git tools including clone, commit, worktree, & more.
ConnectorBFreshness: BRemoteLocal★ 242↓ 1.6K/wkClaude Code +5 - 0.618score
Obsidian MCP Server
cyanheads
Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter.
ConnectorAFreshness: ARemoteLocal★ 701Claude Code +5 - 0.597score
PubMed MCP Server
cyanheads
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
ConnectorAFreshness: ARemoteLocalRead-only★ 162↓ 1.6K/wkClaude Code +5 - 0.545score
Ntfy MCP Server
cyanheads
Send, manage, and replay ntfy push notifications.
ConnectorAFreshness: ARemoteLocal★ 23Claude Code +5 - 0.542score
Brapi MCP Server
cyanheads
Collaborative BrAPI v2.1 MCP workspace: studies, germplasm, genotypes across Breedbase, T3, more.
ConnectorAFreshness: ARemoteLocal★ 4↓ 660/wkClaude Code +5
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Inaturalist MCP Server running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Inaturalist MCP Server. Agent Mart. https://agentmart.dev/connectors/cyanheads-inaturalist-mcp-server (last updated 2026-10-26)