← Plant docs · Markdown · All payloads · Home

Plant — canonical payload contracts

Search and resolve plant taxa from a local World Flora Online backbone (scientific names, synonyms). No live external plant APIs.

Service id: plant
Docs: https://mcp.glc-rag.hu/guide/plant
Markdown docs: https://mcp.glc-rag.hu/guide/plant.md
MCP resource: docs://plant/payload

POST https://mcp.glc-rag.hu/mcp. Values below are type slots from the live input schema (e.g. <string, required>), not example data. Fill them from the user task.

RPC result wrapper: result.structuredContent is the object in Output schema. result.isError mirrors structuredContent.is_error.

plant_search

Full-text / fuzzy search over accepted plant taxa (local WFO index). Optional family, genus, rank filters.

Required arguments: query

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "plant_search",
    "arguments": {
      "query": "<string, required, maxLength 200>",
      "family": "<string, optional>",
      "genus": "<string, optional>",
      "rank": "<string, optional>",
      "limit": "<integer, optional, default 10, minimum 1, maximum 25>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Scientific or name fragment to search",
      "maxLength": 200
    },
    "family": {
      "type": "string",
      "description": "Filter by family"
    },
    "genus": {
      "type": "string",
      "description": "Filter by genus"
    },
    "rank": {
      "type": "string",
      "description": "Filter by rank (species, genus, …)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": true,
  "required": [
    "query",
    "count",
    "results"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

plant_lookup

Lookup one taxon by wfo_id or exact scientific name.

Required arguments: (none)

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "plant_lookup",
    "arguments": {
      "wfo_id": "<string, optional>",
      "name": "<string, optional>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "wfo_id": {
      "type": "string",
      "description": "WFO taxon id, e.g. wfo-0000000000"
    },
    "name": {
      "type": "string",
      "description": "Exact scientific name (resolved to accepted)"
    }
  },
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "taxon": {
      "type": [
        "object",
        "null"
      ]
    }
  },
  "additionalProperties": true,
  "required": [
    "found"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

plant_resolve

Resolve a name or synonym to accepted taxon candidates (trigram similarity over all WFO names).

Required arguments: query

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "plant_resolve",
    "arguments": {
      "query": "<string, required, maxLength 200>",
      "limit": "<integer, optional, default 10, minimum 1, maximum 25>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": true,
  "required": [
    "query",
    "count",
    "results"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

plant_status

Plant DB health, import version, row counts (free).

Required arguments: (none)

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "plant_status",
    "arguments": {}
  }
}

Input schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    }
  },
  "additionalProperties": true,
  "required": [
    "ok"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}