Skip to main content
Glama

Server Details

Deterministic engineering solvers: biquad filter design, room eigenmodes, LLM VRAM fit.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 58 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a clearly distinct physics/engineering problem (biquad filters, Gaussian beams, LLM VRAM, laser cavities, speaker ports, room modes, room proportions, solenoids). The only superficially related pair, roomModes and roomShapeBand, is cleanly separated: one solves eigenmodes of a given room, the other finds optimal proportions for a given volume.

Naming Consistency5/5

All eight names follow a uniform camelCase domain-noun pattern (biquadDesign, gaussianBeam, opticsResonator, portLength, roomModes, roomShapeBand, solenoidField, llmVramFit). No mixing of conventions or vague verbs.

Tool Count5/5

Eight tools for a multi-domain compute/lab collection is well-scoped; each calculator covers a distinct instrument and none feels redundant or like padding.

Completeness5/5

Each tool appears to be a full solver for its domain, returning rich outputs (geometry, sweeps, edge cases, provenance) rather than thin single-value answers. As a curated set of lab calculators the surface has no obvious dead ends within its stated scope.

Available Tools

8 tools
biquadDesignDesign one RBJ-cookbook biquad and report its numerical behaviour.AInspect

Design one RBJ-cookbook biquad and report its numerical behaviour.

The identical function behind the /lab/biquad coefficient tables. Returns coefficients at the requested sample rate, coefficients at every other rate whose Nyquist limit clears the corner, pole/zero geometry, the −3 dB points solved by bisection, a Q sweep, a gain sweep where the type uses gain, and the quantised forms. The 240-point response curve is omitted unless include=curve is passed. Non-finite values (a notch is −∞ at f0; a low-pass is −∞ at Nyquist) are encoded as the strings "Infinity", "-Infinity" and "NaN" — JSON has no other honest option, and null would be a different answer.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
qNoFilter Q. Defaults to the type’s own default. Shelves ignore it (S is fixed at 1, matching Web Audio).
fsNoSample rate in Hz. Defaults to 48000.
freqYesCorner (or centre) frequency f0 in Hz. Must be below Nyquist.
gainNoPeak/shelf gain in dB. Ignored by types that do not use gain.
typeYesFilter type.
includeNoOptional heavy block to include, omitted by default. "curve": The 240-point log-spaced magnitude response, and one per sweep row.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so richly: it enumerates the returned blocks (per-rate coefficients, pole/zero geometry, bisection-solved −3 dB points, Q sweep, gain sweep, quantised forms), discloses that the curve is omitted unless requested, and explains the non-finite encoding convention and its rationale. The provenance.canonicalUrl guarantee is also documented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose before the output inventory, and each subsequent sentence conveys distinct information (returned blocks, omitted curve, non-finite encoding, provenance). It is dense but not padded, though the non-finite encoding aside is slightly discursive for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description still gives enough to anticipate the payload structure and the optional curve block. With no annotations and a 6-parameter schema, nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters including the enum for include and the shelf/gain caveats. The description mostly restates the include=curve behavior already in the schema, adding no format or constraint detail beyond it — the correct baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (design) and resource (one RBJ-cookbook biquad) plus the reporting scope, so an agent immediately knows this is a DSP filter-design calculator. Siblings (gaussianBeam, llmVramFit, roomModes, etc.) are entirely unrelated domains, so there is no ambiguity to resolve.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It anchors the tool to a concrete referent ('the identical function behind the /lab/biquad coefficient tables') and states the condition for the heavy include=curve block, which is implied usage guidance. However it never says when to prefer this over other approaches or when not to call it; usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaussianBeamSolve an ideal Gaussian laser beam: Rayleigh range, divergence, radius at a distance, and the waist behind a focusing lens.AInspect

Solve an ideal Gaussian laser beam: Rayleigh range, divergence, radius at a distance, and the waist behind a focusing lens.

