Koskamo

Atlarium Habitat Database MCP

A public, read-only MCP server providing structured data and advisory tools for aquarium, marine, terrarium, and paludarium enthusiasts. It exposes 39 tools for species catalog lookup, diagnostics, product information, habitat planning, and water chemistry calculations without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Atlarium Habitat Database MCP logo, by AtlariumVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Atlarium
MCP endpoint (Streamable HTTP)
https://mcp.atlarium.bio/mcp
Vendor documentation

What its tools do

39 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

39 of 39 have a description · 39 of 39 declare behavior hints · 39 of 39 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to atlarium.bio ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for fish and plant profiles in the Atlarium catalog
  • Check species compatibility for tank mates
  • Calculate fertilizer doses and nutrient gaps
  • Identify causes of algae problems from symptoms

Source and maintenance

Vendor evidenceRegistry 2.0.3
Maintenance checked

Protocol and capabilities

Server
Atlarium Habitat Database MCP 2.0.3
MCP protocol negotiated in check
2025-11-25
Tools
39 advertised
Resources
4 advertised
Resource templates
0 advertised
Prompts
9 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "logging": {},
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Tools

39 advertised

search_fish — Search fish
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search fish and aquatic animal profiles in the Atlarium habitat database.

search_fish input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "gh_max": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Maximum general hardness filter."
    },
    "gh_min": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Minimum general hardness filter."
    },
    "kh_max": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Maximum carbonate hardness filter."
    },
    "kh_min": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Minimum carbonate hardness filter."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "ph_max": {
      "type": "number",
      "maximum": 14,
      "minimum": 0,
      "description": "Maximum acceptable pH filter."
    },
    "ph_min": {
      "type": "number",
      "maximum": 14,
      "minimum": 0,
      "description": "Minimum acceptable pH filter."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "care_level": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Care-level filter, for example easy, moderate or expert."
    },
    "temperament": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Temperament filter, for example peaceful or aggressive."
    },
    "max_tank_liters": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0,
      "description": "Maximum tank volume filter in liters."
    },
    "min_tank_liters": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0,
      "description": "Minimum tank volume filter in liters."
    },
    "temperature_max": {
      "type": "number",
      "maximum": 45,
      "minimum": 0,
      "description": "Maximum temperature filter in Celsius."
    },
    "temperature_min": {
      "type": "number",
      "maximum": 45,
      "minimum": 0,
      "description": "Minimum temperature filter in Celsius."
    }
  }
}
search_fish output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_fish annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fish_profile — Get fish profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured fish or aquatic animal profile using the exact slug returned by search_fish.

get_fish_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_fish_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_fish_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_plants — Search plants
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search aquatic plants in the Atlarium database.

search_plants input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "placement": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Aquascape placement filter such as foreground or background."
    },
    "difficulty": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Plant difficulty filter."
    },
    "growth_rate": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Growth-rate filter."
    },
    "co2_requirement": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "CO2 requirement filter."
    },
    "light_requirement": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Lighting requirement filter."
    }
  }
}
search_plants output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_plants annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_plant_profile — Get plant profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured aquatic plant profile using the exact slug returned by search_plants.

get_plant_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_plant_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_plant_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_products — Search products
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public habitat products in the Atlarium database.

search_products input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "brand": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Product brand filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "category": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Product category filter."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "use_case": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Use-case filter such as filtration, lighting or fertilization."
    }
  }
}
search_products output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_products annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_product_profile — Get product profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public habitat product profile using the exact slug returned by search_products.

get_product_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*$",
      "maxLength": 240,
      "minLength": 1,
      "description": "Exact safe slug path returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_product_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_product_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_species_compatibility — Check species compatibility
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check basic compatibility information between habitat species using Atlarium data.

check_species_compatibility input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "species"
  ],
  "properties": {
    "gh": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Water hardness, conductivity or TDS-style value for advisory matching."
    },
    "kh": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Water hardness, conductivity or TDS-style value for advisory matching."
    },
    "ph": {
      "type": "number",
      "maximum": 14,
      "minimum": 0,
      "description": "Water pH value on the 0 to 14 scale."
    },
    "species": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 120,
        "minLength": 1,
        "description": "Species common name, scientific name or slug to evaluate."
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "List of species names or slugs to compare, from 1 to 20 entries."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "tank_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    },
    "temperature": {
      "type": "number",
      "maximum": 45,
      "minimum": 0,
      "description": "Water or ambient temperature in degrees Celsius."
    }
  }
}
check_species_compatibility output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
check_species_compatibility annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_water_parameters — Get water parameters
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get recommended water parameters using the exact slug returned by search_fish or search_plants.

