Dive Kit
by divekit.app · remote · no sign-in to list tools · v0.4.3 · published by app.divekit
Experimental. Plan scuba decompression dives, gas blends and gas use with Dive Kit. Reference only.
18 tools: 1 do something that can't be undone, 3 change things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things3Claude Code: ask: see these tools
- Only reads14Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http divekit https://mcp.divekit.app/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnconvert_units
The server marks "convert_units" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_units" says "convert": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
18 tools
Can't be undone 1Claude Code: ask
convert_unitsConverts one diving figure between units: pressure (bar, psi, MPa), volume (L, ft³), depth (m, ft), temperature (°C, °F, K), weight (kg, lb) and breathing rate (L/min, ft³/min, bar…1 finding
Why it is in this group
- The name "convert_units" says "convert": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
- 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 "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "convert_units" says "convert": a word for a change.
Description, as the server wrote it Converts one diving figure between units: pressure (bar, psi, MPa), volume (L, ft³), depth (m, ft), temperature (°C, °F, K), weight (kg, lb) and breathing rate (L/min, ft³/min, bar/min, psi/min). Use this when a diver gives a figure in the other unit system or asks what it reads in another unit. Returns the converted value and the factor used. Not for depth to pressure (gas_specs) or a cylinder's capacity (lookup_cylinders). quantity names the kind; from and to take unit tokens: bar, psi, mpa; l, cuft; m, ft; c, f, k; kg, lb; l_min, cuft_min, bar_min, psi_min. Converting between a litres rate and bar_min or psi_min needs cylinder_size (water litres of the cylinder, both cylinders for a twinset), because a pressure drop per minute is litres only on one cylinder. Factors are Dive Kit's exact ones (1 bar = 14.5038 psi, 1 ft = 0.3048 m). No engine call. Example: {"quantity":"pressure","value":3000,"from":"psi","to":"bar"}
Annotations the server declares
- title: Convert diving units
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 3Claude Code: ask
best_mixUse this when the diver asks what gas to breathe at a depth or which deco gases to carry: returns the richest bottom mix within a PPO₂ limit (default 1.4 bar) and an END limit (def…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 when the diver asks what gas to breathe at a depth or which deco gases to carry: returns the richest bottom mix within a PPO₂ limit (default 1.4 bar) and an END limit (default 30 m, 98 ft), the nearest standard fill inside the same limits, and the standard deco gas ladder for that depth with switch depths. Not for checking one named gas (gas_specs) or planning the dive (plan_dive). The ladder is the common choice, not a prescription: none to 30 m, EANx50 to 45 m, EANx50 and oxygen to 60 m, and a travel gas deeper. A bottom mix under 18% O₂ needs descent_gas in plan_dive. No engine call. Example: {"depth":50}
Annotations the server declares
- title: Best mix and deco gases for a depth
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
check_no_decoUse this when the diver asks how long they can stay at a depth without decompression stops (no-deco limit, NDL, no-stop time).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 when the diver asks how long they can stay at a depth without decompression stops (no-deco limit, NDL, no-stop time). Returns the minutes left after the descent at GF high, the PPO₂ of the gas there and its MOD at 1.4 bar, a safety-stop reminder and a Dive Kit share link. Suits beginners and recreational divers. Not for a full dive plan (plan_dive) or a gas-limited bottom time (find_max_bottom_time). Computed by the Dive Kit app's Bühlmann ZH-L16C engine; agency tables and dive computers differ. Default gas air, GF 50/80. For "is 25 min at 30 m ok?" send bottom_time_min: the answer says within or over, and by how much. For a repetitive dive pass the previous result's share link and the surface interval. Example: {"depth":18}
Annotations the server declares
- title: No-stop time at a depth
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
plan_diveComputes the decompression plan for one dive, open circuit (OC) or closed-circuit rebreather (CCR): stop table, runtime, time to surface (TTS), gas used per cylinder, ascent pressu…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 Computes the decompression plan for one dive, open circuit (OC) or closed-circuit rebreather (CCR): stop table, runtime, time to surface (TTS), gas used per cylinder, ascent pressure, CNS/OTU, gas density, warnings, contingencies, CCR bailout and a Dive Kit share link. Defaults unless given: GF 50/80, reserve thirds, SAC 20/15 L/min, last stop 6 m (20 ft), EN 13319 water, sea level. Use this when a diver wants a deco schedule, the gas a planned dive needs, or a what-if comparison (deeper, longer, a lost gas, other gradient factors) on air, nitrox or trimix. Not for: MOD, END or other gas facts at one depth (gas_specs), a best mix (best_mix), the longest bottom time the gas allows (find_max_bottom_time), no-stop time (check_no_deco), or dive logging. Computed by Dive Kit's Bühlmann ZH-L16C engine. Results are an experimental planning aid: relay the safety_notice. plan_name labels it ("45m 20min 21/35+EANx50"); audience (beginner, recreational, technical) tunes wording. A cylinder takes a preset (al80, twin_12l, stage_11l …; lookup_cylinders finds others) or cylinder_size and start_pressure; missing ones default to an AL80 (11.1 L at 3000 psi, 206.84 bar). descent_gas names a travel gas for a hypoxic bottom mix. scenarios compares what-ifs in one call: deeper_3m, longer_3min, lost:<id>, gf:40/85, last_stop:3. `units` sets every depth, pressure, volume, rate and temperature: metric (m, bar, L) or imperial (ft, psi, ft³). PPO₂ is always bar, mixes %, times minutes. Omit any other field for its Dive Kit default; the result lists each default it applied. get_guide('inputs_reference') lists every field, get_guide('workflow') the planning conversation. Stateless: send the whole plan every call. Example: {"plan_name":"45m 20min 21/35+EANx50","levels":[{"depth":45,"bottom_time_min":20}],"cylinders":[{"id":"back","oxygen_pct":21,"helium_pct":35,"preset":"twin_12l","start_pressure":220},{"id":"deco","oxygen_pct":50,"preset":"stage_11l"}],"scenarios":["base","gf:40/85"]}
Annotations the server declares
- title: Plan a decompression dive
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 14Claude Code: allow
blend_continuousReturns the settings for continuous-flow blending through a compressor intake: each feed gas's share of the intake flow, the analyzer readings to aim for after the first injection …No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the settings for continuous-flow blending through a compressor intake: each feed gas's share of the intake flow, the analyzer readings to aim for after the first injection and at the end, and the pressure to bleed to first when the cylinder's gas is in the way. Use this when a blender fills with fixed air, oxygen and helium feeds (a nitrox stick or membrane) and asks what ratios or analyzer targets give a mix. Not for partial-pressure fills (plan_blend). current is the cylinder now, as in plan_blend; target: oxygen_pct, helium_pct, pressure. injection_order he_first (default) or o2_first picks which intermediate analyzer reading the text leads with; both come back. bleed_step rounds the bleed down to a gauge mark, default 5 bar (100 psi). An impossible mix returns feasible false with the reason. No engine call. Example: {"current":{"oxygen_pct":21,"pressure":0},"target":{"oxygen_pct":32,"pressure":200}}
Annotations the server declares
- title: Continuous-flow blend
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
buoyancy_checkReturns a weighting check for one rig: how much lead to add or remove to be neutral at the end of the dive, the net buoyancy at the start (full cylinders at the target depth) and t…No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns a weighting check for one rig: how much lead to add or remove to be neutral at the end of the dive, the net buoyancy at the start (full cylinders at the target depth) and the end (near-empty cylinders at 3 m), what a flooded drysuit, a failed wing or a dropped stage would do and how to recover, and advisories. Use this when a diver asks how much weight they need, whether a rig is balanced, or how a change of suit, cylinder or water moves it. Not for gas planning. cylinders take a role (single, twinset, sidemount, stage) and cylinder: a lookup_cylinders id (al80, steel12-232) or a plan_dive preset, or cylinder_size and empty_buoyancy for one not in the data. Weights are kg (lb imperial); gear weight is positive when it sinks. Omitted fields take Dive Kit defaults (en13319 water, 30 m, a 5 mm full wetsuit, a 16 kg wing, no body offset), listed in assumptions. Body details (diver) are optional: prefer a measured body_offset, send height, weight, age, sex or body fat only if the diver offers them, and they are used for this one estimate and never stored or logged. An estimate to start from: confirm with an in-water weight check. Compare two setups with two calls. No engine call. Example: {"cylinders":[{"role":"single","cylinder":"al80"}],"exposure":{"type":"wetsuit","thickness_mm":7},"gear":[{"label":"belt","weight":6,"ditchable":true}]}
Annotations the server declares
- title: Weighting and buoyancy check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
decantReturns what happens when two cylinders are joined with a transfill whip: the pressure both settle to, each cylinder's pressure and mix afterwards, and how much gas moved.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns what happens when two cylinders are joined with a transfill whip: the pressure both settle to, each cylinder's pressure and mix afterwards, and how much gas moved. With a target mix it also returns where to close the valve, the mix the receiver reaches and what the donor keeps, or why the target is out of reach. Use this when a diver tops up one cylinder from another ("top my 50 bar EANx32 from a full EANx50") or asks whether a decant reaches a mix. Not for bank fills (plan_blend). receiver and donor as plan_blend's current: oxygen_pct, helium_pct, pressure, and preset or cylinder_size (default AL80 size). Gas flows from the higher pressure to the lower. The warm gas and the whip make the first gauge reading high: analyse after it cools. An unreachable target returns feasible false with the reason. No engine call. Example: {"receiver":{"oxygen_pct":32,"pressure":50,"cylinder_size":12},"donor":{"oxygen_pct":50,"pressure":200,"cylinder_size":12},"target":{"oxygen_pct":40}}
Annotations the server declares
- title: Decant between cylinders
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
find_max_bottom_timeFinds the longest whole-minute bottom time on one level of an open-circuit plan: the longest that keeps every cylinder at or above its reserve (limit reserve), whose time to surfac…No findings
Why it is in this group
- The name "find_max_bottom_time" says "find": a word for reading.
Description, as the server wrote it Finds the longest whole-minute bottom time on one level of an open-circuit plan: the longest that keeps every cylinder at or above its reserve (limit reserve), whose time to surface fits a budget (limit tts), or that needs no stop (limit no_deco). Use this when a diver asks how long they can stay at a depth before gas runs short, how long fits a TTS budget, or how long a level of a multi-level plan can last without stops. Not for CCR plans. For the no-stop time at one depth, check_no_deco is simpler. Takes the same fields as plan_dive, at the top level, plus the level to extend (default the deepest, last on a tie; the same level longer_3min lengthens). Cylinders as in plan_dive. On a level shallower than an earlier one the answer can be a window ("from 7 min"). The empty-cylinder setting is ignored: every cylinder is judged on its own reserve. The answer is a gas ceiling with no allowance for gas sharing, cold, current or work. Returns the answer, the plan table at that time and its Dive Kit share link. Units and defaults as in plan_dive. Example: {"plan_name":"45m on 21/35","units":"metric","levels":[{"depth":45,"bottom_time_min":20}],"cylinders":[{"id":"back","oxygen_pct":21,"helium_pct":35,"preset":"twin_12l","start_pressure":220},{"id":"deco","oxygen_pct":50,"preset":"stage_11l"}],"limit":"reserve","level_number":1}
Annotations the server declares
- title: Find the longest bottom time
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
gas_specsReturns the facts for one breathing gas: maximum operating depth (MOD) at its Dive Kit PPO₂ band cap and at 1.4 bar, minimum depth for hypoxic mixes and, at a depth, PPO₂, equivale…No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the facts for one breathing gas: maximum operating depth (MOD) at its Dive Kit PPO₂ band cap and at 1.4 bar, minimum depth for hypoxic mixes and, at a depth, PPO₂, equivalent narcotic depth (END), equivalent air depth (EAD) and gas density. Use this when the diver asks whether a gas is OK at a depth, its MOD, END, EAD or density. Not for planning a dive (plan_dive) or picking a gas (best_mix). Mixes are O₂ % and He %; depth follows units. The band cap is 1.4 bar under 28% O₂, 1.5 to under 45%, 1.6 at 45% and over, unless ppo2_max is given. No engine call. Example: {"oxygen_pct":32,"depth":35}
Annotations the server declares
- title: Gas specs at depth
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
gas_usageReturns the gas one open-circuit cylinder spends over a planned profile: per segment the gas used (volume and pressure), what is left, the runtime and a status, plus the reserve, t…No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the gas one open-circuit cylinder spends over a planned profile: per segment the gas used (volume and pressure), what is left, the runtime and a status, plus the reserve, the turn pressure and the first segment that drops below each. Use this when a diver asks whether a cylinder covers a no-stop or multilevel dive, how much gas a dive uses, or their turn pressure. Not for decompression dives (plan_dive charges deco gas) or measuring a breathing rate (rmv_sac). sac is the surface breathing rate in L/min (ft³/min imperial), default 20; rmv_sac's rmv and plan_dive's gas_consumption.working_sac are the same figure. Cylinder fields as in plan_dive (preset, cylinder_size, rated_pressure, twinset, start_pressure); default one AL80 at 3000 psi (206.84 bar). reserve as in plan_dive (thirds; fixed defaults to 50 bar, 725 psi). water defaults to en13319; altitude (m or ft) defaults to sea level. Real-gas volumes; the cylinder is assumed to hold air (plan_dive takes any mix). No engine call. Example: {"preset":"al80","segments":[{"depth":18,"duration_min":40},{"depth":5,"duration_min":3}]}
Annotations the server declares
- title: Gas use over a profile
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_guideReturns one section of the Dive Kit planning guide as markdown.No findings
Why it is in this group
- The name "get_guide" says "get": a word for reading.
Description, as the server wrote it Returns one section of the Dive Kit planning guide as markdown. Use this when you need to explain a term, a warning or deco theory, or to check what a planning conversation needs: workflow, tool chains, every input with unit, default and range (inputs_reference), deco theory, gradient factors, gas choice, gas planning, gas consumption, blending, weighting, CCR, bailout and contingencies, every warning, repetitive dives, worked examples, conventions, limits, sources; start_here is the index. Not for numbers: every figure comes from the planning tools.
Annotations the server declares
- title: Dive Kit planning guide
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
lookup_certificationsReturns diving certifications from Dive Kit's vetted open dataset of agencies and courses: prerequisites, equivalent courses at other agencies, depth and gas limits, notes and link…No findings
Why it is in this group
- The name "lookup_certifications" says "lookup": a word for reading.
Description, as the server wrote it Returns diving certifications from Dive Kit's vetted open dataset of agencies and courses: prerequisites, equivalent courses at other agencies, depth and gas limits, notes and links. Use this when a diver asks what a course allows ("what does PADI Tec 45 let me do"), what they need before a course ("what do I need before a trimix course"), whether two courses are equivalent ("is SSI X equivalent to PADI Y"), or what an agency offers. Not for planning a dive. This is Dive Kit's own curated data (CC BY 4.0, open.divekit.app), not a web search; agency rules change, so point the diver to the agency for the final word. No engine call. Example: {"agency":"PADI","query":"tec 45"}
Annotations the server declares
- title: Look up diving certifications
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
lookup_cylindersReturns scuba cylinders from Dive Kit's vetted open cylinder dataset: water volume, rated capacity, working pressure, material, typical use and, for five or fewer matches, weight, …No findings
Why it is in this group
- The name "lookup_cylinders" says "lookup": a word for reading.
Description, as the server wrote it Returns scuba cylinders from Dive Kit's vetted open cylinder dataset: water volume, rated capacity, working pressure, material, typical use and, for five or fewer matches, weight, buoyancy and brands. Each row gives the plan_dive cylinder fields (a preset or cylinder_size) that describe it. Use this when a diver asks which cylinder something is, what it holds ("what's an HP100 in litres", "what does an AL80 hold"), or names a cylinder you need to size for plan_dive. Not for gas mixes (gas_specs) or gas used on a dive (plan_dive). This is Dive Kit's own curated data (CC BY 4.0, open.divekit.app), not a web search. No engine call. Example: {"query":"hp100","units":"imperial"}
Annotations the server declares
- title: Look up scuba cylinders
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
lookup_referencesReturns vetted references from Dive Kit's open references dataset, with links.No findings
Why it is in this group
- The name "lookup_references" says "lookup": a word for reading.
Description, as the server wrote it Returns vetted references from Dive Kit's open references dataset, with links. Use this when a diver asks for a source. Call it before answering any question about deco theory, physiology, gas limits, blending practice, standards or training, so the answer names its source. Not for calculations. If nothing matches, the result lists where to search next; say that source is not Dive Kit-vetted. Each reference gives title, authors, year, type, publisher, link or DOI, access, and what it is authoritative for (gradient factors, oxygen toxicity, gas density, blending and oxygen cleaning, real gas, buoyancy, gas management, training). Not for cylinders (lookup_cylinders) or courses (lookup_certifications). topic narrows by subject and type by kind of source; the enums are in the input schema. query matches every word against the title, authors, publisher, notes and what the source is authoritative for. This is Dive Kit's own curated data (CC BY 4.0, open.divekit.app), not a web search. No engine call. Example: {"topic":"gradient_factors"}
Annotations the server declares
- title: Look up references
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mix_resultReturns the mix and pressure a cylinder ends with after gases are added in order: each addition's pressure and mix before and after, the cooling step, and the final O₂ %, He % and …No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the mix and pressure a cylinder ends with after gases are added in order: each addition's pressure and mix before and after, the cooling step, and the final O₂ %, He % and pressure. Use this when a diver or blender asks what a fill produced ("50 bar of air, 40 bar of oxygen, then air to 200"), or to check a plan_blend plan: send its mix_result_current as current and its mix_result_additions as additions. Not for planning toward a target (plan_blend) or joining two cylinders with a whip (decant). Pressures are gauge (bar or psi, per units); mixes are O₂ % and He %. environment sets altitude and the ambient and fill temperatures (defaults sea level, 20 °C, fill equal to ambient); a hot fill settles lower. Real-gas mixing. Analyse the cylinder once it has cooled: the analysed mix, not this one, goes into plan_dive. No engine call. Example: {"current":{"oxygen_pct":21,"pressure":50},"additions":[{"oxygen_pct":100,"pressure_added":35},{"oxygen_pct":21,"pressure_added":115}]}
Annotations the server declares
- title: Mix after a fill
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
plan_blendReturns a partial-pressure blending plan from what a cylinder holds to a target mix and pressure: bleed, helium, oxygen and top-up steps with the gauge pressure to stop at, the mix…No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns a partial-pressure blending plan from what a cylinder holds to a target mix and pressure: bleed, helium, oxygen and top-up steps with the gauge pressure to stop at, the mix after each step, the cooling step, the mix achieved, the gas drawn from each bank and alternative plans. Use this when a diver or blender asks how to fill nitrox or trimix ("fill my twin 12s to 21/35 from 60 bar of 18/45") or whether their banks can reach a mix. Not for a fill already done (mix_result), continuous-flow blending (blend_continuous) or decanting (decant). current is the cylinder as analysed now: oxygen_pct, helium_pct, pressure, and preset or cylinder_size as in plan_dive (default AL80 size). target: oxygen_pct, helium_pct, pressure. banks default to unlimited air, oxygen and helium; a finite bank needs pressure and cylinder_size together. A target the banks cannot reach returns feasible false with the reason and the partial plan, not an error. To verify, send mix_result_current and mix_result_additions to mix_result; then gas_specs, and plan_dive with the analysed mix. Oxygen above 40% needs oxygen-clean equipment and blender training. No engine call. Example: {"current":{"oxygen_pct":21,"pressure":50,"preset":"twin_12l"},"target":{"oxygen_pct":21,"helium_pct":35,"pressure":220}}
Annotations the server declares
- title: Plan a gas blend
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
rmv_sacReturns the gas consumption rate computed from a logged dive's cylinder pressures: RMV (surface litres a minute, what plan_dive and gas_usage take) and SAC (pressure drop a minute …No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the gas consumption rate computed from a logged dive's cylinder pressures: RMV (surface litres a minute, what plan_dive and gas_usage take) and SAC (pressure drop a minute on that cylinder), overall and per segment. Use this when a diver gives start and end pressures and asks their SAC, RMV or breathing rate. Give the cylinder's mix for trimix; air is assumed. Not for planning gas (gas_usage, plan_dive). Each segment is one stretch on one cylinder: depth, duration_min, start_pressure, end_pressure, the cylinder (preset, cylinder_size, rated_pressure, twinset; default AL80) and its mix (oxygen_pct, helium_pct; default air). RMV uses the same real-gas model as the planners: any RMV plans the same dive back to the measured end pressure in plan_dive, and an air RMV does in gas_usage, which assumes air (a trimix RMV reads about 1 to 2 bar optimistic there). SAC is the gauge drop over time and depth. Segments must not overlap in time; the tool cannot check that. sac is null when the segments used different cylinders, and sac_per_cylinder lists each, with the weighted average depth. plan_dive_gas_consumption.working_sac is ready to paste into plan_dive. water defaults to en13319. No engine call. Example: {"segments":[{"depth":20,"duration_min":20,"start_pressure":200,"end_pressure":140,"preset":"single_12l"}]}
Annotations the server declares
- title: Gas consumption rate from a dive
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: 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.
Install
Pinned to version 0.4.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http divekit https://mcp.divekit.app/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__divekit__find_max_bottom_time",
"mcp__divekit__read_share_link",
"mcp__divekit__gas_specs",
"mcp__divekit__get_guide",
"mcp__divekit__lookup_cylinders",
"mcp__divekit__lookup_certifications",
"mcp__divekit__gas_usage",
"mcp__divekit__mix_result",
"mcp__divekit__plan_blend",
"mcp__divekit__blend_continuous",
"mcp__divekit__decant",
"mcp__divekit__rmv_sac",
"mcp__divekit__buoyancy_check",
"mcp__divekit__lookup_references"
],
"ask": [
"mcp__divekit__plan_dive",
"mcp__divekit__check_no_deco",
"mcp__divekit__best_mix",
"mcp__divekit__convert_units"
],
"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 divekit. Review it before you use it.