The identical function behind the worked examples on /lab/gaussian-beam-calculator, built from the same q-propagation the calculator runs. Give a wavelength and a 1/e^2 waist radius to get the Rayleigh range, the far-field half-angle divergence and the depth of focus. Add distance (metres from the waist) for the beam radius and phase-front curvature there. Add focal (millimetres) to put a thin lens at the waist and get the focused waist radius, its distance behind the lens and its Rayleigh range.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
focalNoFocal length in millimetres of a thin lens placed at the waist. When given, the result includes the focused waist.
waistYes1/e^2 waist RADIUS in millimetres (not the diameter). At least one wavelength: the model is paraxial.
distanceNoDistance in metres, from the waist (or, when `focal` is given, from the lens, after it). Negative is upstream. When given, the result includes the beam radius and phase-front curvature there.
wavelengthYesVacuum wavelength in nanometres (632.8 for HeNe, 1064 for Nd:YAG).

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden and does so well by explaining the q-propagation model, conditional result fields, and the provenance.canonicalUrl included in every result. It could add more about failure modes or input constraints, but the core calculation behavior is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then proceeds through optional inputs and provenance in a logical order. The opening sentence repeats the title, but the rest is efficient and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to detail return fields, and it instead supplies the missing behavioral and conditional-input context. It is complete enough for an agent to invoke the tool correctly with or without the optional parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so the baseline is 3, but the description adds relational meaning by explaining that `distance` is from the waist unless `focal` places it from the lens, and that `focal` creates a focused-waist result. This goes beyond the individual parameter descriptions in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: solving an ideal Gaussian laser beam, with named outputs including Rayleigh range, divergence, radius at a distance, and focused waist. It is clearly distinct from the listed sibling tools, which are unrelated calculators except for the broader opticsResonator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for use by explaining what the two required inputs return and how adding `distance` or `focal` changes the output. It does not name an alternative tool or explicitly state when not to use this one, but no close alternative is present among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

llmVramFitDecide whether one LLM fits one accelerator, at every quantization.AInspect

Decide whether one LLM fits one accelerator, at every quantization.

The identical function behind the /lab/llm-vram instrument. Returns one row per quantization (FP16 through Q3_K_M) with weight bytes and their basis, headroom, the largest context that fits, and the bandwidth-limited decode ceiling; plus the chosen best-fitting quant, the full-precision row, and a five-state verdict. Model geometry comes from each repo’s own config.json and tensor-shape index; accelerator capacity and bandwidth come from the site’s device table.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
gpuYesAccelerator slug.
batchNoConcurrent sequences sharing the cache. Omit it for the published page's 1.
modelYesModel slug.
contextNoContext length in tokens used for the headline verdict. Omit it and the solver takes its own default of 8192, which is what the published page states.
kvBytesNoBytes per KV cache element: 2 for FP16/BF16 cache, 1 for an 8-bit cache. Omit it for the published page's 2.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does a good job: it enumerates the per-quantization output fields (weight bytes and basis, headroom, largest fitting context, decode ceiling), names the five-state verdict and best-quant selection, and discloses data provenance (each repo's config.json, tensor-shape index, the site's device table). It does not explicitly state that the call is read-only/non-mutating or whether results are deterministic or cached, so it falls short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first line, followed by output and provenance detail in a logical order, with no filler sentences. It is somewhat longer than strictly necessary and repeats the return detail that the output schema already supplies, keeping it out of the top band.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be re-explained, yet the description supplies useful sourcing and provenance context (config.json, device table, canonicalUrl) that the schema does not cover. Combined with the fully documented input schema, an agent has everything needed to call it, though read-only semantics remain implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (including the batch/context/kvBytes defaults) are already fully documented in the schema, setting the baseline at 3. The description adds only adjacent context (the quantization range and provenance behavior) rather than new per-parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title/description state a specific decision task ('decide whether one LLM fits one accelerator') plus an explicit scope ('at every quantization'). It also identifies the underlying instrument ('The identical function behind the /lab/llm-vram instrument'), making the tool's identity unambiguous. Siblings are unrelated domains, so no differentiation burden remains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the use case clear (evaluate a model/GPU pair across quantization levels) and notes the published-instrument parity, but states no when-to-use/when-not conditions or any alternative approach. With no sibling overlap there is little to exclude, but the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

