Skip to main content
Glama

Chemistry: elements, compounds and constants

check_chemistry
Read-only

Look up an element by name, symbol or atomic number; calculate molar mass of a formula including hydrates; balance a chemical equation; calculate molarity, dilution or grams; look up a compound and its reported hazards; find a physical constant or convert scientific units. Calculations show their working and compounds use live PubChem data. Applies to questions about chemical elements, chemistry math, compounds, physical constants and science unit conversions.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "kind": "<kind>"
    },
    "name": "check_chemistry"
  }
}

Input Schema

NameRequiredDescriptionDefault
c1NoInitial concentration for dilution
c2NoFinal concentration for dilution, or mol/L for grams
v1NoInitial volume for dilution
v2NoFinal volume for dilution
kindYesChoose the science question to answer
modeNoSolution calculation; for dilution leave exactly one of c1, v1, c2, v2 out
molesNoAmount in mol for molarity
queryNoElement name, symbol or atomic number; compound name; or constant name or symbol
valueNoValue to convert, with from_unit and to_unit
formulaNoChemical formula, for molar_mass or solution grams, e.g. CuSO4·5H2O
to_unitNoTarget unit of the same dimension
equationNoUnbalanced equation, e.g. H2 + O2 -> H2O
volume_lNoSolution volume in litres for molarity or grams
from_unitNoSource unit, e.g. km, g, L, C

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnly, non-destructive and open-world behavior, and the description adds genuinely new context: calculations show their working, and compound lookups draw on live PubChem data (which corroborates openWorldHint). That is useful for an agent that needs to reason about result trustworthiness and external dependency. It does not describe failure modes, unit defaults, or what happens when a formula cannot be parsed.

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 opening sentence is front-loaded with the concrete operations and every clause maps to a real capability, so there is little waste. The final 'Applies to questions about...' sentence partially repeats the first sentence's content, which is the only redundancy. Overall it is dense and scannable for a six-mode tool.

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 14-parameter, six-mode tool with no output schema, the description covers every capability and adds two behavioral notes (working shown, live PubChem). It does not explain which parameters belong to which 'kind', leaving that entirely to the schema. Given the richness of the schema descriptions, this is close to complete but not fully self-sufficient.

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% and the enum values for 'kind' and 'mode' are documented, so the schema carries the parameter burden. The description restates the operations in prose but adds little mechanical detail beyond what the schema already says — notably 'including hydrates' is already exemplified by CuSO4·5H2O in the formula field. Baseline 3 is appropriate.

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 enumerates specific verb+resource pairs (look up an element, calculate molar mass, balance an equation, look up a compound and hazards, find a physical constant, convert units) that map cleanly onto the six 'kind' values. It also delimits the domain in the closing sentence, which separates it from the other check_* siblings by subject matter. It stops short of naming an alternative tool, so it is clear but not sibling-routing.

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 only implied: 'Applies to questions about chemical elements, chemistry math, compounds, physical constants and science unit conversions' tells the agent the topic but not when to prefer this tool over a sibling or when not to call it. No guidance is given on how to pick among the six kinds or on prerequisites such as needing a formula for molar_mass. The dilution constraint (leave one of c1/v1/c2/v2 out) lives in the schema, not the description.

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.

Resources