Atlarium Habitat Database MCP

MCP serverDatabases & data

habitat-database gives your AI structured data and advisory tools for aquariums, marine tanks, terrariums and paludariums. Once added, your AI can look up habitat information and give advice on setting up and caring for these environments. Useful if you keep fish, reptiles, or mixed land-and-water habitats and want answers grounded in real data.

Use Atlarium Habitat Database MCP in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Atlarium Habitat Database MCP and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use Atlarium Habitat Database MCP to search fish

Details

Available today. Use it from your connected AI after setup.

Add habitat-database, then ask your AI a question about your tank or terrarium, such as what conditions a species needs or how to set up a new habitat.

Atlarium Habitat Database MCPStart free

What your AI can do with it

  • Look up structured data for aquariums and marine tanks
  • Look up structured data for terrariums and paludariums
  • Get care and setup advice for different habitat types
  • Answer questions about your habitat using reference data

Install Atlarium Habitat Database MCP

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

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

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://mcp.atlarium.bio/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=atlarium-habitat-database-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5hdGxhcml1bS5iaW8vbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://mcp.atlarium.bio/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add atlarium-habitat-database-mcp --url 'https://mcp.atlarium.bio/mcp'

    Run it once, then sign in with codex mcp login atlarium-habitat-database-mcp if the server asks for an account.

From the project's README

As published by techgardeners/atlarium-mcp in README.md.

Atlarium Habitat Database MCP gives AI agents structured access to public Atlarium data and advisory functions for aquariums, marine tanks, coldwater systems, terrariums, paludariums and vivariums. It exposes 39 public read-only tools for species, plants, products, guides, algae, diseases, plant problems, medicines, compatibility, fertilization, calculators and complete habitat planning without exposing Atlarium accounts, private workspaces, admin APIs or write operations.

At A Glance

SurfaceValue
MCP endpointhttps://mcp.atlarium.bio/mcp
MCP version2.0.3
TransportStreamable HTTP
Authenticationnone
Tool surface39 public read-only tools
Prompts9 guided public prompts
Apps widgetui://widget/habitat-explorer.v4.html
Server cardhttps://mcp.atlarium.bio/.well-known/mcp/server-card.json
Human docshttps://atlarium.bio/mcp
Official MCP Registrybio.atlarium/habitat-database

https://atlarium.bio/mcp is documentation. The canonical Streamable HTTP MCP endpoint is https://mcp.atlarium.bio/mcp.

What You Can Build

Use casePublic tools
Species researchSearch fish, aquatic animals and plants, then retrieve localized structured profiles.
Tank compatibilityCompare species against tank size, pH, hardness and temperature constraints.
Diagnostic triageSearch algae, aquatic diseases, plant problems and treatment references from public profiles.
Product selectionExplore product categories, brands, equipment and fertilizers.
Fertilization supportSearch dosing regimes, calculate product doses, nutrient gaps and weekly totals.
Aquarium calculatorsEstimate tank volume, weight, water changes, water chemistry, unit conversions and equipment needs.
Habitat planningGenerate a complete advisory tank plan with species, plants, products, warnings, motivations and related guides.
Guide retrievalSearch and retrieve public Atlarium educational content.

All outputs are advisory. Compatibility checks, diagnostics, fertilization plans, equipment estimates, aquarium calculators and tank suggestions should be verified against real livestock, equipment, water chemistry, local regulations and husbandry constraints.

Quickstart

Use any MCP client that supports remote Streamable HTTP servers:

{
  "mcpServers": {
    "atlarium": {
      "type": "streamable-http",
      "url": "https://mcp.atlarium.bio/mcp"
    }
  }
}

Claude Code remote HTTP example:

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

Smoke check the live endpoint:

curl --fail --silent --show-error https://mcp.atlarium.bio/health
curl --fail --silent --show-error https://mcp.atlarium.bio/.well-known/mcp/server-card.json
pnpm mcp:monitor:public

Client Setup