get_water_parameters input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug",
    "type"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "type": {
      "enum": [
        "fish",
        "plant"
      ],
      "type": "string",
      "description": "Profile type to read water parameters for."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_water_parameters output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_water_parameters annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
suggest_species_for_tank — Suggest species for tank
Advertised by the server during the last successful anonymous check.
Advertised read-only

Suggest compatible aquatic species based on tank size and water parameters.

suggest_species_for_tank input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "tank_liters"
  ],
  "properties": {
    "gh": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Water hardness, conductivity or TDS-style value for advisory matching."
    },
    "kh": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Water hardness, conductivity or TDS-style value for advisory matching."
    },
    "ph": {
      "type": "number",
      "maximum": 14,
      "minimum": 0,
      "description": "Water pH value on the 0 to 14 scale."
    },
    "limit": {
      "type": "integer",
      "maximum": 30,
      "description": "Maximum number of suggestions to return, up to 30.",
      "exclusiveMinimum": 0
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "tank_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    },
    "temperature": {
      "type": "number",
      "maximum": 45,
      "minimum": 0,
      "description": "Water or ambient temperature in degrees Celsius."
    },
    "planted_tank": {
      "type": "boolean",
      "description": "When true, prefer suggestions compatible with planted aquariums."
    },
    "beginner_friendly": {
      "type": "boolean",
      "description": "When true, prefer species that are suitable for beginners."
    }
  }
}
suggest_species_for_tank output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
suggest_species_for_tank annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_guides — Search guides
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Atlarium habitat guides and educational content.

search_guides input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "topic": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Guide topic filter."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
search_guides output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_guides annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_guide — Get guide
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public Atlarium guide using the exact slug returned by search_guides.

get_guide input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*$",
      "maxLength": 240,
      "minLength": 1,
      "description": "Exact safe slug path returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_guide output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_guide annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_algae — Search algae
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public algae diagnostic profiles with symptoms, causes and treatment guidance.

search_algae input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Diagnostic profile type filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "difficulty": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "Diagnostic difficulty filter from 1 to 5."
    },
    "water_type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Water or habitat type filter."
    }
  }
}
search_algae output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_algae annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_algae_profile — Get algae profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public algae diagnostic profile using the exact slug returned by search_algae.

get_algae_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_algae_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_algae_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_diseases — Search diseases
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public aquatic disease diagnostic profiles and advisory treatment information.

search_diseases input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Diagnostic profile type filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "difficulty": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "Diagnostic difficulty filter from 1 to 5."
    },
    "water_type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Water or habitat type filter."
    }
  }
}
search_diseases output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_diseases annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_disease_profile — Get disease profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public aquatic disease profile using the exact slug returned by search_diseases.

get_disease_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_disease_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_disease_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_plant_problems — Search plant problems
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public aquatic plant deficiency, pest and environmental problem profiles.

search_plant_problems input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Diagnostic profile type filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "difficulty": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "Diagnostic difficulty filter from 1 to 5."
    },
    "water_type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Water or habitat type filter."
    }
  }
}
search_plant_problems output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_plant_problems annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_plant_problem_profile — Get plant problem profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public aquatic plant problem or deficiency profile using the exact slug returned by search_plant_problems.

get_plant_problem_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_plant_problem_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_plant_problem_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_medicines — Search medicines
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public aquarium medicine and treatment product profiles.

search_medicines input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Diagnostic profile type filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "difficulty": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "Diagnostic difficulty filter from 1 to 5."
    },
    "water_type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Water or habitat type filter."
    }
  }
}
search_medicines output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_medicines annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_medicine_profile — Get medicine profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public aquarium medicine profile using the exact slug returned by search_medicines.

get_medicine_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_medicine_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_medicine_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
match_diagnostic_profiles — Match diagnostic profiles
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find likely public algae, disease, plant problem and medicine profiles from a symptom query.

match_diagnostic_profiles input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Diagnostic profile type filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "difficulty": {
      "type": "integer",
      "maximum": 5,
      "minimum": 1,
      "description": "Diagnostic difficulty filter from 1 to 5."
    },
    "water_type": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Water or habitat type filter."
    }
  }
}
match_diagnostic_profiles output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
match_diagnostic_profiles annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_product_categories — List product categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

List public Atlarium product categories for equipment and fertilizers.

list_product_categories input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "enum": [
        "equipment",
        "fertilizer"
      ],
      "type": "string",
      "description": "Limit categories to equipment or fertilizer catalog entries."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
list_product_categories output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_product_categories annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_product_brands — List product brands
Advertised by the server during the last successful anonymous check.
Advertised read-only

List public Atlarium product brands.

list_product_brands input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
list_product_brands output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_product_brands annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_equipment — Search equipment
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public aquarium and habitat equipment products.

search_equipment input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "brand": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Product brand filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "category": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Product category filter."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "use_case": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Use-case filter such as filtration, lighting or fertilization."
    }
  }
}
search_equipment output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_equipment annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_equipment_profile — Get equipment profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public equipment product profile using the exact slug returned by search_equipment.

get_equipment_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*$",
      "maxLength": 240,
      "minLength": 1,
      "description": "Exact safe slug path returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_equipment_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_equipment_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_fertilizers — Search fertilizers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public aquarium fertilizer products and nutrient profiles.

