Skip to main content
Glama

What one material does across a range

vary_material
Read-onlyIdempotent

Shows what one material does to a glaze, by putting more and more of it into a base recipe (an ingredient blend or progression test: whiting 0 to 20, say, in 2 to 11 tiles). With mode "add" (the default) it goes on top of the base, so the recipe grows; with mode "replace" the same amount comes out of another material of the base (instead), so the total stays the same. Each tile has its amount of the material, its recipe in percent, its key unity formula figures (silica, alumina, boron, the fluxes), silica to alumina, calculated expansion, its place on Stull's chart (stull: region, crazed), the names of the limit cautions it has, and, with a firing, whether its chemistry fits that firing (coneFit verdict), and its flux ratio (fluxRatio: R2O alkalis against RO fluxes, in the unity formula). trend sums up what moves from the first tile to the last (oxides, silica to alumina, expansion, the R2O share of the flux ratio), which Stull regions the tiles cross, the first tile with a limit caution the first tile does not have (firstCaution) and, with a firing, the first whose coneFit verdict changes (firstConeFitChange). Give base materials only, no colorants. This is a calculation from published figures, not a test result: the tiles, fired, decide, and the cautions are guides, not a guarantee of food safety.

Input Schema

NameRequiredDescriptionDefault
toYesThe most of it, in the unit the recipe lines share: it must be more than from.
fromNoThe least of it, in the unit the recipe lines share (default 0: the base alone).
modeNo"add" (the default): put the material on top of the base. "replace": take the same amount out of `instead`, so the total stays the same.
stepsNoTiles from from to to (2 to 11, default 5).
firingNoThe firing, as a cone or a temperature. Leave it out when it is not known. From cone 12 up (about 1320 °C) no published glaze limits reach, so the limits are not checked there; the cone check judges cone 06 to 10 only.
recipeYesThe base recipe the material goes into.
insteadNoWith mode "replace": the material of the base that gives way to it.
languageNoThe language for any sentences in the answer, as a BCP 47 tag such as "en", "de" or "ja". Languages Glazecalc does not offer are answered in English.
limitSetNoThe limits to check against, as check_limits takes it: "glazecalc" (the default) or "hesselberth-roy".
materialYesThe material to vary, by its library name (search_materials finds it), such as "Whiting".

Output Schema

