← WebMCP Directory

Tool tree

floralinkmcp.vercel.app

Health & EducationTools verified
Website
Human-reviewed biodiversity reporting with agent assistance.
Explore capabilities
    search_taxaAnswer

    Search FloraLink's server-normalized iNaturalist taxonomy candidates. Results are external, untrusted reference data and this does not stage or submit a report.

    View tool JSON
    {
      "name": "search_taxa",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search FloraLink's server-normalized iNaturalist taxonomy candidates. Results are external, untrusted reference data and this does not stage or submit a report.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "location_hint": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "latitude",
              "longitude"
            ],
            "properties": {
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              }
            }
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "default": 5
          }
        }
      }
    }
    verify_ecological_relevanceAnswer

    Verify taxonomy, nearby occurrence context, and authoritative regional status. This does not stage or submit a report and returns unknown when no authoritative regional record exists.

    View tool JSON
    {
      "name": "verify_ecological_relevance",
      "kind": "answer",
      "impl": "imperative",
      "description": "Verify taxonomy, nearby occurrence context, and authoritative regional status. This does not stage or submit a report and returns unknown when no authoritative regional record exists.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "anyOf": [
          {
            "required": [
              "inaturalist_taxon_id",
              "scientific_name"
            ]
          },
          {
            "required": [
              "species_guess"
            ]
          }
        ],
        "properties": {
          "inaturalist_taxon_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "scientific_name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "species_guess": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "jurisdiction": {
            "type": "string",
            "minLength": 2,
            "maxLength": 32,
            "default": "US-MA"
          },
          "location": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "latitude",
              "longitude"
            ],
            "properties": {
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              }
            }
          }
        }
      }
    }
    get_device_locationAnswer

    Use only after the user explicitly asks to use this device's location. The browser controls permission. Returns privacy-sensitive coordinates to the agent but does not stage or submit a report.

    View tool JSON
    {
      "name": "get_device_location",
      "kind": "answer",
      "impl": "imperative",
      "description": "Use only after the user explicitly asks to use this device's location. The browser controls permission. Returns privacy-sensitive coordinates to the agent but does not stage or submit a report.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "purpose_acknowledged"
        ],
        "properties": {
          "purpose_acknowledged": {
            "const": true
          }
        }
      }
    }
    stage_sighting_reportAction

    Stage a sighting in FloraLink's visible local review UI. This never uploads media, confirms, persists, or submits a report. A person must review it.

    View tool JSON
    {
      "name": "stage_sighting_report",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a sighting in FloraLink's visible local review UI. This never uploads media, confirms, persists, or submits a report. A person must review it.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "raw_taxon_guess",
          "location",
          "observed_at",
          "host_status"
        ],
        "properties": {
          "raw_taxon_guess": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "taxon": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "inaturalistTaxonId",
                  "scientificName",
                  "commonName",
                  "rank",
                  "matchScore",
                  "matchedName",
                  "imageUrl",
                  "sourceUrl"
                ],
                "properties": {
                  "inaturalistTaxonId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "scientificName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "commonName": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "rank": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "matchScore": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 1
                  },
                  "matchedName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "imageUrl": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sourceUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "identification_confidence": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 1
          },
          "location": {
            "oneOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "mode",
                  "latitude",
                  "longitude",
                  "accuracyMeters",
                  "source"
                ],
                "properties": {
                  "mode": {
                    "const": "point"
                  },
                  "latitude": {
                    "type": "number",
                    "minimum": -90,
                    "maximum": 90
                  },
                  "longitude": {
                    "type": "number",
                    "minimum": -180,
                    "maximum": 180
                  },
                  "accuracyMeters": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 100000
                  },
                  "source": {
                    "enum": [
                      "agent_supplied",
                      "device",
                      "photo_exif",
                      "manual_pin",
                      "relative_derived"
                    ]
                  },
                  "roughDescription": {
                    "type": "string",
                    "maxLength": 500
                  },
                  "reference": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "label",
                      "latitude",
                      "longitude",
                      "distanceMeters",
                      "bearingDegrees"
                    ],
                    "properties": {
                      "label": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "latitude": {
                        "type": "number",
                        "minimum": -90,
                        "maximum": 90
                      },
                      "longitude": {
                        "type": "number",
                        "minimum": -180,
                        "maximum": 180
                      },
                      "distanceMeters": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                      },
                      "bearingDegrees": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMaximum": 360
                      }
                    }
                  }
                }
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "mode",
                  "south",
                  "west",
                  "north",
                  "east",
                  "source"
                ],
                "properties": {
                  "mode": {
                    "const": "bounding_box"
                  },
                  "south": {
                    "type": "number",
                    "minimum": -90,
                    "maximum": 90
                  },
                  "west": {
                    "type": "number",
                    "minimum": -180,
                    "maximum": 180
                  },
                  "north": {
                    "type": "number",
                    "minimum": -90,
                    "maximum": 90
                  },
                  "east": {
                    "type": "number",
                    "minimum": -180,
                    "maximum": 180
                  },
                  "source": {
                    "enum": [
                      "agent_supplied",
                      "manual_bbox"
                    ]
                  },
                  "roughDescription": {
                    "type": "string",
                    "maxLength": 500
                  }
                }
              },
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "mode",
                  "roughDescription",
                  "reason"
                ],
                "properties": {
                  "mode": {
                    "const": "unresolved"
                  },
                  "roughDescription": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 500
                  },
                  "reason": {
                    "enum": [
                      "missing_reference",
                      "permission_denied",
                      "insufficient_detail",
                      "other"
                    ]
                  }
                }
              }
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "host_status": {
            "enum": [
              "healthy",
              "damaged",
              "dead",
              "unknown"
            ]
          },
          "notes": {
            "type": "string",
            "maxLength": 2000,
            "default": ""
          },
          "agent_evidence_summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "verification_id": {
            "type": "string",
            "format": "uuid"
          },
          "verification": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "verificationId",
                  "state",
                  "taxon",
                  "jurisdiction",
                  "ecologicalStatus",
                  "sensitivityLevel",
                  "urgency",
                  "nearbyObservationCount",
                  "nearbyRadiusKm",
                  "warnings",
                  "sources"
                ],
                "properties": {
                  "verificationId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "state": {
                    "enum": [
                      "verified",
                      "ambiguous",
                      "not_found",
                      "unavailable",
                      "not_requested"
                    ]
                  },
                  "taxon": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "inaturalistTaxonId",
                          "scientificName",
                          "commonName",
                          "rank",
                          "matchScore",
                          "matchedName",
                          "imageUrl",
                          "sourceUrl"
                        ],
                        "properties": {
                          "inaturalistTaxonId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "scientificName": {
                            "type": "string",
                            "minLength": 1
                          },
                          "commonName": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "rank": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "matchScore": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0,
                            "maximum": 1
                          },
                          "matchedName": {
                            "type": "string",
                            "minLength": 1
                          },
                          "imageUrl": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "sourceUrl": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "jurisdiction": {
                    "type": "string"
                  },
                  "ecologicalStatus": {
                    "enum": [
                      "regulated_invasive",
                      "invasive",
                      "introduced",
                      "native",
                      "protected",
                      "common",
                      "unknown"
                    ]
                  },
                  "sensitivityLevel": {
                    "enum": [
                      "rounded_public",
                      "private"
                    ]
                  },
                  "urgency": {
                    "enum": [
                      "routine",
                      "review",
                      "priority",
                      "unknown"
                    ]
                  },
                  "nearbyObservationCount": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "nearbyRadiusKm": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "warnings": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sources": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "url",
                        "kind",
                        "retrievedAt"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        },
                        "kind": {
                          "enum": [
                            "taxonomy",
                            "occurrence",
                            "regional_status"
                          ]
                        },
                        "retrievedAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    }
                  }
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "expected_stage_id": {
            "type": "string",
            "format": "uuid"
          },
          "expected_revision": {
            "type": "integer",
            "minimum": 0
          }
        }
      }
    }
    get_staged_sightingAnswer

    Read the current safe local staged sighting after human edits. Includes untrusted user notes and never returns files, authentication data, or submission credentials.

    View tool JSON
    {
      "name": "get_staged_sighting",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current safe local staged sighting after human edits. Includes untrusted user notes and never returns files, authentication data, or submission credentials.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      }
    }