search_fertilizers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "brand": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Product brand filter."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "category": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Product category filter."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "use_case": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Use-case filter such as filtration, lighting or fertilization."
    }
  }
}
search_fertilizers output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_fertilizers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fertilizer_profile — Get fertilizer profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public fertilizer product profile using the exact slug returned by search_fertilizers.

get_fertilizer_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*(?:\\/[a-z0-9]+(?:[._-][a-z0-9]+)*)*$",
      "maxLength": 240,
      "minLength": 1,
      "description": "Exact safe slug path returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_fertilizer_profile output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_fertilizer_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_fertilization_regimes — Search fertilization regimes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search public fertilization regimes and dosing philosophies.

search_fertilization_regimes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "description": "Maximum number of public records to return, up to 50.",
      "exclusiveMinimum": 0
    },
    "query": {
      "type": "string",
      "maxLength": 120,
      "description": "Search text used to match public Atlarium records."
    },
    "topic": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Fertilization regime topic filter."
    },
    "offset": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Zero-based pagination offset for public search results."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
search_fertilization_regimes output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_fertilization_regimes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fertilization_regime — Get fertilization regime
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a structured public fertilization regime using the exact slug returned by search_fertilization_regimes.

get_fertilization_regime input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$",
      "maxLength": 160,
      "minLength": 1,
      "description": "Exact single-segment slug returned by the related Atlarium search tool."
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    }
  }
}
get_fertilization_regime output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_fertilization_regime annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_fertilizer_dose — Calculate fertilizer dose
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate an advisory fertilizer dose for a public catalog product and tank volume.

calculate_fertilizer_dose input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "product_name",
    "volume_liters"
  ],
  "properties": {
    "brand_name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Optional public fertilizer brand name."
    },
    "product_name": {
      "type": "string",
      "maxLength": 160,
      "minLength": 1,
      "description": "Public fertilizer product name."
    },
    "volume_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    }
  }
}
calculate_fertilizer_dose output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_fertilizer_dose annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_nutrient_gaps — Calculate nutrient gaps
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare nutrient targets with supplied measurements without saving user data.

calculate_nutrient_gaps input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "volume_liters"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "product_name",
          "method",
          "dose_value",
          "days_of_week"
        ],
        "properties": {
          "notes": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional non-persistent notes for this dosing item."
          },
          "method": {
            "enum": [
              "LIQUID",
              "ROOT_TAB",
              "POWDER",
              "CAPSULE"
            ],
            "type": "string",
            "description": "Dosing method for the fertilizer item."
          },
          "dose_unit": {
            "type": "string",
            "default": "ml",
            "maxLength": 20,
            "minLength": 1,
            "description": "Dose unit, defaulting to ml."
          },
          "brand_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional fertilizer brand name for this dosing item."
          },
          "dose_value": {
            "type": "number",
            "maximum": 1000000,
            "minimum": 0,
            "description": "Dose amount per scheduled application."
          },
          "sort_order": {
            "type": "integer",
            "default": 0,
            "maximum": 1000,
            "minimum": 0,
            "description": "Optional sort order for displaying plan items."
          },
          "days_of_week": {
            "type": "array",
            "items": {
              "type": "integer",
              "maximum": 7,
              "minimum": 1,
              "description": "Day of week number from 1 to 7."
            },
            "maxItems": 7,
            "minItems": 1,
            "description": "Scheduled dosing days as numbers from 1 to 7."
          },
          "product_name": {
            "type": "string",
            "maxLength": 160,
            "minLength": 1,
            "description": "Fertilizer product name for this dosing item."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50,
      "description": "Optional supplied fertilization plan items to analyze."
    },
    "regime": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional fertilization regime name or strategy."
    },
    "targets": {
      "type": "object",
      "properties": {
        "iron_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target iron concentration in mg/L."
        },
        "zinc_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target zinc concentration in mg/L."
        },
        "boron_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target boron concentration in mg/L."
        },
        "copper_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target copper concentration in mg/L."
        },
        "calcium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target calcium concentration in mg/L."
        },
        "nitrogen_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target nitrogen concentration in mg/L."
        },
        "magnesium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target magnesium concentration in mg/L."
        },
        "manganese_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target manganese concentration in mg/L."
        },
        "potassium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target potassium concentration in mg/L."
        },
        "molybdenum_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target molybdenum concentration in mg/L."
        },
        "phosphorus_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target phosphorus concentration in mg/L."
        }
      },
      "description": "Optional target nutrient concentrations.",
      "additionalProperties": false
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "measurements": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "kind"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "maxLength": 30,
            "minLength": 1,
            "description": "Measured nutrient or water parameter name."
          },
          "value": {
            "anyOf": [
              {
                "type": "number",
                "description": "Finite numeric value for advisory calculations."
              },
              {
                "type": "null"
              }
            ],
            "description": "Measured numeric value; omit or use null when unknown."
          },
          "measured_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional ISO datetime for when the measurement was taken."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "description": "Optional current measurements for nutrient-gap calculations."
    },
    "volume_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    }
  }
}
calculate_nutrient_gaps output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_nutrient_gaps annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_weekly_dose_totals — Calculate weekly dose totals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate weekly fertilizer totals for a supplied non-persistent dosing plan.

