Perenual · Capability
Perenual API
Perenual provides a comprehensive plant database API offering access to over 10,000+ plant species, including details on care, watering, sunlight, edibility, toxicity, pests, diseases, and care guides.
What You Can Do
GET
Getspecieslist
— List plant species
/species-list
GET
Getspeciesdetails
— Get plant species details
/species/details/{id}
GET
Getpestdiseaselist
— List pests and diseases
/pest-disease-list
GET
Getcareguides
— List plant care guides
/species-care-guide-list
GET
Gethardinessmap
— Get hardiness map for species
/hardiness-map
MCP Tools
getspecieslist
List plant species
read-only
idempotent
getspeciesdetails
Get plant species details
read-only
idempotent
getpestdiseaselist
List pests and diseases
read-only
idempotent
getcareguides
List plant care guides
read-only
idempotent
gethardinessmap
Get hardiness map for species
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Perenual API
description: Perenual provides a comprehensive plant database API offering access to over 10,000+ plant species, including
details on care, watering, sunlight, edibility, toxicity, pests, diseases, and care guides.
tags:
- Perenual
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: perenual
baseUri: https://perenual.com/api/v2
description: Perenual API HTTP API.
authentication:
type: apikey
in: query
name: key
value: '{{PERENUAL_TOKEN}}'
resources:
- name: species-list
path: /species-list
operations:
- name: getspecieslist
method: GET
description: List plant species
inputParameters:
- name: page
in: query
type: integer
- name: q
in: query
type: string
- name: order
in: query
type: string
- name: edible
in: query
type: boolean
- name: poisonous
in: query
type: boolean
- name: cycle
in: query
type: string
- name: watering
in: query
type: string
- name: sunlight
in: query
type: string
- name: indoor
in: query
type: boolean
- name: hardiness
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: species-details-id
path: /species/details/{id}
operations:
- name: getspeciesdetails
method: GET
description: Get plant species details
inputParameters:
- name: id
in: path
type: integer
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: pest-disease-list
path: /pest-disease-list
operations:
- name: getpestdiseaselist
method: GET
description: List pests and diseases
inputParameters:
- name: id
in: query
type: integer
- name: page
in: query
type: integer
- name: q
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: species-care-guide-list
path: /species-care-guide-list
operations:
- name: getcareguides
method: GET
description: List plant care guides
inputParameters:
- name: species_id
in: query
type: integer
- name: page
in: query
type: integer
- name: q
in: query
type: string
- name: type
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: hardiness-map
path: /hardiness-map
operations:
- name: gethardinessmap
method: GET
description: Get hardiness map for species
inputParameters:
- name: species_id
in: query
type: integer
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: perenual-rest
description: REST adapter for Perenual API.
resources:
- path: /species-list
name: getspecieslist
operations:
- method: GET
name: getspecieslist
description: List plant species
call: perenual.getspecieslist
outputParameters:
- type: object
mapping: $.
- path: /species/details/{id}
name: getspeciesdetails
operations:
- method: GET
name: getspeciesdetails
description: Get plant species details
call: perenual.getspeciesdetails
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /pest-disease-list
name: getpestdiseaselist
operations:
- method: GET
name: getpestdiseaselist
description: List pests and diseases
call: perenual.getpestdiseaselist
outputParameters:
- type: object
mapping: $.
- path: /species-care-guide-list
name: getcareguides
operations:
- method: GET
name: getcareguides
description: List plant care guides
call: perenual.getcareguides
outputParameters:
- type: object
mapping: $.
- path: /hardiness-map
name: gethardinessmap
operations:
- method: GET
name: gethardinessmap
description: Get hardiness map for species
call: perenual.gethardinessmap
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: perenual-mcp
transport: http
description: MCP adapter for Perenual API for AI agent use.
tools:
- name: getspecieslist
description: List plant species
hints:
readOnly: true
destructive: false
idempotent: true
call: perenual.getspecieslist
with:
page: tools.page
q: tools.q
order: tools.order
edible: tools.edible
poisonous: tools.poisonous
cycle: tools.cycle
watering: tools.watering
sunlight: tools.sunlight
indoor: tools.indoor
hardiness: tools.hardiness
inputParameters:
- name: page
type: integer
description: page
- name: q
type: string
description: q
- name: order
type: string
description: order
- name: edible
type: boolean
description: edible
- name: poisonous
type: boolean
description: poisonous
- name: cycle
type: string
description: cycle
- name: watering
type: string
description: watering
- name: sunlight
type: string
description: sunlight
- name: indoor
type: boolean
description: indoor
- name: hardiness
type: integer
description: hardiness
outputParameters:
- type: object
mapping: $.
- name: getspeciesdetails
description: Get plant species details
hints:
readOnly: true
destructive: false
idempotent: true
call: perenual.getspeciesdetails
with:
id: tools.id
inputParameters:
- name: id
type: integer
description: id
required: true
outputParameters:
- type: object
mapping: $.
- name: getpestdiseaselist
description: List pests and diseases
hints:
readOnly: true
destructive: false
idempotent: true
call: perenual.getpestdiseaselist
with:
id: tools.id
page: tools.page
q: tools.q
inputParameters:
- name: id
type: integer
description: id
- name: page
type: integer
description: page
- name: q
type: string
description: q
outputParameters:
- type: object
mapping: $.
- name: getcareguides
description: List plant care guides
hints:
readOnly: true
destructive: false
idempotent: true
call: perenual.getcareguides
with:
species_id: tools.species_id
page: tools.page
q: tools.q
type: tools.type
inputParameters:
- name: species_id
type: integer
description: species_id
- name: page
type: integer
description: page
- name: q
type: string
description: q
- name: type
type: string
description: type
outputParameters:
- type: object
mapping: $.
- name: gethardinessmap
description: Get hardiness map for species
hints:
readOnly: true
destructive: false
idempotent: true
call: perenual.gethardinessmap
with:
species_id: tools.species_id
inputParameters:
- name: species_id
type: integer
description: species_id
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
PERENUAL_TOKEN: PERENUAL_TOKEN