Skip to content

Atlarium Habitat Database MCP

by atlarium.bio · remote · no sign-in to list tools · v2.0.3 · published by bio.atlarium

Structured habitat data and advisory tools for aquariums, marine tanks, terrariums and paludariums.

Changes · 12

39 tools: 12 change things and 27 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http habitat-database https://mcp.atlarium.bio/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "generate_fertilization_plan" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_fertilization_plan" says "generate": a word for a change.

    What this check looks for
  • The server marks "convert_units" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_units" says "convert": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

39 tools

Changes things 12Claude Code: ask
  • calculate_equipment_requirementsCalculate advisory heater, lighting and electricity requirements.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate advisory heater, lighting and electricity requirements.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • calculate_fertilizer_doseCalculate an advisory fertilizer dose for a public catalog product and tank volume.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate an advisory fertilizer dose for a public catalog product and tank volume.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • calculate_tank_volumeCalculate gross and net aquarium volume estimates from dimensions.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate gross and net aquarium volume estimates from dimensions.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • calculate_tank_weightCalculate advisory aquarium weight estimates from dimensions and material inputs.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate advisory aquarium weight estimates from dimensions and material inputs.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • calculate_water_changeCalculate water change volume, weekly totals and dilution estimates.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate water change volume, weekly totals and dilution estimates.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • calculate_water_chemistryCalculate public water chemistry conversions, CO2, salinity and water-mix estimates.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate public water chemistry conversions, CO2, salinity and water-mix estimates.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • calculate_weekly_dose_totalsCalculate weekly fertilizer totals for a supplied non-persistent dosing plan.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate weekly fertilizer totals for a supplied non-persistent dosing plan.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • check_species_compatibilityCheck basic compatibility information between habitat species using Atlarium data.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check basic compatibility information between habitat species using Atlarium data.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • convert_unitsConvert aquarium-relevant temperature, length, weight and volume units.1 finding

    Why it is in this group

    • The name "convert_units" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "convert_units" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_units" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert aquarium-relevant temperature, length, weight and volume units.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • generate_fertilization_planGenerate an advisory non-persistent fertilization plan from public Atlarium catalog data.1 finding

    Why it is in this group

    • The name "generate_fertilization_plan" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_fertilization_plan" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_fertilization_plan" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate an advisory non-persistent fertilization plan from public Atlarium catalog data.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • suggest_habitat_for_tankSuggest a complete public habitat plan with species, plants, products, warnings, motivations and related guides.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suggest a complete public habitat plan with species, plants, products, warnings, motivations and related guides.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • suggest_species_for_tankSuggest compatible aquatic species based on tank size and water parameters.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Suggest compatible aquatic species based on tank size and water parameters.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