calculate_weekly_dose_totals input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "volume_liters"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "product_name",
          "method",
          "dose_value",
          "days_of_week"
        ],
        "properties": {
          "notes": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional non-persistent notes for this dosing item."
          },
          "method": {
            "enum": [
              "LIQUID",
              "ROOT_TAB",
              "POWDER",
              "CAPSULE"
            ],
            "type": "string",
            "description": "Dosing method for the fertilizer item."
          },
          "dose_unit": {
            "type": "string",
            "default": "ml",
            "maxLength": 20,
            "minLength": 1,
            "description": "Dose unit, defaulting to ml."
          },
          "brand_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional fertilizer brand name for this dosing item."
          },
          "dose_value": {
            "type": "number",
            "maximum": 1000000,
            "minimum": 0,
            "description": "Dose amount per scheduled application."
          },
          "sort_order": {
            "type": "integer",
            "default": 0,
            "maximum": 1000,
            "minimum": 0,
            "description": "Optional sort order for displaying plan items."
          },
          "days_of_week": {
            "type": "array",
            "items": {
              "type": "integer",
              "maximum": 7,
              "minimum": 1,
              "description": "Day of week number from 1 to 7."
            },
            "maxItems": 7,
            "minItems": 1,
            "description": "Scheduled dosing days as numbers from 1 to 7."
          },
          "product_name": {
            "type": "string",
            "maxLength": 160,
            "minLength": 1,
            "description": "Fertilizer product name for this dosing item."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50,
      "description": "Optional supplied fertilization plan items to analyze."
    },
    "regime": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional fertilization regime name or strategy."
    },
    "targets": {
      "type": "object",
      "properties": {
        "iron_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target iron concentration in mg/L."
        },
        "zinc_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target zinc concentration in mg/L."
        },
        "boron_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target boron concentration in mg/L."
        },
        "copper_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target copper concentration in mg/L."
        },
        "calcium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target calcium concentration in mg/L."
        },
        "nitrogen_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target nitrogen concentration in mg/L."
        },
        "magnesium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target magnesium concentration in mg/L."
        },
        "manganese_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target manganese concentration in mg/L."
        },
        "potassium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target potassium concentration in mg/L."
        },
        "molybdenum_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target molybdenum concentration in mg/L."
        },
        "phosphorus_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target phosphorus concentration in mg/L."
        }
      },
      "description": "Optional target nutrient concentrations.",
      "additionalProperties": false
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "measurements": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "kind"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "maxLength": 30,
            "minLength": 1,
            "description": "Measured nutrient or water parameter name."
          },
          "value": {
            "anyOf": [
              {
                "type": "number",
                "description": "Finite numeric value for advisory calculations."
              },
              {
                "type": "null"
              }
            ],
            "description": "Measured numeric value; omit or use null when unknown."
          },
          "measured_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional ISO datetime for when the measurement was taken."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "description": "Optional current measurements for nutrient-gap calculations."
    },
    "volume_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    }
  }
}
calculate_weekly_dose_totals output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_weekly_dose_totals annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
generate_fertilization_plan — Generate fertilization plan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Generate an advisory non-persistent fertilization plan from public Atlarium catalog data.

