Skip to main content

MCP Server exposing iNaturalist taxonomy data via the Model Context Protocol.

Project description

GitHub Release Version PyPI Version Image Latest Image Size Deployment PyPi Workflow Build Workflow Deploy Workflow Release GitHub Last Commit GitHub Repo Size GitHub Top Language GitHub Contributors GitHub Issues GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord Ko-fi

iNaturalist MCP

iNaturalist MCP

iNaturalist MCP server that provides access to the iNaturalist API via the Model Context Protocol.

Exposes a search_taxa tool that searches for organisms by common or scientific name and returns taxonomic details, common names, photos, and Wikipedia links.

Setup

This can be run in Local CLI mode or Remote server mode.

Local

In CLI mode using uv.

View Config - Local uv
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "inaturalist": {
      "type": "local",
      "command": ["uvx", "inaturalist-mcp"],
      "enabled": true
    }
  }
}

In CLI mode using Python pip.

pip install inaturalist-mcp
View Config - Local Python
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "inaturalist": {
      "type": "local",
      "command": ["inaturalist-mcp"],
      "enabled": true
    }
  }
}

Remote

With Docker run.

docker run --rm -p 80:8000 ghcr.io/cssnr/inaturalist-mcp:latest

With Docker Compose.

services:
  app:
    image: ghcr.io/cssnr/inaturalist-mcp:latest
    ports:
      - '80:8000'

With Python from source.

uv sync
uv run uvicorn inaturalist_mcp.server:app --app-dir src --host 0.0.0.0 --port 8000
View Config - Remote
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "inaturalist": {
      "type": "remote",
      "url": "http://localhost/mcp",
      "enabled": true
    }
  }
}

Note: Set the url to the host you are running the server on.

Deploy to Render

For a Docker Swarm + Traefik example see the docker-compose-swarm.yaml.

For a Portainer Deploy workflow see the .github/workflows/deploy.yaml.

Development

Sync project.

uv sync

Run local server.

run cli

Run remote server (live reload).

run dev

Point your client to: http://localhost:8000/mcp

Run remote Docker Compose (live reload).

run compose

Point your client to: http://localhost/mcp

You can set the PORT environment variable.

Building

Docker Image

To build and test the docker image run.

bash build.sh
docker compose up

Point your client to: http://localhost/mcp

Python Package

This builds the bdist and wheel, if you have a use for it...

run build

Support

If you run into any issues or need help getting started, please do one of the following:

Features Issues Discussions Discord

Contributing

Please consider making a donation to support the development of this project and additional open source projects.

Ko-fi

For a full list of current projects visit: https://cssnr.github.io/

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

inaturalist_mcp-0.0.2.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inaturalist_mcp-0.0.2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file inaturalist_mcp-0.0.2.tar.gz.

File metadata

  • Download URL: inaturalist_mcp-0.0.2.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for inaturalist_mcp-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1430d1d8b3977eeb8d47598d1a16ad0f6d698932433dbb08801ff7d17219e985
MD5 8bf878ace480aba35959103709e70702
BLAKE2b-256 b7eba7c8314ad8e562b7c5a722276d95631d41be8d8d2b5ce0e0fd09c118d87e

See more details on using hashes here.

Provenance

The following attestation bundles were made for inaturalist_mcp-0.0.2.tar.gz:

Publisher: release.yaml on cssnr/inaturalist-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file inaturalist_mcp-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for inaturalist_mcp-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 94a4b92ba08274165baac58053af7786bcef4cedf9628ad8a65d4a50c8ba3c25
MD5 6270162762d2648820a2aadd21b160cd
BLAKE2b-256 8fc91d039370bcd3f4b5050591119e10ff8dfdd8d1215504cc0e74e2f9a3d568

See more details on using hashes here.

Provenance

The following attestation bundles were made for inaturalist_mcp-0.0.2-py3-none-any.whl:

Publisher: release.yaml on cssnr/inaturalist-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page