Skip to main content

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

Project description

GitHub Release Version Image Latest Image Size 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.1.tar.gz (5.7 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.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: inaturalist_mcp-0.0.1.tar.gz
  • Upload date:
  • Size: 5.7 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.1.tar.gz
Algorithm Hash digest
SHA256 5fb419efe763c5b4c60a129588772021f12b63d050b06360df9a32065b59e2a1
MD5 98fb50b1fdea18be65b07fef8aa2a795
BLAKE2b-256 815adb9671c7c2c3ad7cb356b6be74af1472e56146e644d2210f4fb7973d6943

See more details on using hashes here.

Provenance

The following attestation bundles were made for inaturalist_mcp-0.0.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for inaturalist_mcp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 077db174948c853f9cd7d6a051af7d125eb4601df991c67f1af634b0a7a55fab
MD5 149963eb033c3015b4c2ce5dff84f82f
BLAKE2b-256 cfad6fda1e32938de0d6410c81a86b09a5bf6ff9305a04bb611f39471c042670

See more details on using hashes here.

Provenance

The following attestation bundles were made for inaturalist_mcp-0.0.1-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