generate_fertilization_plan input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "volume_liters"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "product_name",
          "method",
          "dose_value",
          "days_of_week"
        ],
        "properties": {
          "notes": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional non-persistent notes for this dosing item."
          },
          "method": {
            "enum": [
              "LIQUID",
              "ROOT_TAB",
              "POWDER",
              "CAPSULE"
            ],
            "type": "string",
            "description": "Dosing method for the fertilizer item."
          },
          "dose_unit": {
            "type": "string",
            "default": "ml",
            "maxLength": 20,
            "minLength": 1,
            "description": "Dose unit, defaulting to ml."
          },
          "brand_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional fertilizer brand name for this dosing item."
          },
          "dose_value": {
            "type": "number",
            "maximum": 1000000,
            "minimum": 0,
            "description": "Dose amount per scheduled application."
          },
          "sort_order": {
            "type": "integer",
            "default": 0,
            "maximum": 1000,
            "minimum": 0,
            "description": "Optional sort order for displaying plan items."
          },
          "days_of_week": {
            "type": "array",
            "items": {
              "type": "integer",
              "maximum": 7,
              "minimum": 1,
              "description": "Day of week number from 1 to 7."
            },
            "maxItems": 7,
            "minItems": 1,
            "description": "Scheduled dosing days as numbers from 1 to 7."
          },
          "product_name": {
            "type": "string",
            "maxLength": 160,
            "minLength": 1,
            "description": "Fertilizer product name for this dosing item."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 50,
      "description": "Optional supplied fertilization plan items to analyze."
    },
    "regime": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80,
          "minLength": 1
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional fertilization regime name or strategy."
    },
    "targets": {
      "type": "object",
      "properties": {
        "iron_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target iron concentration in mg/L."
        },
        "zinc_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target zinc concentration in mg/L."
        },
        "boron_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target boron concentration in mg/L."
        },
        "copper_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target copper concentration in mg/L."
        },
        "calcium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target calcium concentration in mg/L."
        },
        "nitrogen_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target nitrogen concentration in mg/L."
        },
        "magnesium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target magnesium concentration in mg/L."
        },
        "manganese_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target manganese concentration in mg/L."
        },
        "potassium_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target potassium concentration in mg/L."
        },
        "molybdenum_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target molybdenum concentration in mg/L."
        },
        "phosphorus_mg_l": {
          "anyOf": [
            {
              "type": "number",
              "description": "Finite numeric value for advisory calculations."
            },
            {
              "type": "null"
            }
          ],
          "description": "Target phosphorus concentration in mg/L."
        }
      },
      "description": "Optional target nutrient concentrations.",
      "additionalProperties": false
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "measurements": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "kind"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "maxLength": 30,
            "minLength": 1,
            "description": "Measured nutrient or water parameter name."
          },
          "value": {
            "anyOf": [
              {
                "type": "number",
                "description": "Finite numeric value for advisory calculations."
              },
              {
                "type": "null"
              }
            ],
            "description": "Measured numeric value; omit or use null when unknown."
          },
          "measured_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional ISO datetime for when the measurement was taken."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "description": "Optional current measurements for nutrient-gap calculations."
    },
    "volume_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    }
  }
}
generate_fertilization_plan output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
generate_fertilization_plan annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_tank_volume — Calculate tank volume
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate gross and net aquarium volume estimates from dimensions.

calculate_tank_volume input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "shape"
  ],
  "properties": {
    "shape": {
      "enum": [
        "rect",
        "cyl",
        "bow"
      ],
      "type": "string",
      "description": "Tank shape: rectangular, cylindrical or bow-front."
    },
    "width_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Tank width in centimeters."
    },
    "height_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Tank height in centimeters."
    },
    "length_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Tank length in centimeters."
    },
    "diameter_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Cylinder diameter in centimeters."
    },
    "bow_depth_cm": {
      "type": "number",
      "maximum": 1000,
      "minimum": 0,
      "description": "Curved front depth in centimeters for bow-front tanks."
    },
    "water_height_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Actual filled water height in centimeters."
    },
    "glass_thickness_mm": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Glass thickness in millimeters for net volume estimates."
    },
    "substrate_depth_cm": {
      "type": "number",
      "maximum": 1000,
      "minimum": 0,
      "description": "Substrate depth in centimeters."
    },
    "water_density_kg_per_liter": {
      "type": "number",
      "maximum": 2,
      "minimum": 0.5,
      "description": "Water density in kilograms per liter."
    },
    "hardscape_displacement_liters": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0,
      "description": "Estimated hardscape displacement in liters."
    }
  }
}
calculate_tank_volume output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_tank_volume annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_tank_weight — Calculate tank weight
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate advisory aquarium weight estimates from dimensions and material inputs.

calculate_tank_weight input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "shape"
  ],
  "properties": {
    "shape": {
      "enum": [
        "rect",
        "cyl",
        "bow"
      ],
      "type": "string",
      "description": "Tank shape: rectangular, cylindrical or bow-front."
    },
    "width_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Tank width in centimeters."
    },
    "height_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Tank height in centimeters."
    },
    "length_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Tank length in centimeters."
    },
    "diameter_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Cylinder diameter in centimeters."
    },
    "bow_depth_cm": {
      "type": "number",
      "maximum": 1000,
      "minimum": 0,
      "description": "Curved front depth in centimeters for bow-front tanks."
    },
    "water_height_cm": {
      "type": "number",
      "maximum": 5000,
      "minimum": 0,
      "description": "Actual filled water height in centimeters."
    },
    "glass_thickness_mm": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Glass thickness in millimeters for net volume estimates."
    },
    "substrate_depth_cm": {
      "type": "number",
      "maximum": 1000,
      "minimum": 0,
      "description": "Substrate depth in centimeters."
    },
    "equipment_weight_kg": {
      "type": "number",
      "maximum": 1000000,
      "minimum": 0,
      "description": "Additional equipment weight in kilograms."
    },
    "hardscape_weight_kg": {
      "type": "number",
      "maximum": 1000000,
      "minimum": 0,
      "description": "Hardscape weight in kilograms."
    },
    "glass_weight_override_kg": {
      "type": "number",
      "maximum": 1000000,
      "minimum": 0,
      "description": "Known glass weight override in kilograms."
    },
    "water_density_kg_per_liter": {
      "type": "number",
      "maximum": 2,
      "minimum": 0.5,
      "description": "Water density in kilograms per liter."
    },
    "substrate_weight_override_kg": {
      "type": "number",
      "maximum": 1000000,
      "minimum": 0,
      "description": "Known substrate weight override in kilograms."
    },
    "hardscape_displacement_liters": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0,
      "description": "Estimated hardscape displacement in liters."
    },
    "substrate_density_kg_per_liter": {
      "type": "number",
      "maximum": 20,
      "minimum": 0.1,
      "description": "Substrate density in kilograms per liter."
    }
  }
}
calculate_tank_weight output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_tank_weight annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_water_change — Calculate water change
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate water change volume, weekly totals and dilution estimates.