Client or hostSetup
OpenAI Agents SDKSee examples/openai-agents-python for a Python agent that connects to the remote Streamable HTTP endpoint.
Claude CodeRun claude mcp add --transport http atlarium https://mcp.atlarium.bio/mcp, then ask Claude to use Atlarium.
CursorUse the Add to Cursor deep link or the root mcp.json.
ClineAdd the hosted endpoint as a Streamable HTTP remote server; llms-install.md contains deterministic agent setup instructions.
WindsurfCopy examples/windsurf/mcp_config.json into Windsurf MCP settings and refresh Cascade MCP servers.
VS CodeCopy examples/vscode/mcp.json; VS Code uses type: "http" for remote MCP servers.
AntigravityUse examples/antigravity/mcp.json only in builds that support remote MCP servers.
Generic Streamable HTTPUse the JSON-RPC examples in examples/generic-streamable-http.
ChatGPT AppsThe existing app version 1.0.0 is approved in the OpenAI dashboard. The corrected 2.0.3 package was resubmitted on 2026-08-29 with taxonomy-stable tests and OpenAI Platform now shows Review. Use examples/chatgpt-apps and docs/chatgpt-review-remediation.md for review notes and smoke prompts.

These are compatibility notes, not vendor endorsements. Do not make vendor or directory support claims for ChatGPT, Claude, Cursor, Windsurf, VS Code, Antigravity or any directory unless that vendor has accepted the listing.

ChatGPT App And Widget

The server advertises a read-only MCP Apps / ChatGPT Apps widget resource for Apps-compatible hosts:

FieldValue
Resource URIui://widget/habitat-explorer.v4.html
MIME typetext/html;profile=mcp-app
WidgetAtlarium Habitat Explorer
Widget domainhttps://mcp.atlarium.bio
Output modePlain JSON text plus structuredContent

The widget renders public habitat results, profiles, diagnostic summaries, product results, calculator output, compatibility summaries, fertilization plans and habitat suggestions. It does not add write access and does not expose workspace, auth, admin, journal, schedule or measurement data.

Widget-only development screenshots and a short demo recording are checked in under docs/assets/chatgpt-screenshots/ and docs/assets/chatgpt-app-demo.mp4. Real host-level web and responsive 390x844 captures are stored under docs/assets/chatgpt-screenshots/real-host/; native iOS/Android recording is still required for the final review package. The v4 / 2.0.3 candidate is live at the MCP endpoint but is not yet approved as the new ChatGPT App version; do not describe that app submission as approved until OpenAI accepts it. The existing dashboard app version 1.0.0 is approved.

Tool Surface

AreaTools
Fish and aquatic animalssearch_fish, get_fish_profile
Aquatic plantssearch_plants, get_plant_profile
Products and guidessearch_products, get_product_profile, search_guides, get_guide
Diagnosticssearch_algae, get_algae_profile, search_diseases, get_disease_profile, search_plant_problems, get_plant_problem_profile, search_medicines, get_medicine_profile, match_diagnostic_profiles
Product cataloglist_product_categories, list_product_brands, search_equipment, get_equipment_profile, search_fertilizers, get_fertilizer_profile
Compatibility and watercheck_species_compatibility, get_water_parameters, suggest_species_for_tank
Fertilizationsearch_fertilization_regimes, get_fertilization_regime, calculate_fertilizer_dose, calculate_nutrient_gaps, calculate_weekly_dose_totals, generate_fertilization_plan
Calculatorscalculate_tank_volume, calculate_tank_weight, calculate_water_change, calculate_water_chemistry, convert_units, calculate_equipment_requirements
Habitat plannersuggest_habitat_for_tank

Every tool is registered with read-only annotations: readOnlyHint: true, openWorldHint: false, destructiveHint: false, idempotentHint: true.

Guided Prompts

The server advertises guided prompts for species search, compatibility, habitat planning, algae, diseases, plant problems, product selection, fertilization and tank calculations. Prompts guide clients toward the same public read-only tool surface; they do not add new capabilities or write access.

Tool Call Examples

Each example shows the MCP tool name and a minimal valid JSON input. Generic MCP clients receive plain JSON text; Apps-compatible hosts can also use structuredContent.

search_fish

Purpose: search fish and aquatic animal profiles.

Prompt: "Find beginner-friendly small fish for a 90 L planted tank."

{
  "query": "tetra",
  "language": "en",
  "min_tank_liters": 40,
  "max_tank_liters": 120,
  "limit": 5
}

Output: matching public animal profiles with slugs, localized names, summary fields and public URLs when available.

get_fish_profile

Purpose: retrieve one structured fish or aquatic animal profile.

Prompt: "Show me the Atlarium profile for Neon Tetra."

{
  "slug": "paracheirodon-innesi",
  "language": "en"
}

Output: public profile data, care parameters, taxonomy, relationships and localized content where available.

search_plants