NameRequiredDescriptionDefault
toYes
fromYes
modeYes
noteYes
stepsYes
tilesYes
trendNo
celsiusNo
insteadNo
limitSetNo
materialYes
baseTotalYes
limitBandNo
limitsNoteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "baseTotal": {
      +      "type": "number"
      +    },
      +    "celsius": {
      +      "type": "number"
      +    },
      +    "from": {
      +      "type": "number"
      +    },
      +    "instead": {
      +      "type": "string"
      +    },
      +    "limitBand": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "limitSet": {
      +      "type": "string"
      +    },
      +    "limitsNote": {
      +      "type": "string"
      +    },
      +    "material": {
      +      "type": "string"
      +    },
      +    "mode": {
      +      "enum": [
      +        "add",
      +        "replace"
      +      ],
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "steps": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "tiles": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "amount": {
      +            "type": "number"
      +          },
      +          "amountPercent": {
      +            "type": "number"
      +          },
      +          "cautions": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "coneFit": {
      +            "type": "string"
      +          },
      +          "expansion": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "fluxRatio": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": {},
      +                "properties": {
      +                  "R2O": {
      +                    "type": "number"
      +                  },
      +                  "RO": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "R2O",
      +                  "RO"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "number": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "problem": {
      +            "type": "string"
      +          },
      +          "recipe": {
      +            "items": {
      +              "additionalProperties": {},
      +              "properties": {
      +                "material": {
      +                  "type": "string"
      +                },
      +                "percent": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "material",
      +                "percent"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "silicaToAlumina": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "stull": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": {},
      +                "properties": {
      +                  "crazed": {
      +                    "type": "boolean"
      +                  },
      +                  "region": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "region",
      +                  "crazed"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "total": {
      +            "type": "number"
      +          },
      +          "unity": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "Al2O3": {
      +                "type": "number"
      +              },
      +              "B2O3": {
      +                "type": "number"
      +              },
      +              "SiO2": {
      +                "type": "number"
      +              },
      +              "fluxes": {
      +                "additionalProperties": {
      +                  "type": "number"
      +                },
      +                "propertyNames": {
      +                  "type": "string"
      +                },
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "SiO2",
      +              "Al2O3",
      +              "B2O3",
      +              "fluxes"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "number",
      +          "amount",
      +          "amountPercent",
      +          "total",
      +          "recipe"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "to": {
      +      "type": "number"
      +    },
      +    "trend": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "expansion": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "change": {
      +              "type": "number"
      +            },
      +            "direction": {
      +              "enum": [
      +                "rises",
      +                "falls",
      +                "steady"
      +              ],
      +              "type": "string"
      +            },
      +            "first": {
      +              "type": "number"
      +            },
      +            "last": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "first",
      +            "last",
      +            "change",
      +            "direction"
      +          ],
      +          "type": "object"
      +        },
      +        "firstCaution": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "cautions": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "tile": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "tile",
      +            "cautions"
      +          ],
      +          "type": "object"
      +        },
      +        "firstConeFitChange": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "from": {
      +              "type": "string"
      +            },
      +            "tile": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            "to": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "tile",
      +            "from",
      +            "to"
      +          ],
      +          "type": "object"
      +        },
      +        "fluxRatio": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "change": {
      +              "type": "number"
      +            },
      +            "direction": {
      +              "enum": [
      +                "rises",
      +                "falls",
      +                "steady"
      +              ],
      +              "type": "string"
      +            },
      +            "first": {
      +              "type": "number"
      +            },
      +            "last": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "first",
      +            "last",
      +            "change",
      +            "direction"
      +          ],
      +          "type": "object"
      +        },
      +        "oxides": {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "change": {
      +                "type": "number"
      +              },
      +              "direction": {
      +                "enum": [
      +                  "rises",
      +                  "falls",
      +                  "steady"
      +                ],
      +                "type": "string"
      +              },
      +              "first": {
      +                "type": "number"
      +              },
      +              "last": {
      +                "type": "number"
      +              },
      +              "oxide": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "oxide",
      +              "first",
      +              "last",
      +              "change",
      +              "direction"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "silicaToAlumina": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "change": {
      +              "type": "number"
      +            },
      +            "direction": {
      +              "enum": [
      +                "rises",
      +                "falls",
      +                "steady"
      +              ],
      +              "type": "string"
      +            },
      +            "first": {
      +              "type": "number"
      +            },
      +            "last": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "first",
      +            "last",
      +            "change",
      +            "direction"
      +          ],
      +          "type": "object"
      +        },
      +        "stullRegions": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "oxides"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "material",
      +    "mode",
      +    "from",
      +    "to",
      +    "steps",
      +    "baseTotal",
      +    "tiles",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.1/5.0
Behavior5/5

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

The description adds substantial behavior beyond the annotations: it is a calculation from published figures rather than a test result, cautions are guides not food-safety guarantees, limits are not checked above cone 12, and cone checks judge only cone 06 to 10. These details are consistent with the read-only, idempotent, non-destructive annotations.

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?

The purpose and mode distinction are front-loaded, but the description is dense and spends significant space enumerating per-tile and trend output fields even though an output schema exists. It is informative but not tightly concise.

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 tool's complexity, nested schema, and output schema, the description is complete: it explains the progression concept, mode behavior, output content, limit and firing caveats, and the calculation-versus-test distinction.

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 input schema already documents all parameters thoroughly. The description reinforces concepts like mode "replace" using `instead` and the default from value, but it adds little parameter meaning beyond what the schema already provides.

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 states a specific verb and resource: it shows what one material does to a glaze by varying its amount through a base recipe. The progression-test framing is clear, but it does not explicitly distinguish this tool from siblings such as analyze_recipe, compare_recipes, or solve_target.

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 gives clear usage conditions: mode "add" versus "replace", base materials only and no colorants, and leaving out firing when unknown. It does not, however, explicitly say when to choose this tool over sibling analysis or comparison tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.