calculate_water_change input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "volume_liters": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0,
      "description": "Tank volume or change volume in liters."
    },
    "change_percent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Percent of tank volume changed per water change."
    },
    "changes_per_week": {
      "type": "integer",
      "maximum": 50,
      "minimum": 0,
      "description": "Number of water changes per week."
    }
  }
}
calculate_water_change output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_water_change annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_water_chemistry — Calculate water chemistry
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate public water chemistry conversions, CO2, salinity and water-mix estimates.

calculate_water_chemistry input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "co2": {
      "type": "object",
      "required": [
        "kh_dkh",
        "ph"
      ],
      "properties": {
        "ph": {
          "type": "number",
          "maximum": 14,
          "minimum": 0,
          "description": "Water pH value on the 0 to 14 scale."
        },
        "kh_dkh": {
          "type": "number",
          "maximum": 1000,
          "minimum": 0,
          "description": "Carbonate hardness in dKH."
        }
      },
      "description": "CO2 estimation input from KH and pH.",
      "additionalProperties": false
    },
    "salinity": {
      "type": "object",
      "properties": {
        "target_ppt": {
          "type": "number",
          "maximum": 500,
          "minimum": 0,
          "description": "Target salinity in parts per thousand."
        },
        "current_ppt": {
          "type": "number",
          "maximum": 500,
          "minimum": 0,
          "description": "Current salinity in parts per thousand."
        },
        "salinity_ppt": {
          "type": "number",
          "maximum": 500,
          "minimum": 0,
          "description": "Measured or source salinity in parts per thousand."
        },
        "temperature_c": {
          "type": "number",
          "maximum": 60,
          "minimum": -10,
          "description": "Water temperature in Celsius for salinity adjustment."
        },
        "volume_liters": {
          "type": "number",
          "maximum": 100000,
          "minimum": 0,
          "description": "Water volume in liters for salinity calculations."
        }
      },
      "description": "Salinity calculation input.",
      "additionalProperties": false
    },
    "water_mix": {
      "type": "object",
      "properties": {
        "target_gh": {
          "type": "number",
          "maximum": 10000,
          "minimum": 0,
          "description": "Target general hardness for the mix."
        },
        "source1_gh": {
          "type": "number",
          "maximum": 10000,
          "minimum": 0,
          "description": "General hardness of source water 1."
        },
        "source2_gh": {
          "type": "number",
          "maximum": 10000,
          "minimum": 0,
          "description": "General hardness of source water 2."
        },
        "total_liters": {
          "type": "number",
          "maximum": 100000,
          "minimum": 0,
          "description": "Total mixed water volume in liters."
        }
      },
      "description": "Water-mixing calculation input.",
      "additionalProperties": false
    },
    "general_hardness": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "enum": [
            "dgh",
            "fh",
            "ppm",
            "mmol"
          ],
          "type": "string",
          "description": "General hardness input unit."
        },
        "value": {
          "type": "number",
          "maximum": 10000,
          "minimum": 0,
          "description": "General hardness value."
        }
      },
      "description": "General hardness conversion input.",
      "additionalProperties": false
    },
    "carbonate_hardness": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "enum": [
            "dkh",
            "fh",
            "ppm",
            "meq"
          ],
          "type": "string",
          "description": "Carbonate hardness input unit."
        },
        "value": {
          "type": "number",
          "maximum": 10000,
          "minimum": 0,
          "description": "Carbonate hardness value."
        }
      },
      "description": "Carbonate hardness conversion input.",
      "additionalProperties": false
    }
  }
}
calculate_water_chemistry output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_water_chemistry annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_units — Convert units
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert aquarium-relevant temperature, length, weight and volume units.