opticsResonatorSolve a two-mirror laser cavity: g-parameters, stability, and the TEM00 waist and mirror spot sizes.AInspect

Solve a two-mirror laser cavity: g-parameters, stability, and the TEM00 waist and mirror spot sizes.

The identical function behind the worked examples on /lab/optics-bench, built from the resonator code the bench runs. Give the mirror spacing l (cm), each mirror radius r1, r2 (cm; positive is concave toward the cavity, negative convex, omitted means flat) and the wavelength w (nm). Returns g1, g2, their product, the round-trip half-trace and whether the cavity is stable; when it is, mode holds the waist radius (um), its distance from mirror 1 (cm) and the spot radius on each mirror (mm). mode is null for an unstable cavity or one on the g1*g2 = 0 or 1 boundary.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
lYesMirror spacing (cavity length), centimetres.
wYesWavelength, nanometres.
r1NoRadius of curvature of mirror 1, cm. Positive = concave toward the cavity, negative = convex. Omit for a flat mirror.
r2NoRadius of curvature of mirror 2, cm, same convention. Omit for a flat mirror.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden well: it discloses the exact stability return fields, the crucial edge case that `mode` is null for unstable cavities and for the g1*g2 = 0 or 1 boundary, and that every result includes provenance.canonicalUrl. It doesn't discuss side effects or failure modes, but as a pure computation these are largely moot.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short paragraphs, front-loaded with the core purpose, then inputs, then return shape and provenance. Dense but every sentence carries information; the one red flag is that the first sentence duplicates the tool title verbatim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deterministic 4-parameter compute tool with a full input schema and an output schema, the description covers inputs, units, conventions, return structure, the null/edge-case behavior, and provenance. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents units and the r1/r2 sign convention; the description restates them ('positive is concave toward the cavity, negative convex, omitted means flat') without adding syntax or new meaning. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Solve a two-mirror laser cavity') and enumerates the exact outputs (g-parameters, stability, TEM00 waist, mirror spot sizes). This clearly separates it from siblings like gaussianBeam, roomModes, and solenoidField.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it by listing the required inputs and the context ('the resonator code the bench runs'), but it names no alternatives and gives no explicit when-not guidance (e.g., how it differs from gaussianBeam for propagating a beam). Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

portLengthSolve a vented loudspeaker box for the length of round port to cut, with both end corrections, the smallest workable diameter and the peak port air speed.AInspect

Solve a vented loudspeaker box for the length of round port to cut, with both end corrections, the smallest workable diameter and the peak port air speed.

