MCP (Model Context Protocol)

Connect AI assistants like Claude Desktop, Cursor, or ChatGPT to your plant data via the Model Context Protocol.

Endpoints

GET/api/mcp

Get MCP server info, available scopes, and tool list. No authentication required.

POST/api/mcp(per-tool)

MCP Streamable HTTP endpoint. Accepts JSON-RPC 2.0 requests. Authenticate with your Bearer token.

Available tools

15 tools are available for reading and writing plant data, AI identification, care profiles, and environment analysis.

ToolDescription
plants_addCreate a new plant
plants_identifyIdentify a plant from an image URL
plants_resolve_care_profileGet a care profile by species or profile key
plants_set_care_profileApply a care profile to a plant
plants_add_from_imageIdentify, create plant, and upload photo in one step
environment_analyze_lightEstimate light level from an image
plants_check_light_matchCheck light compatibility for a plant
plants_searchSearch plants by name, species, or location
plants_listList plants with care context
plants_getGet a plant and its recent events
plants_updateUpdate a plant's fields
events_addAdd a care event to a plant
plants_overviewGet overview stats and attention list
plants_summaryGet per-plant summary and recent activity

Client setup

Claude Desktop

Uses a stdio bridge via supergateway. Add to your Claude Desktop config:

{
  "mcpServers": {
    "Rootnotes": {
      "command": "npx",
      "args": [
        "-y", "supergateway",
        "--streamableHttp", "https://rootnotes.app/api/mcp",
        "--oauth2Bearer", "tnd_mcp_..."
      ]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "Rootnotes": {
      "url": "https://rootnotes.app/api/mcp",
      "headers": {
        "Authorization": "Bearer tnd_mcp_..."
      }
    }
  }
}

Claude Code

Add via the CLI:

claude mcp add rootnotes \
  --transport http \
  https://rootnotes.app/api/mcp \
  -- --header "Authorization: Bearer tnd_mcp_..."

ChatGPT

If MCP is available in your ChatGPT plan, add the Streamable HTTP endpoint in the MCP integration settings with your Bearer token as the authorization header.