convert_units input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "length": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "enum": [
            "cm",
            "mm",
            "in",
            "ft"
          ],
          "type": "string",
          "description": "Length input unit."
        },
        "value": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Length value to convert."
        }
      },
      "description": "Length conversion input.",
      "additionalProperties": false
    },
    "volume": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "enum": [
            "l",
            "ml",
            "galUs",
            "galUk",
            "flOz"
          ],
          "type": "string",
          "description": "Volume input unit."
        },
        "value": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Volume value to convert."
        }
      },
      "description": "Volume conversion input.",
      "additionalProperties": false
    },
    "weight": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "enum": [
            "g",
            "kg",
            "oz",
            "lb"
          ],
          "type": "string",
          "description": "Weight input unit."
        },
        "value": {
          "type": "number",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Weight value to convert."
        }
      },
      "description": "Weight conversion input.",
      "additionalProperties": false
    },
    "temperature": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "enum": [
            "c",
            "f",
            "k"
          ],
          "type": "string",
          "description": "Temperature input unit."
        },
        "value": {
          "type": "number",
          "maximum": 10000,
          "minimum": -500,
          "description": "Temperature value to convert."
        }
      },
      "description": "Temperature conversion input.",
      "additionalProperties": false
    },
    "temperature_delta": {
      "type": "object",
      "required": [
        "from_c",
        "to_c"
      ],
      "properties": {
        "to_c": {
          "type": "number",
          "maximum": 10000,
          "minimum": -500,
          "description": "Target temperature in Celsius."
        },
        "from_c": {
          "type": "number",
          "maximum": 10000,
          "minimum": -500,
          "description": "Starting temperature in Celsius."
        }
      },
      "description": "Temperature difference input.",
      "additionalProperties": false
    }
  }
}
convert_units output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
convert_units annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_equipment_requirements — Calculate equipment requirements
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate advisory heater, lighting and electricity requirements.

calculate_equipment_requirements input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "heater": {
      "type": "object",
      "required": [
        "insulation"
      ],
      "properties": {
        "target_c": {
          "type": "number",
          "maximum": 80,
          "minimum": -50,
          "description": "Target water temperature in Celsius."
        },
        "ambient_c": {
          "type": "number",
          "maximum": 80,
          "minimum": -50,
          "description": "Ambient room temperature in Celsius."
        },
        "insulation": {
          "enum": [
            "good",
            "normal",
            "poor"
          ],
          "type": "string",
          "description": "Tank insulation quality."
        },
        "volume_liters": {
          "type": "number",
          "maximum": 100000,
          "minimum": 0,
          "description": "Tank volume in liters for heater sizing."
        }
      },
      "description": "Heater sizing input.",
      "additionalProperties": false
    },
    "lighting": {
      "type": "object",
      "properties": {
        "watts": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Lighting wattage."
        },
        "lumens": {
          "type": "number",
          "maximum": 10000000,
          "minimum": 0,
          "description": "Lighting output in lumens."
        },
        "volume_liters": {
          "type": "number",
          "maximum": 100000,
          "minimum": 0,
          "description": "Tank volume in liters for lighting estimates."
        }
      },
      "description": "Lighting estimate input.",
      "additionalProperties": false
    },
    "electricity": {
      "type": "object",
      "properties": {
        "wattage": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Equipment wattage."
        },
        "cost_per_kwh": {
          "type": "number",
          "maximum": 1000,
          "minimum": 0,
          "description": "Electricity cost per kWh."
        },
        "hours_per_day": {
          "type": "number",
          "maximum": 24,
          "minimum": 0,
          "description": "Daily runtime in hours."
        },
        "duty_cycle_percent": {
          "type": "number",
          "maximum": 100,
          "minimum": 0,
          "description": "Estimated duty cycle percentage."
        }
      },
      "description": "Electricity cost and usage calculation input.",
      "additionalProperties": false
    }
  }
}
calculate_equipment_requirements output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
calculate_equipment_requirements annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
suggest_habitat_for_tank — Suggest habitat for tank
Advertised by the server during the last successful anonymous check.
Advertised read-only

Suggest a complete public habitat plan with species, plants, products, warnings, motivations and related guides.