Purpose: search aquatic plant profiles.

Prompt: "Find easy foreground or midground plants for low-tech tanks."

{
  "query": "anubias",
  "language": "en",
  "difficulty": "easy",
  "limit": 5
}

Output: matching public plant profiles with placement, difficulty and public URLs when available.

get_plant_profile

Purpose: retrieve one structured aquatic plant profile.

Prompt: "Open the plant profile for Anubias barteri."

{
  "slug": "anubias-barteri",
  "language": "en"
}

Output: plant requirements, growth information, structured attributes and localized content where available.

search_products

Purpose: search public habitat products.

Prompt: "Find filter products for freshwater tanks."

{
  "query": "filter",
  "language": "en",
  "category": "filter",
  "limit": 5
}

Output: product results with brand/category information and public product URLs when available.

get_product_profile

Purpose: retrieve a public product profile.

Prompt: "Show the product profile for this catalog slug."

{
  "slug": "seachem/prime",
  "language": "en"
}

Output: structured public product data, use cases, brand details and links when available.

search_guides

Purpose: search Atlarium guides and educational content.

Prompt: "Find public guides about cycling an aquarium."

{
  "query": "cycling",
  "language": "en",
  "topic": "aquarium",
  "limit": 5
}

Output: guide matches with title, summary, topic and public URLs when available.

get_guide

Purpose: retrieve one public Atlarium guide.

Prompt: "Open the nitrogen cycle guide."

{
  "slug": "aquarium/nitrogen-cycle",
  "language": "en"
}

Output: structured public guide content and related metadata.

search_algae

Purpose: search algae diagnostic profiles.

Prompt: "Find algae profiles for green dust on aquarium glass."

{
  "query": "green dust",
  "language": "en",
  "difficulty": 2,
  "limit": 5
}

Output: algae matches with symptoms, likely causes and advisory guidance.

get_algae_profile

Purpose: retrieve one algae profile.

Prompt: "Show the profile for green spot algae."

{
  "slug": "green-spot-algae",
  "language": "en"
}

Output: structured public algae profile with symptoms, causes, prevention and advisory response.

search_diseases

Purpose: search aquatic disease profiles.

Prompt: "Find disease profiles for white spots on fish."

{
  "query": "white spots",
  "language": "en",
  "water_type": "freshwater",
  "limit": 5
}

Output: possible disease profiles and advisory treatment references.

get_disease_profile

Purpose: retrieve one disease profile.

Prompt: "Open the ich disease profile."

{
  "slug": "ich",
  "language": "en"
}

Output: symptoms, possible causes, treatment references and disclaimers.

search_plant_problems

Purpose: search aquatic plant deficiency, pest and environment profiles.

Prompt: "Find causes for yellowing leaves in aquarium plants."

{
  "query": "yellow leaves",
  "language": "en",
  "type": "deficiency",
  "limit": 5
}

Output: plant problem matches with symptoms, causes and advisory corrections.

get_plant_problem_profile

Purpose: retrieve one plant problem profile.

Prompt: "Open the nitrogen deficiency profile."

{
  "slug": "nitrogen-deficiency",
  "language": "en"
}

Output: structured deficiency/problem data and advisory guidance.

search_medicines

Purpose: search aquarium medicine and treatment product profiles.

Prompt: "Find public medicine references for ich treatment."

{
  "query": "ich",
  "language": "en",
  "limit": 5
}

Output: medicine/treatment references with public profile data where available.

get_medicine_profile

Purpose: retrieve one medicine profile.

Prompt: "Open the profile for a medicine slug."

{
  "slug": "malachite-green",
  "language": "en"
}

Output: structured public medicine reference, use notes and disclaimers.

match_diagnostic_profiles

Purpose: match symptom text across algae, disease, plant problem and medicine profiles.

Prompt: "Match fuzzy white growth on driftwood and stressed fish symptoms."

{
  "query": "white fuzzy growth and fish flashing",
  "language": "en",
  "limit": 8
}

Output: likely public diagnostic profiles grouped by relevance.

list_product_categories

Purpose: list product categories for equipment and fertilizers.

Prompt: "Which public equipment categories are available?"

{
  "language": "en",
  "type": "equipment"
}

Output: localized public category names and identifiers.

list_product_brands

Purpose: list public product brands.

Prompt: "List brands matching Seachem."

{
  "language": "en",
  "query": "Seachem"
}

Output: matching public brand names and metadata.

search_equipment

Purpose: search aquarium and habitat equipment products.

Prompt: "Find heaters for a freshwater setup."

{
  "query": "heater",
  "language": "en",
  "use_case": "freshwater",
  "limit": 5
}

Output: equipment product matches with structured public catalog fields.

get_equipment_profile

Purpose: retrieve one equipment product profile.

Prompt: "Open this equipment profile."

{
  "slug": "eheim/thermocontrol",
  "language": "en"
}

Output: public equipment details, category, brand and usage fields when available.

search_fertilizers

Purpose: search fertilizer products and nutrient profiles.

Prompt: "Find liquid fertilizers for planted aquariums."

{
  "query": "flourish",
  "language": "en",
  "category": "fertilizer",
  "limit": 5
}

Output: fertilizer product matches and nutrient metadata when available.

get_fertilizer_profile

Purpose: retrieve one fertilizer profile.

Prompt: "Open this fertilizer profile."

{
  "slug": "seachem/flourish",
  "language": "en"
}

Output: structured fertilizer data, dosing metadata and public catalog details when available.

check_species_compatibility

Purpose: check basic compatibility among habitat species.

Prompt: "Can Neon Tetra and Corydoras paleatus work in a 90 L planted tank?"

{
  "species": ["Paracheirodon innesi", "Corydoras paleatus"],
  "language": "en",
  "tank_liters": 90,
  "ph": 6.8,
  "temperature": 24
}

Output: advisory compatibility signals, warnings, rationale and constraints.

get_water_parameters

Purpose: retrieve recommended water parameters for a fish or plant.

Prompt: "What water parameters does Neon Tetra prefer?"

{
  "slug": "paracheirodon-innesi",
  "type": "fish",
  "language": "en"
}

Output: public temperature, pH, GH/KH and related parameter guidance where available.

suggest_species_for_tank

Purpose: suggest aquatic species based on tank and water parameters.

Prompt: "Suggest beginner-friendly species for a 120 L planted tank."

{
  "tank_liters": 120,
  "language": "en",
  "ph": 6.8,
  "temperature": 24,
  "beginner_friendly": true,
  "planted_tank": true,
  "limit": 8
}

Output: public species suggestions with warnings and basic rationale.

suggest_habitat_for_tank

Purpose: suggest a complete public habitat plan.

Prompt: "Plan a balanced planted community habitat for 120 L."

{
  "tank_liters": 120,
  "language": "en",
  "ph": 6.8,
  "temperature": 24,
  "beginner_friendly": true,
  "planted_tank": true,
  "co2": "low",
  "light_level": "medium",
  "setup_intent": "community",
  "target_difficulty": "balanced",
  "water_type": "FRESHWATER",
  "limit": 8
}

Output: fish, invertebrates, plants, products, warnings, motivations, related guides and advisory disclaimer.

search_fertilization_regimes

Purpose: search fertilization regimes and dosing philosophies.

Prompt: "Find regimes for low-tech planted tanks."

{
  "query": "low tech",
  "language": "en",
  "topic": "planted",
  "limit": 5
}

Output: public regime matches with summary, topics and public URLs when available.

get_fertilization_regime

Purpose: retrieve one fertilization regime.

Prompt: "Open the Estimative Index regime profile."

{
  "slug": "estimative-index",
  "language": "en"
}

Output: structured public dosing philosophy/regime details.

calculate_fertilizer_dose

Purpose: calculate an advisory fertilizer dose for a catalog product and tank volume.

Prompt: "Calculate the dose of Seachem Flourish for 120 L."

{
  "brand_name": "Seachem",
  "product_name": "Flourish",
  "volume_liters": 120
}

Output: advisory dose estimate and product-related dosing context.

calculate_nutrient_gaps

Purpose: compare nutrient measurements against targets.

Prompt: "Compare my nitrate and potassium readings with planted tank targets."

{
  "language": "en",
  "volume_liters": 120,
  "measurements": [
    {
      "kind": "nitrogen_mg_l",
      "value": 5
    },
    {
      "kind": "potassium_mg_l",
      "value": 8
    }
  ],
  "targets": {
    "nitrogen_mg_l": 10,
    "potassium_mg_l": 15
  }
}

Output: nutrient gap estimates without saving measurements.

calculate_weekly_dose_totals

Purpose: calculate weekly totals for a non-persistent dosing plan.

Prompt: "Add up my weekly liquid fertilizer plan."

{
  "language": "en",
  "volume_liters": 120,
  "items": [
    {
      "brand_name": "Seachem",
      "product_name": "Flourish",
      "method": "LIQUID",
      "dose_value": 5,
      "dose_unit": "ml",
      "days_of_week": [1, 3, 5]
    }
  ]
}

Output: weekly product totals and schedule summary.

generate_fertilization_plan

Purpose: generate an advisory non-persistent fertilization plan.

Prompt: "Generate a balanced planted tank fertilization plan for 120 L."

{
  "language": "en",
  "volume_liters": 120,
  "regime": "balanced",
  "targets": {
    "nitrogen_mg_l": 10,
    "phosphorus_mg_l": 1,
    "potassium_mg_l": 15,
    "iron_mg_l": 0.1
  }
}

Output: advisory plan, nutrient targets, product suggestions and disclaimer.

calculate_tank_volume

Purpose: calculate gross and net aquarium volume estimates.

Prompt: "Calculate net volume for a 60 x 30 x 36 cm tank."

{
  "shape": "rect",
  "length_cm": 60,
  "width_cm": 30,
  "height_cm": 36,
  "substrate_depth_cm": 5,
  "hardscape_displacement_liters": 4
}

Output: gross and net volume estimates.

calculate_tank_weight

Purpose: estimate aquarium weight from dimensions and material inputs.

Prompt: "Estimate the filled weight of a 120 L aquarium."

{
  "shape": "rect",
  "length_cm": 80,
  "width_cm": 35,
  "height_cm": 45,
  "glass_thickness_mm": 8,
  "substrate_depth_cm": 6,
  "hardscape_weight_kg": 12,
  "equipment_weight_kg": 5
}

Output: advisory total weight estimate and component breakdown.

calculate_water_change

Purpose: calculate water change volume, weekly totals and dilution estimates.

Prompt: "How much water is a 30 percent change on 120 L twice per week?"

{
  "volume_liters": 120,
  "change_percent": 30,
  "changes_per_week": 2
}

Output: per-change volume and weekly total estimates.

calculate_water_chemistry

Purpose: calculate hardness conversions, CO2, salinity and water mixing.

Prompt: "Estimate CO2 from pH 6.8 and KH 4."

{
  "co2": {
    "ph": 6.8,
    "kh_dkh": 4
  },
  "general_hardness": {
    "unit": "dgh",
    "value": 8
  }
}

Output: public chemistry conversions and advisory estimates.

convert_units

Purpose: convert aquarium-relevant units.

Prompt: "Convert 120 liters and 24 C."

{
  "volume": {
    "unit": "l",
    "value": 120
  },
  "temperature": {
    "unit": "c",
    "value": 24
  }
}

Output: converted values for supported units.

calculate_equipment_requirements

Purpose: calculate advisory heater, lighting and electricity requirements.

Prompt: "Estimate heater and lighting needs for a 120 L aquarium."

{
  "heater": {
    "volume_liters": 120,
    "ambient_c": 20,
    "target_c": 25,
    "insulation": "normal"
  },
  "lighting": {
    "volume_liters": 120,
    "lumens": 3600
  },
  "electricity": {
    "wattage": 100,
    "hours_per_day": 8,
    "cost_per_kwh": 0.25
  }
}

Output: advisory equipment estimates and electricity usage/cost summary.

Discovery And Directory Status

Shortened here. Read the whole README on GitHub.

Tools it offers (39)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • search_fish
  • get_fish_profile
  • search_plants
  • get_plant_profile
  • search_products
  • get_product_profile
  • check_species_compatibility
  • get_water_parameters
  • suggest_species_for_tank
  • search_guides
  • get_guide
  • search_algae
  • get_algae_profile
  • search_diseases
  • get_disease_profile
  • search_plant_problems
  • get_plant_problem_profile
  • search_medicines
  • get_medicine_profile
  • match_diagnostic_profiles
  • list_product_categories
  • list_product_brands
  • search_equipment
  • get_equipment_profile
  • search_fertilizers
  • get_fertilizer_profile
  • search_fertilization_regimes
  • get_fertilization_regime
  • calculate_fertilizer_dose
  • calculate_nutrient_gaps

Signals

Last commit
Sep 2026
Advanced
Delivery
habitat-database MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
bio-atlarium-habitat-database
Source
github.com/techgardeners/atlarium-mcp
Hosted endpoint
https://mcp.atlarium.bio/mcp