The identical function behind the worked examples on /lab/port-length-calculator and the calculator itself. Give the net box volume vol (litres), the port inside diameter dia (cm) and the tuning fb (Hz); temp (deg C, default 20) sets the speed of sound. Returns the length to cut (cm), the acoustic length and the end correction it contains, the port area, length/diameter, the air volume the port displaces, and the smallest diameter that can reach the tuning. When the port is too narrow, tooNarrow is true and cutLengthCm is negative: the end corrections alone already exceed the acoustic length the tuning needs. Add sd (cone area, cm^2) and xmax (peak excursion, mm) together for the peak port air speed.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
fbYesBox tuning frequency, hertz.
sdNoDriver effective cone area Sd, cm^2. Give with `xmax` for the peak port air speed.
diaYesInside diameter of a round port, centimetres. For a slot, the diameter of the round port of equal area, 2*sqrt(w*h/pi).
volYesNet internal box volume, litres (after the driver, bracing and port are subtracted).
tempNoAir temperature, deg C. Default 20.
xmaxNoDriver peak one-way excursion, mm. Give with `sd`.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does substantial work: it lists the returned quantities and, critically, discloses the edge case that 'When the port is too narrow, tooNarrow is true and cutLengthCm is negative'. It also discloses that every result carries provenance.canonicalUrl. It does not explicitly state the tool is a side-effect-free calculation, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the body is dense with useful detail. The opening sentence duplicates the title verbatim, which is mild waste, but the remaining sentences each add output, edge-case, or provenance information rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists (so return values need not be explained), the description still documents the notable outputs and the counter-intuitive tooNarrow/negative-length condition plus provenance, which an agent benefits from before calling. With 6 parameters and no annotations, this is close to complete; only an explicit statement that the tool is a pure computation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks — most notably that 'temp (deg C, default 20) sets the speed of sound', i.e. why the parameter matters, rather than just restating its units. It also frames sd/xmax as a required pair for air speed, complementing the schema's individual notes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'Solve a vented loudspeaker box for the length of round port to cut' — and enumerates the outputs (end corrections, smallest workable diameter, peak port air speed). Against siblings like biquadDesign, opticsResonator, and solenoidField, it is unmistakably the acoustic-port calculator, so an agent can discriminate without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the three required inputs and gives explicit conditional guidance: 'Add sd (cone area, cm^2) and xmax (peak excursion, mm) together for the peak port air speed', clarifying that the optional pair is jointly needed. There is no when-not guidance or alternative tool named, but the siblings occupy unrelated domains so no exclusions are warranted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roomModesSolve the eigenmodes of a rectangular room.AInspect

Solve the eigenmodes of a rectangular room.

The identical function behind the /lab/room-modes instrument. Dimensions are in feet and are converted at 0.3048 m/ft. Returns every mode below maxFreq, the three axial fundamentals, mode pile-ups (three or more modes within 5 Hz, capped at 200 Hz because dense modes above the Schroeder crossover are desirable rather than a defect), the widest axial gap below 200 Hz, and Schroeder frequencies at RT60 = 0.3 s and 0.6 s. The full mode list is omitted unless include=modes is passed; counts are always present.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
widthYesRoom width in feet.
heightYesCeiling height in feet.
lengthYesRoom length in feet.
includeNoOptional heavy block to include, omitted by default. "modes": Every solved mode and the axial subset, with their (nx, ny, nz) orders.
maxFreqNoHighest mode frequency to solve for, in Hz. Defaults to 300. Mode count scales with volume × frequency³, so a large room and a high maxFreq together are refused with a 400 once the enumeration would exceed 100,000 modes; the error names the maxFreq that would have worked.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the ft→m conversion at 0.3048, that the full mode list is omitted unless include=modes is passed, that counts are always present, the 200 Hz cap rationale for pile-ups, and a concrete failure mode (400 once enumeration exceeds 100,000 modes, with the error naming a workable maxFreq). It stops short of stating cost/latency for large solves beyond the refusal threshold.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, but the back half enumerates return contents (axial fundamentals, pile-ups, widest axial gap, Schroeder frequencies, provenance) in detail despite an output schema existing that should already cover this. Several clauses are packed densely and could be trimmed without losing call-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter compute tool with a full-coverage schema and an output schema, the description supplies the extra behavior an agent needs: units conversion, the include gate, error behavior, and provenance. Since the output schema already documents returns, the return enumeration is redundant rather than a gap; the only real omission is any statement of compute cost for large solves below the refusal threshold.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: the 0.3048 m/ft conversion for the dimension params, the reason maxFreq is bounded (mode count scales with volume × frequency³), and the concrete consequence of exceeding it. It largely reinforces rather than extends the include enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'Solve the eigenmodes of a rectangular room,' plus the identity link to the /lab/room-modes instrument, which pins down scope precisely. It never names or distinguishes itself from the close sibling roomShapeBand, so an agent choosing between the two gets no explicit disambiguation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description describes what the tool returns and how include=modes gates the heavy block, but gives no when-to-use guidance, no prerequisites, and no routing against siblings like roomShapeBand or portLength. The reference to the matching web instrument is contextual flavor, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roomShapeBandSolve the best rectangular room proportions for a given volume.AInspect