Only reads 27Claude Code: allow
  • calculate_nutrient_gapsCompare nutrient targets with supplied measurements without saving user data.No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare nutrient targets with supplied measurements without saving user data.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_algae_profileGet a structured public algae diagnostic profile using the exact slug returned by search_algae.No findings

    Why it is in this group

    • The name "get_algae_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public algae diagnostic profile using the exact slug returned by search_algae.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_disease_profileGet a structured public aquatic disease profile using the exact slug returned by search_diseases.No findings

    Why it is in this group

    • The name "get_disease_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public aquatic disease profile using the exact slug returned by search_diseases.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_equipment_profileGet a structured public equipment product profile using the exact slug returned by search_equipment.No findings

    Why it is in this group

    • The name "get_equipment_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public equipment product profile using the exact slug returned by search_equipment.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_fertilization_regimeGet a structured public fertilization regime using the exact slug returned by search_fertilization_regimes.No findings

    Why it is in this group

    • The name "get_fertilization_regime" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public fertilization regime using the exact slug returned by search_fertilization_regimes.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_fertilizer_profileGet a structured public fertilizer product profile using the exact slug returned by search_fertilizers.No findings

    Why it is in this group

    • The name "get_fertilizer_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public fertilizer product profile using the exact slug returned by search_fertilizers.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_fish_profileGet a structured fish or aquatic animal profile using the exact slug returned by search_fish.No findings

    Why it is in this group

    • The name "get_fish_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured fish or aquatic animal profile using the exact slug returned by search_fish.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_guideGet a structured public Atlarium guide using the exact slug returned by search_guides.No findings

    Why it is in this group

    • The name "get_guide" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public Atlarium guide using the exact slug returned by search_guides.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_medicine_profileGet a structured public aquarium medicine profile using the exact slug returned by search_medicines.No findings

    Why it is in this group

    • The name "get_medicine_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public aquarium medicine profile using the exact slug returned by search_medicines.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_plant_problem_profileGet a structured public aquatic plant problem or deficiency profile using the exact slug returned by search_plant_problems.No findings

    Why it is in this group

    • The name "get_plant_problem_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public aquatic plant problem or deficiency profile using the exact slug returned by search_plant_problems.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_plant_profileGet a structured aquatic plant profile using the exact slug returned by search_plants.No findings

    Why it is in this group

    • The name "get_plant_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured aquatic plant profile using the exact slug returned by search_plants.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_product_profileGet a structured public habitat product profile using the exact slug returned by search_products.No findings

    Why it is in this group

    • The name "get_product_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get a structured public habitat product profile using the exact slug returned by search_products.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • get_water_parametersGet recommended water parameters using the exact slug returned by search_fish or search_plants.No findings

    Why it is in this group

    • The name "get_water_parameters" says "get": a word for reading.
    Description, as the server wrote it
    Get recommended water parameters using the exact slug returned by search_fish or search_plants.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • list_product_brandsList public Atlarium product brands.No findings

    Why it is in this group

    • The name "list_product_brands" says "list": a word for reading.
    Description, as the server wrote it
    List public Atlarium product brands.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • list_product_categoriesList public Atlarium product categories for equipment and fertilizers.No findings

    Why it is in this group

    • The name "list_product_categories" says "list": a word for reading.
    Description, as the server wrote it
    List public Atlarium product categories for equipment and fertilizers.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • match_diagnostic_profilesFind likely public algae, disease, plant problem and medicine profiles from a symptom query.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find likely public algae, disease, plant problem and medicine profiles from a symptom query.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_algaeSearch public algae diagnostic profiles with symptoms, causes and treatment guidance.No findings

    Why it is in this group

    • The name "search_algae" says "search": a word for reading.
    Description, as the server wrote it
    Search public algae diagnostic profiles with symptoms, causes and treatment guidance.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_diseasesSearch public aquatic disease diagnostic profiles and advisory treatment information.No findings

    Why it is in this group

    • The name "search_diseases" says "search": a word for reading.
    Description, as the server wrote it
    Search public aquatic disease diagnostic profiles and advisory treatment information.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_equipmentSearch public aquarium and habitat equipment products.No findings

    Why it is in this group

    • The name "search_equipment" says "search": a word for reading.
    Description, as the server wrote it
    Search public aquarium and habitat equipment products.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_fertilization_regimesSearch public fertilization regimes and dosing philosophies.No findings

    Why it is in this group

    • The name "search_fertilization_regimes" says "search": a word for reading.
    Description, as the server wrote it
    Search public fertilization regimes and dosing philosophies.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_fertilizersSearch public aquarium fertilizer products and nutrient profiles.No findings

    Why it is in this group

    • The name "search_fertilizers" says "search": a word for reading.
    Description, as the server wrote it
    Search public aquarium fertilizer products and nutrient profiles.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_fishSearch fish and aquatic animal profiles in the Atlarium habitat database.No findings

    Why it is in this group

    • The name "search_fish" says "search": a word for reading.
    Description, as the server wrote it
    Search fish and aquatic animal profiles in the Atlarium habitat database.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_guidesSearch Atlarium habitat guides and educational content.No findings

    Why it is in this group

    • The name "search_guides" says "search": a word for reading.
    Description, as the server wrote it
    Search Atlarium habitat guides and educational content.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_medicinesSearch public aquarium medicine and treatment product profiles.No findings

    Why it is in this group

    • The name "search_medicines" says "search": a word for reading.
    Description, as the server wrote it
    Search public aquarium medicine and treatment product profiles.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_plant_problemsSearch public aquatic plant deficiency, pest and environmental problem profiles.No findings

    Why it is in this group

    • The name "search_plant_problems" says "search": a word for reading.
    Description, as the server wrote it
    Search public aquatic plant deficiency, pest and environmental problem profiles.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_plantsSearch aquatic plants in the Atlarium database.No findings

    Why it is in this group

    • The name "search_plants" says "search": a word for reading.
    Description, as the server wrote it
    Search aquatic plants in the Atlarium database.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true
  • search_productsSearch public habitat products in the Atlarium database.No findings

    Why it is in this group

    • The name "search_products" says "search": a word for reading.
    Description, as the server wrote it
    Search public habitat products in the Atlarium database.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.0.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http habitat-database https://mcp.atlarium.bio/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__habitat-database__search_fish",
      "mcp__habitat-database__get_fish_profile",
      "mcp__habitat-database__search_plants",
      "mcp__habitat-database__get_plant_profile",
      "mcp__habitat-database__search_products",
      "mcp__habitat-database__get_product_profile",
      "mcp__habitat-database__get_water_parameters",
      "mcp__habitat-database__search_guides",
      "mcp__habitat-database__get_guide",
      "mcp__habitat-database__search_algae",
      "mcp__habitat-database__get_algae_profile",
      "mcp__habitat-database__search_diseases",
      "mcp__habitat-database__get_disease_profile",
      "mcp__habitat-database__search_plant_problems",
      "mcp__habitat-database__get_plant_problem_profile",
      "mcp__habitat-database__search_medicines",
      "mcp__habitat-database__get_medicine_profile",
      "mcp__habitat-database__match_diagnostic_profiles",
      "mcp__habitat-database__list_product_categories",
      "mcp__habitat-database__list_product_brands",
      "mcp__habitat-database__search_equipment",
      "mcp__habitat-database__get_equipment_profile",
      "mcp__habitat-database__search_fertilizers",
      "mcp__habitat-database__get_fertilizer_profile",
      "mcp__habitat-database__search_fertilization_regimes",
      "mcp__habitat-database__get_fertilization_regime",
      "mcp__habitat-database__calculate_nutrient_gaps"
    ],
    "ask": [
      "mcp__habitat-database__check_species_compatibility",
      "mcp__habitat-database__suggest_species_for_tank",
      "mcp__habitat-database__calculate_fertilizer_dose",
      "mcp__habitat-database__calculate_weekly_dose_totals",
      "mcp__habitat-database__generate_fertilization_plan",
      "mcp__habitat-database__calculate_tank_volume",
      "mcp__habitat-database__calculate_tank_weight",
      "mcp__habitat-database__calculate_water_change",
      "mcp__habitat-database__calculate_water_chemistry",
      "mcp__habitat-database__convert_units",
      "mcp__habitat-database__calculate_equipment_requirements",
      "mcp__habitat-database__suggest_habitat_for_tank"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as habitat-database. Review it before you use it.