suggest_habitat_for_tank input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "tank_liters"
  ],
  "properties": {
    "gh": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Water hardness, conductivity or TDS-style value for advisory matching."
    },
    "kh": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Water hardness, conductivity or TDS-style value for advisory matching."
    },
    "ph": {
      "type": "number",
      "maximum": 14,
      "minimum": 0,
      "description": "Water pH value on the 0 to 14 scale."
    },
    "co2": {
      "enum": [
        "none",
        "low",
        "injected"
      ],
      "type": "string",
      "description": "CO2 setup level for the suggested habitat."
    },
    "tds": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Total dissolved solids value for habitat matching."
    },
    "limit": {
      "type": "integer",
      "maximum": 30,
      "description": "Maximum number of suggestions to return, up to 30.",
      "exclusiveMinimum": 0
    },
    "language": {
      "enum": [
        "it",
        "en",
        "es"
      ],
      "type": "string",
      "description": "Optional preferred response language: it, en or es."
    },
    "water_type": {
      "enum": [
        "FRESHWATER",
        "MARINE",
        "BRACKISH",
        "TERRESTRIAL",
        "SEMI_AQUATIC"
      ],
      "type": "string",
      "description": "Target habitat water or environment type."
    },
    "light_level": {
      "enum": [
        "low",
        "medium",
        "high"
      ],
      "type": "string",
      "description": "Lighting intensity preference for the suggested habitat."
    },
    "tank_liters": {
      "type": "number",
      "maximum": 100000,
      "description": "Tank or habitat volume in liters.",
      "exclusiveMinimum": 0
    },
    "temperature": {
      "type": "number",
      "maximum": 45,
      "minimum": 0,
      "description": "Water or ambient temperature in degrees Celsius."
    },
    "planted_tank": {
      "type": "boolean",
      "description": "When true, prefer plans designed for planted aquariums."
    },
    "setup_intent": {
      "enum": [
        "community",
        "shrimp",
        "planted",
        "breeding"
      ],
      "type": "string",
      "description": "Primary setup intent for the habitat plan."
    },
    "beginner_friendly": {
      "type": "boolean",
      "description": "When true, prefer beginner-friendly habitat plans."
    },
    "target_difficulty": {
      "enum": [
        "easy",
        "balanced",
        "expert"
      ],
      "type": "string",
      "description": "Desired care difficulty for the habitat plan."
    }
  }
}
suggest_habitat_for_tank output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "data",
    "tool"
  ],
  "properties": {
    "data": {},
    "tool": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
suggest_habitat_for_tank annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

9 advertised

atlarium_species_search — Atlarium species search

Advertised by the server during the last successful anonymous check.

Guide a public search for fish, aquatic animals or plants.

language
No description
query
No description
atlarium_compatibility_check — Atlarium compatibility check

Advertised by the server during the last successful anonymous check.

Guide a public compatibility review for species and tank parameters.

language
No description
species
No description
tank_liters
No description
atlarium_habitat_plan — Atlarium habitat plan

Advertised by the server during the last successful anonymous check.

Guide a complete public habitat plan for a tank.

language
No description
tank_liters
No description
intent
No description
atlarium_algae_diagnosis — Atlarium algae diagnosis

Advertised by the server during the last successful anonymous check.

Guide public algae diagnostic lookup.

language
No description
symptoms
No description
atlarium_disease_diagnosis — Atlarium disease diagnosis

Advertised by the server during the last successful anonymous check.

Guide public disease and medicine diagnostic lookup.

language
No description
symptoms
No description
atlarium_plant_problem_diagnosis — Atlarium plant problem diagnosis

Advertised by the server during the last successful anonymous check.

Guide public aquatic plant deficiency/problem lookup.

language
No description
symptoms
No description
atlarium_product_selection — Atlarium product selection

Advertised by the server during the last successful anonymous check.

Guide public product, equipment and fertilizer selection.

language
No description
use_case
No description
atlarium_fertilization_plan — Atlarium fertilization plan

Advertised by the server during the last successful anonymous check.

Guide advisory fertilization calculations and plan generation.

language
No description
tank_liters
No description
regime
No description
atlarium_tank_calculations — Atlarium tank calculations

Advertised by the server during the last successful anonymous check.

Guide public tank volume, weight, water chemistry, units and equipment calculations.

language
No description
task
No description

Resources

4 advertised

atlarium-habitat-explorer — Atlarium Habitat Explorer

Advertised by the server during the last successful anonymous check.

Native read-only habitat views for species, compatibility, diagnostics, products, calculations, fertilization and tank planning.

atlarium-habitat-explorer URI
ui://widget/habitat-explorer.v4.html

MIME type: text/html;profile=mcp-app

atlarium-habitat-explorer-compat-3 — Atlarium Habitat Explorer legacy template

Advertised by the server during the last successful anonymous check.

Native read-only habitat views for species, compatibility, diagnostics, products, calculations, fertilization and tank planning.

atlarium-habitat-explorer-compat-3 URI
ui://widget/habitat-explorer.v3.html

MIME type: text/html;profile=mcp-app

atlarium-habitat-explorer-compat-2 — Atlarium Habitat Explorer legacy template

Advertised by the server during the last successful anonymous check.

Native read-only habitat views for species, compatibility, diagnostics, products, calculations, fertilization and tank planning.

atlarium-habitat-explorer-compat-2 URI
ui://widget/habitat-explorer.v2.html

MIME type: text/html;profile=mcp-app

atlarium-habitat-explorer-compat-1 — Atlarium Habitat Explorer legacy template

Advertised by the server during the last successful anonymous check.

Native read-only habitat views for species, compatibility, diagnostics, products, calculations, fertilization and tank planning.

atlarium-habitat-explorer-compat-1 URI
ui://widget/habitat-explorer.v1.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2251 ms
95th percentile latency
2251 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2251 ms · metadata changed · 39 tool(s), 4 resource(s), 0 resource template(s), 9 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http atlarium-habitat-database-mcp https://mcp.atlarium.bio/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add atlarium-habitat-database-mcp --url https://mcp.atlarium.bio/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable atlarium-habitat-database-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "atlarium-habitat-database-mcp": {
      "url": "https://mcp.atlarium.bio/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "atlarium-habitat-database-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.atlarium.bio/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start atlarium-habitat-database-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "atlarium-habitat-database-mcp": {
      "type": "http",
      "url": "https://mcp.atlarium.bio/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http atlarium-habitat-database-mcp https://mcp.atlarium.bio/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.atlarium.bio/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "atlarium-habitat-database-mcp": {
      "serverUrl": "https://mcp.atlarium.bio/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Atlarium Habitat Database MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Atlarium Habitat Database MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing