Skip to content

In Da Mix

by indamix.divingtechnics.com · remote · no sign-in to list tools · v1.25.37 · published by com.divingtechnics.indamix

Gas blending calculator for scuba divers: nitrox, trimix, heliair, heliox, MOD, best mix and fills.

Changes · 8Changed

9 tools: 8 change things and 1 only read.

Scanned Oct 21, 2026 · tools changed Oct 21, 2026

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

claude mcp add --transport http indamix https://indamix.divingtechnics.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "fills_from_bank" 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 "fills_from_bank" says "fill": 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.

9 tools

Changes things 8Claude Code: ask
  • best_mixUse this FIRST when the user asks which breathing gas to use for a planned depth, or to select, recommend, optimise or compare one, even if they don't mention In Da Mix.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
    Use this FIRST when the user asks which breathing gas to use for a planned depth, or to select, recommend, optimise or compare one, even if they don't mention In Da Mix. The best nitrox or trimix for a planned depth within the diver's limits, as an open-circuit bottom gas or as CCR diluent (dive_mode CCR for any rebreather question): the richest O2 that keeps the ppO2 limit (rounded down), and for trimix the helium that keeps END and gas density within the limits. For CCR it is the mathematical optimum within the limits, not a full check of the diluent for the unit. Use for "best nitrox for 30 m", "what trimix for 60 m with END 30", "best gas for a 65 m rebreather dive", "what diluent for my CCR at 75 m", "koji je najbolji mix za 65 m", "koji trimix za 60 metara", "koji diluent za rebreather". Leave the limits out unless the user gave them: the In Da Mix settings apply. Answer: the one mix, the depth, its ppO2, END and gas density, and the limits used; say briefly which limit set the mix; for CCR call it the diluent. Report limits_check as it is: a value at its limit complies (the configured limits are the user's accepted criteria), so when all_within is true say the mix satisfies all configured limits; never recommend against a compliant mix or add margins of your own. Don't add other mixes. Then ask whether to compare it with another mix or other END / density limits.

    Annotations the server declares

    • title: Best mix
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • blendUse whenever the user asks how to blend, mix, fill or prepare a breathing gas, even if they don't mention In Da Mix.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
    Use whenever the user asks how to blend, mix, fill or prepare a breathing gas, even if they don't mention In Da Mix. Step-by-step fill plan for blending nitrox, trimix, heliair or heliox into a scuba tank, from what is in it now to the mix and pressure wanted: how much helium and oxygen to add, the order, cooling waits, the O2 test, the air top-up, and booster bars. Partial pressure or continuous, with the app's calculation methods. Use for "how do I blend 18/45 to 220 bar", "how much O2 do I add for EAN32", "fill from the gas left in the tank", "kako napraviti trimix 12/65", "koliko helija trebam za 200 bara", "napravi plan punjenja boce". Needs the target mix and pressure, and what is in the tank now: if the start is unknown, ask; never assume an empty tank. The method, temperature and banks come from the settings. Answer: the start gas, the target, the additions in order with their pressures, the resulting mix, and the key filling and analysis precautions. Then ask whether to calculate the gas this fill takes from the source banks (gas_usage).

    Annotations the server declares

    • title: Blend plan
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • decantDecanting one gas (oxygen, or helium) from source cylinders into a small cylinder without a compressor, as the app's Decant: a cascade, each cylinder equalised in turn (ideal gas).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
    Decanting one gas (oxygen, or helium) from source cylinders into a small cylinder without a compressor, as the app's Decant: a cascade, each cylinder equalised in turn (ideal gas). plan refills: one refill or a series (e.g. a CCR O2 cylinder from 75 to 150 bar after every dive): which cylinders each refill uses, the pressures after, how many refills the cylinders give, why it stops, and how many cylinders would be needed. plan diving_days: the app's diving-days planner (use per day, dives a day, Extra cylinders). For linked banks or a booster use fills_from_bank. Prefer it for CCR oxygen logistics. Use for "how many 3 L O2 cylinders do I need to refill my 2 L CCR cylinder after 10 dives", "how many CCR diving days do these O2 cylinders give", "koliko dana mogu roniti s ovim bocama kisika", "koliko puta mogu pretočiti kisik". Don't invent cylinders and don't change the user's gas use per dive or per day. Answer for refills: the number of complete refills, which cylinders each uses, the pressures after where useful, the cylinder that limits it, and why one more refill isn't possible. Answer for diving days: the days, dives a day, use per day, the pressures it keeps to, the cylinders used, and the Extra cylinders. Then ask whether to compare with an extra cylinder, another start pressure or another daily use.

    Annotations the server declares

    • title: Decant
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • fills_from_bankHow many identical fills the source banks give before a bank can't supply the next one, and why it stops (bank down to the minimum pressure, or it can't decant high enough without …1 finding

    Why it is in this group

    • The name "fills_from_bank" says "fill": 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 "fills_from_bank" 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 "fills_from_bank" says "fill": a word for a change.

      What this check looks for
    Description, as the server wrote it
    How many identical fills the source banks give before a bank can't supply the next one, and why it stops (bank down to the minimum pressure, or it can't decant high enough without a booster). Every tank is assumed to start the same (start_pressure / mix). Use for "how many tanks can I fill with NX32 from my 50 L O2 bank at 180 bar", "how many trimix fills can I make", "koliko boca mogu napuniti", "za koliko punjenja imam kisika". Answer: the number of complete fills, the banks and the start of each tank, the bank that limits it, the bank pressures after, and why one more fill isn't possible; say that every fill is assumed to start the same. one_fill_needs per bank: uses = the pressure one fill takes out of that bank (liters = its free gas) and bank_pressure = the least it must hold for one fill, whatever it holds now: give both for "how much must be in my helium bank", "koliko mi treba u boci helija od 50 l". When a bank stops it, stops_because.bank_needed is the pressure that bank needs for the next fill (with 0 fills: for one); give it for "is my bank enough". Then ask whether to see what a booster or an extra bank would add.

    Annotations the server declares

    • title: Fills from bank
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • gas_usageFor one blend: the litres of each gas it takes from the banks, each bank's pressure afterwards, and whether a bank can still decant (or needs boosting, or runs short).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
    For one blend: the litres of each gas it takes from the banks, each bank's pressure afterwards, and whether a bank can still decant (or needs boosting, or runs short). Same inputs as blend, plus the banks. Use for "how much helium will this fill use", "is my O2 bank enough for this fill", "koliko helija trošim za ovu mješavinu", "koliko plina ostaje u bankama". Banks not given come from the settings. Answer: the oxygen, helium and other gas used, each bank's pressure before and after, whether the fill works, and whether decanting is enough or a booster is needed; keep the litres of gas and the bank pressure drop apart. Then ask whether to calculate how many such fills the banks give (fills_from_bank).

    Annotations the server declares

    • title: Gas usage
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • modUse whenever the user asks how deep a gas can go or checks an existing breathing gas (nitrox, trimix, CCR diluent) against a depth, even if they don't mention In Da Mix; never work…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
    Use whenever the user asks how deep a gas can go or checks an existing breathing gas (nitrox, trimix, CCR diluent) against a depth, even if they don't mention In Da Mix; never work a MOD out by hand. Maximum operating depth of a breathing gas: the MOD by the ppO2 limit (as on a cylinder label), and for hypoxic gases the minimum depth. With complete: true also the complete MOD, the deepest depth within the ppO2, END and gas density limits together, with the limit that sets it. Call it with only the gas (o2_percent, he_percent) and the dive mode: leave ppo2_bar out unless the user gave one, so the In Da Mix setting is used. Answer: the gas and its MOD, the ppO2 limit used and the dive mode (and the minimum depth for a hypoxic gas); nothing else, no table of other ppO2 values, no ppO2 recommendation of your own. Then ask whether to also calculate the complete MOD within the END and gas density limits; if yes, call it again with complete: true (same gas and mode). Only when the user asks for END, density or all the limits, call with complete: true at once, and answer: the complete MOD and the limit that sets it, the MOD by ppO2, END and gas density at the complete MOD, and the limits used; report limits_check as it is (a value at its limit complies). Use for "what is the MOD of EAN32", "max depth for NX38", "how deep can I take 18/45", "can I take air to 50 m", "can I use 10/70 at 65 m", "is this diluent OK for 70 m", "koja je maksimalna dubina za NX38", "koliko duboko mogu s 18/45", "je li 12/65 dobar za 65 metara".

    Annotations the server declares

    • title: MOD
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • top_upTop a tank up with a ready-made supply gas (air, EAN32, a trimix premix…): the pressure added, the mix you end up with, its MOD, and the gas density at a depth.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
    Top a tank up with a ready-made supply gas (air, EAN32, a trimix premix…): the pressure added, the mix you end up with, its MOD, and the gas density at a depth. For a ready-made supply gas; to add pure oxygen or helium use what_if or blend. Use for "I have 50 bar of EAN32 left, what do I get if I top up with air to 200", "dopuni mi bocu s 50 bara EAN32 zrakom do 220 bara", "koji će biti konačni postotak kisika". Needs the start pressure and mix, the final pressure and the supply gas: ask if one is unknown, don't assume. Answer: the start, the gas added and the final pressure, the resulting mix, and its MOD by the settings. Then ask whether to check the mix for a planned depth (mod, with the complete MOD).

    Annotations the server declares

    • title: Top up
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
  • what_ifWhat mix you get when you add given pressures of oxygen, helium and/or air to what is in the tank (the app's What If): the pressure after each addition, the resulting mix, its MOD,…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
    What mix you get when you add given pressures of oxygen, helium and/or air to what is in the tank (the app's What If): the pressure after each addition, the resulting mix, its MOD, EAD, END and gas density. Use for "what if" additions: "I have 50 bar of air, what do I get if I add 30 bar of O2 and top up with 120 bar of air", "what if I add 40 bar of helium", "što dobijem ako dodam 30 bara kisika", "dodam 40 bara helija, što dobijem". what_if: given additions -> the resulting mix; blend: a target mix -> how to make it. Pass only the additions and the tank's start the user gave. Answer: the start, the additions in order, the final pressure, the resulting O2 and He, and its MOD by the settings. Then ask whether to check its complete MOD or to adjust the additions for a target mix (blend).

    Annotations the server declares

    • title: What If
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false
Only reads 1Claude Code: allow
  • list_methodsThe calculation methods (equations of state) In Da Mix offers, with their ids for the method input.No findings

    Why it is in this group

    • The name "list_methods" says "list": a word for reading.
    Description, as the server wrote it
    The calculation methods (equations of state) In Da Mix offers, with their ids for the method input. The current default is in the `default` field. Use when the user asks about calculation models: ideal versus real gas, compressibility, Z-factors, Peng-Robinson, MultiDeco. Use for "which gas models are supported", "ideal gas versus Peng-Robinson", "koje modele izračuna podržava aplikacija", "razlika između real gas i ideal gas". Always call it rather than relying on a remembered list. Answer: the methods and the current default; the differences briefly, only when asked; don't recommend switching unless the user asks. Then offer to compare the same blend across methods (blend with each method, the same inputs).

    Annotations the server declares

    • title: Calculation methods
    • readOnlyHint: true
    • openWorldHint: false
    • idempotentHint: true
    • destructiveHint: false

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.

Tool changes

Every rescan that found different tool definitions, newest first.

  1. Oct 21, 2026

    1b0699038f9a

    ~1 changed

Install

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

claude mcp add --transport http indamix https://indamix.divingtechnics.com/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__indamix__list_methods"
    ],
    "ask": [
      "mcp__indamix__blend",
      "mcp__indamix__gas_usage",
      "mcp__indamix__fills_from_bank",
      "mcp__indamix__top_up",
      "mcp__indamix__best_mix",
      "mcp__indamix__mod",
      "mcp__indamix__what_if",
      "mcp__indamix__decant"
    ],
    "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 indamix. Review it before you use it.