Platform

API and MCP interfaces for ecological intelligence

Rangifer exposes the same ecological system through two public interfaces: a REST API for applications and scripts, and a remote MCP server for assistants and agentic workflows. The map stays central, but the platform surface lets other tools participate.

Map

Interactive ecological front end

REST

HTTP endpoints for apps and scripts

MCP

Remote tool surface for assistants

Data

DuckDB export and documented schema

Two Interfaces, One Ecology Stack

The public site is now map-first, but the same underlying ecology system can be queried directly. Pick the interface that matches the workflow rather than forcing every user through the browser.

REST API

For applications, scripts, and scheduled jobs

The API is the programmatic surface for dashboards, notebooks, GIS tooling, and internal services. Most endpoints use API-key authentication, while public city comparison endpoints remain open.

  • Inventory queries via /api/biodiversity
  • Species and city analytics endpoints
  • Parameter discovery via /api/parameters
  • Public city comparison routes without authentication

MCP Server

For assistants, agents, and natural-language workflows

The MCP server exposes curated ecological tools over a remote endpoint. It is the interface for Claude Desktop, Cursor, and other MCP-compatible clients.

  • Remote MCP endpoint at https://mcp.rangifer.ca/mcp
  • No install required for remote access
  • Read-only tools and SQL against curated views
  • Current MCP-safe coverage focuses on Montreal, Toronto, and Vancouver

REST API

The REST surface is the right choice when your system needs explicit HTTP contracts, predictable auth boundaries, and direct integration into your own services.

Example Requests

Public city comparison

curl https://api.rangifer.ca/api/analytics/cities

Authenticated inventory query

curl -H "Authorization: Bearer rng_your_api_key_here" \
  "https://api.rangifer.ca/api/biodiversity?borough=Plateau-Mont-Royal&limit=50"

Species analytics

curl -H "Authorization: Bearer rng_your_api_key_here" \
  https://api.rangifer.ca/api/analytics/species

Access model

Public entry points

2 routes stay open

City comparison routes remain public so the map and comparison views work without a signup wall.

Authenticated analysis

API key or session

Inventory, parameter, and species analytics routes stay attributable and metered because they are the heavier query surfaces.

Default workflow

Discover first, then authenticate

Use the public map and comparisons for orientation, then move into authenticated queries when you need deeper filtering or automation.

Endpoint Surface

GETPublic

/api/analytics/cities

Comparison-ready city summary across published cities.

GETPublic

/api/analytics/cities/compare

Subset comparison for a named set of cities.

GETAPI key

/api/biodiversity

Tree inventory with borough, species, limit, and cursor filters.

GETAPI key

/api/analytics/species

Species distribution and ranking surface.

GETAPI key

/api/analytics/summary

Aggregated city-level ecological summary.

GETAPI key

/api/parameters

Available boroughs and species values for client filtering.

Most API routes require an API key in the form Authorization: Bearer rng_.... Public city comparison routes are intentionally open so the map and public comparisons can work without a signup flow.

Remote MCP Server

The MCP surface lets an assistant choose ecological tools rather than asking it to improvise against an undocumented API. It is public, read-only, and optimized for AI-native workflows.

Client Configuration

{
  "mcpServers": {
    "rangifer": {
      "url": "https://mcp.rangifer.ca/mcp"
    }
  }
}

The remote endpoint works with Claude Desktop, Cursor, Windsurf, and other MCP-compatible clients. A local stdio mode also exists for self-hosted development against the same tool surface.

Available Tools

query_trees
get_borough_stats
get_species_distribution
get_all_cities
get_all_boroughs
get_schema
run_readonly_query

Example tool call

curl -X POST https://mcp.rangifer.ca/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_all_cities","arguments":{}}}'

The current MCP-safe database focuses on the three-city subset that has been curated for agent-friendly querying: Montreal, Toronto, and Vancouver. That distinction matters and should stay explicit.

How The Interfaces Fit Together

The public UI is no longer trying to sell a generic SaaS experience. It is a documentation and exploration surface around a set of ecological capabilities that can be used directly.

Applications and dashboards

Use the REST API when you need stable HTTP endpoints, explicit auth, and direct control over request and response handling.

Assistants and agentic tools

Use the MCP server when you want a model to choose from ecological tools, fetch context, and reason over the results in natural language.

Auditable analysis

Pair the API or MCP interface with the public dataset and methodology pages so every number can be traced back to a documented source and transform.

Hybrid workflows

Use the map to explore, use the API to automate, and use MCP when the analyst or assistant needs conversational access to the same ecological surface.