Solve the best rectangular room proportions for a given volume.

The identical function that renders /lab/room-shape/{lo}-{hi}. Give a room volume in cubic feet and get the proportions to build: the length and width as multiples of the ceiling height, the exact dimensions at your volume, the widest axial gap they leave, and how far those proportions sit from a full solve at your exact volume. Also returns the band the volume falls in, that band's guarantee across its whole range, and which Bolt constraints are active at the answer. Five bands cover 800-5,000 cubic feet; a volume outside that range is refused rather than served from the nearest band.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
volumeYesRoom volume in cubic feet. Five bands cover 800–5000 ft³; anything outside that is a 400 naming the range, never an answer from the nearest band.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility and delivers richly. It discloses the return contents, the volume band behavior, refusal of out-of-range input, and the presence of provenance.canonicalUrl on every result. It even clarifies that out-of-range volumes are refused rather than served from a neighboring band.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then details outputs, constraints, and provenance in a logical order. It is somewhat verbose, and the sentence about the identical rendering function is slightly tangential, but nearly every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a single-parameter tool with an output schema, and the description covers input units, valid range, refusal behavior, output fields, band guarantees, and provenance. Nothing essential for an agent to decide whether to call it and what to expect is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema: it specifies the valid volume range, the band structure, and the refusal behavior for out-of-range values, which helps the agent reason about valid inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: solving rectangular room proportions for a given volume. It is unambiguous about what the tool computes, but it does not explicitly distinguish itself from sibling tools such as roomModes, so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied: provide a room volume in cubic feet and receive proportions. It also gives a firm exclusion boundary by refusing volumes outside 800–5,000 cubic feet, but it never names alternatives or states when to prefer another tool, so the guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solenoidFieldSolve the on-axis magnetic field of an air-core solenoid.AInspect

Solve the on-axis magnetic field of an air-core solenoid.

The identical function behind the /lab/solenoid table. Returns the centre field per amp-turn and at the requested turns and current, the on-axis profile out to three half-lengths, the span over which the field holds to within 1% and 5% of its centre value, the field at the coil mouth as a fraction of the centre, how far the infinite-solenoid shortcut mu0nI overstates the answer, and the turn count below which the closed form should not be used on this geometry. Dimensions are in millimetres. The field is exactly linear in turns x current, so only that product changes the answer.

Every result carries provenance.canonicalUrl — the published page for these exact inputs, or the lane hub when they are off the published grid.

NameRequiredDescriptionDefault
turnsNoNumber of turns. Defaults to 1, which is what the published pages state (their figures are per amp-turn). The field is exactly linear in turns x current.
lengthYesWinding length along the axis, in millimetres.
currentNoWinding current in amperes. Defaults to 1. Only the product of turns and current changes the answer.
diameterYesMean winding diameter in millimetres.

Output Schema

NameRequiredDescription
inputsYesThe parsed inputs, echoed back with defaults filled in.
resultYesThe solved analysis. Shape is per-tool.
licenseYes
provenanceYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it declares units (millimetres), the exact linearity law ('the field is exactly linear in turns x current, so only that product changes the answer'), and the provenance behavior including the off-grid lane-hub fallback. It does not state that the call is a pure/deterministic computation with no side effects, but nothing misleading is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded with the purpose, then the returned quantities, then the one genuinely non-obvious behavioral fact (provenance.canonicalUrl). The long enumeration of return quantities partially duplicates the existing output schema, which is the only real slack.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter physics solver with two required inputs, all ranges, and an output schema, the description supplies the missing context an agent needs: units, the turns×current invariance, geometry applicability, and the validity caveat for the closed form. Because an output schema already exists, its detailed return enumeration is redundant rather than necessary, keeping this from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents turns, current, length and diameter including defaults and the turns×current linearity. The description reinforces the millimetre units and the linearity rule but adds no new parameter-level syntax or format beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource: 'Solve the on-axis magnetic field of an air-core solenoid,' and anchors it to a concrete artifact ('the identical function behind the /lab/solenoid table'). The sibling tools (biquadDesign, gaussianBeam, roomModes, etc.) occupy entirely different domains, so there is no ambiguity to disambiguate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the agent can infer you call this when you need an on-axis solenoid field, and the 'closed form should not be used below this turn count' caveat is embedded in the returned data rather than the guidance. There is no explicit when-to-use/when-not statement and no named alternative or prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • AddedportLength
  2. 2 tool updates
    • AddedgaussianBeam
    • AddedopticsResonator
  3. 1 tool update
    • ChangedllmVramFit1 field changed
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "deepseek-r1-distill-llama-70b",
        -  "deepseek-r1-distill-llama-8b",
        -  "deepseek-r1-distill-qwen-1-5b",
        -  "deepseek-r1-distill-qwen-14b",
        -  "deepseek-r1-distill-qwen-32b",
        -  "deepseek-r1-distill-qwen-7b",
        -  "dolphin-mistral-24b-venice-edition",
        -  "falcon3-7b-instruct",
        -  "gemma-2-27b-it",
        -  "gemma-2-9b-it",
        -  "gemma-3-12b-it",
        -  "gemma-3-1b-it",
        -  "gemma-3-27b-it",
        -  "gemma-3-4b-it",
        -  "gpt-oss-120b",
        -  "gpt-oss-20b",
        -  "granite-3-3-8b-instruct",
        -  "hermes-4-3-36b",
        -  "hy3",
        -  "kat-coder-v2-5-dev",
        -  "laguna-s-2-1",
        -  "laguna-xs-2-1",
        -  "llama-3-1-70b-instruct",
        -  "llama-3-1-8b-instruct",
        -  "llama-3-1-nemotron-70b-instruct",
        -  "llama-3-2-1b-instruct",
        -  "llama-3-2-3b-instruct",
        -  "llama-3-3-70b-instruct",
        -  "minicpm5-1b",
        -  "mistral-7b-instruct-v0-3",
        -  "mistral-nemo-instruct-2407",
        -  "mistral-small-24b-instruct-2501",
        -  "mixtral-8x7b-instruct-v0-1",
        -  "nanbeige4-2-3b",
        -  "olmo-2-1124-13b-instruct",
        -  "phi-3-5-mini-instruct",
        -  "phi-4",
        -  "phi-4-mini-instruct",
        -  "qwen-agentworld-35b-a3b",
        -  "qwen2-5-0-5b-instruct",
        -  "qwen2-5-1-5b-instruct",
        -  "qwen2-5-14b-instruct",
        -  "qwen2-5-32b-instruct",
        -  "qwen2-5-3b-instruct",
        -  "qwen2-5-72b-instruct",
        -  "qwen2-5-7b-instruct",
        -  "qwen2-5-coder-32b-instruct",
        -  "qwen2-5-coder-7b-instruct",
        -  "qwen3-0-6b",
        -  "qwen3-1-7b",
        -  "qwen3-14b",
        -  "qwen3-30b-a3b",
        -  "qwen3-32b",
        -  "qwen3-4b",
        -  "qwen3-8b",
        -  "qwq-32b",
        -  "qwythos-9b-claude-mythos-5-1m",
        -  "smollm2-1-7b-instruct",
        -  "smollm2-135m-instruct",
        -  "smollm2-360m-instruct",
        -  "tinyllama-1-1b-chat-v1-0",
        -  "yi-1-5-34b-chat"
        -]New value: +[
        +  "deepseek-r1-distill-llama-70b",
        +  "deepseek-r1-distill-llama-8b",
        +  "deepseek-r1-distill-qwen-1-5b",
        +  "deepseek-r1-distill-qwen-14b",
        +  "deepseek-r1-distill-qwen-32b",
        +  "deepseek-r1-distill-qwen-7b",
        +  "dolphin-mistral-24b-venice-edition",
        +  "falcon3-7b-instruct",
        +  "gemma-2-27b-it",
        +  "gemma-2-9b-it",
        +  "gemma-3-12b-it",
        +  "gemma-3-1b-it",
        +  "gemma-3-27b-it",
        +  "gemma-3-4b-it",
        +  "gpt-oss-120b",
        +  "gpt-oss-20b",
        +  "granite-3-3-8b-instruct",
        +  "hermes-4-3-36b",
        +  "hy3",
        +  "k2-horizon-7b",
        +  "kat-coder-v2-5-dev",
        +  "laguna-s-2-1",
        +  "laguna-xs-2-1",
        +  "llama-3-1-70b-instruct",
        +  "llama-3-1-8b-instruct",
        +  "llama-3-1-nemotron-70b-instruct",
        +  "llama-3-2-1b-instruct",
        +  "llama-3-2-3b-instruct",
        +  "llama-3-3-70b-instruct",
        +  "minicpm5-1b",
        +  "minicpm5-2b",
        +  "mistral-7b-instruct-v0-3",
        +  "mistral-nemo-instruct-2407",
        +  "mistral-small-24b-instruct-2501",
        +  "mixtral-8x7b-instruct-v0-1",
        +  "nanbeige4-2-3b",
        +  "nex-n2-5-pro",
        +  "olmo-2-1124-13b-instruct",
        +  "ornith-1-5-35b-a3b",
        +  "ornith-1-5-9b",
        +  "phi-3-5-mini-instruct",
        +  "phi-4",
        +  "phi-4-mini-instruct",
        +  "qwen-agentworld-35b-a3b",
        +  "qwen2-5-0-5b-instruct",
        +  "qwen2-5-1-5b-instruct",
        +  "qwen2-5-14b-instruct",
        +  "qwen2-5-32b-instruct",
        +  "qwen2-5-3b-instruct",
        +  "qwen2-5-72b-instruct",
        +  "qwen2-5-7b-instruct",
        +  "qwen2-5-coder-32b-instruct",
        +  "qwen2-5-coder-7b-instruct",
        +  "qwen3-0-6b",
        +  "qwen3-1-7b",
        +  "qwen3-14b",
        +  "qwen3-30b-a3b",
        +  "qwen3-32b",
        +  "qwen3-4b",
        +  "qwen3-8b",
        +  "qwq-32b",
        +  "qwythos-9b-claude-mythos-5-1m",
        +  "smollm2-1-7b-instruct",
        +  "smollm2-135m-instruct",
        +  "smollm2-360m-instruct",
        +  "spark-x2-5-4b",
        +  "tinyllama-1-1b-chat-v1-0",
        +  "yi-1-5-34b-chat"
        +]
  4. 5 tool updates
    • First observedbiquadDesign
    • First observedllmVramFit
    • First observedroomModes
    • First observedroomShapeBand
    • First observedsolenoidField

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server providing embedded engineering calculators and code generators as tools for AI agents, enabling precise, deterministic embedded math and C code generation.
    29
    74 npm
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    Enables deterministic solving of real-valued equation systems with up to six variables, providing certified solutions via interval contraction and Krawczyk verification, and honestly marking truncation when exhaustive search is incomplete—all offline with zero dependencies.
    4
    110 npm
    -
  • A
    license
    A
    quality
    B
    maintenance
    Airtight math tools an AI uses over MCP — 3.7M-theorem search, PSLQ constant ID, OEIS, real Lean kernel checks, applicability checklists. No LLM inside, no API key.
    12
    40 PyPI
    13
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    Enables MCP clients and LLM agents to run deterministic fast-reactor and fuel-cycle solvers in one place: sodium bundle thermal hydraulics with FCCI margins, RVACS decay-heat transients, heat-pipe/sCO2 capillary limits, LiCl-KCl electrorefining mass balance, Ac-225 isotope yield, data-center microgrid load-following, defense microreactor resilience, and HALEU cask logistics. Exposes a chained multi-physics transient orchestrator tool alongside a standalone CLI for scripted physics runs.
    11
    Academic Free v1.1
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources