Skip to main content
Glama

lookup_molecule_data

Retrieve a compound’s structure, PubChem properties, and GHS safety data from an English/IUPAC name or SMILES to build a data sheet.

Instructions

Show a compound's data sheet: structure, PubChem properties and GHS safety.

Use it for a data sheet or facts available from those sources. The molecule panel also calls this tool when the user clicks Data. Internet access is required. Missing values are not evidence that a property or hazard is absent.

Not this tool for: a bare compound name with no data requested — use generate_molecule. Pass English or IUPAC names, or SMILES.

Args: name: English/IUPAC compound name or SMILES (e.g. 'Aspirin').

Input Schema

NameRequiredDescriptionDefault
nameYes

Output Schema

NameRequiredDescriptionDefault
nameNo
typeNodatabase
atomsNo
smilesNo
sourcesNo
stereoNoteNo
molecule_svgNo
stereoWarningsNo
functionalGroupsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv0.6.0
    • addedOutput schema / $defs / DatabaseSource / properties / groups
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "$ref": "#/$defs/GhsGroup"
      +  },
      +  "title": "Groups",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / DatabaseSource / properties / note
      Added value: +{
      +  "default": "",
      +  "title": "Note",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / DatabaseSource / properties / status
      Added value: +{
      +  "default": "",
      +  "title": "Status",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / GhsGroup
      Added value: +{
      +  "description": "Die Einstufung EINER Quelle (PubChem ReferenceNumber).",
      +  "properties": {
      +    "hazards": {
      +      "default": [],
      +      "items": {
      +        "$ref": "#/$defs/GhsHazard"
      +      },
      +      "title": "Hazards",
      +      "type": "array"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "lead": {
      +      "default": false,
      +      "title": "Lead",
      +      "type": "boolean"
      +    },
      +    "not_classified": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/GhsNotClassified"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "note": {
      +      "default": "",
      +      "title": "Note",
      +      "type": "string"
      +    },
      +    "p_codes": {
      +      "default": [],
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "P Codes",
      +      "type": "array"
      +    },
      +    "pictograms": {
      +      "default": [],
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Pictograms",
      +      "type": "array"
      +    },
      +    "record_name": {
      +      "default": "",
      +      "title": "Record Name",
      +      "type": "string"
      +    },
      +    "reports_total": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Reports Total"
      +    },
      +    "signal": {
      +      "default": "",
      +      "title": "Signal",
      +      "type": "string"
      +    },
      +    "source": {
      +      "title": "Source",
      +      "type": "string"
      +    },
      +    "url": {
      +      "default": "",
      +      "title": "Url",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "source"
      +  ],
      +  "title": "GhsGroup",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / GhsHazard
      Added value: +{
      +  "properties": {
      +    "code": {
      +      "title": "Code",
      +      "type": "string"
      +    },
      +    "percent": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Percent"
      +    },
      +    "text": {
      +      "default": "",
      +      "title": "Text",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code"
      +  ],
      +  "title": "GhsHazard",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / GhsNotClassified
      Added value: +{
      +  "description": "Eine Quelle meldet ausdruecklich \"erfuellt die GHS-Kriterien nicht\".",
      +  "properties": {
      +    "percent": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Percent"
      +    },
      +    "reports": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Reports"
      +    },
      +    "total": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Total"
      +    }
      +  },
      +  "title": "GhsNotClassified",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / StereoWarning
      Added value: +{
      +  "description": "Ein Stereoelement, dessen Konfiguration die Eingabe offen lässt.",
      +  "properties": {
      +    "atoms": {
      +      "default": [],
      +      "items": {
      +        "type": "integer"
      +      },
      +      "title": "Atoms",
      +      "type": "array"
      +    },
      +    "kind": {
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "label": {
      +      "default": "",
      +      "title": "Label",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind"
      +  ],
      +  "title": "StereoWarning",
      +  "type": "object"
      +}
    • addedOutput schema / properties / stereoNote
      Added value: +{
      +  "default": "",
      +  "title": "Stereonote",
      +  "type": "string"
      +}
    • addedOutput schema / properties / stereoWarnings
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "$ref": "#/$defs/StereoWarning"
      +  },
      +  "title": "Stereowarnings",
      +  "type": "array"
      +}
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior4/5

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

Since no annotations were provided, the description carries the full burden of transparency. It explicitly states that 'Missing values are not evidence that a property or hazard is absent,' which is a critical behavioral caveat for a lookup tool pulling external data. It also notes the dependency on internet access.

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

Conciseness5/5

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

The description is highly efficient. Every sentence adds value, moving from primary function to operational requirements, exclusions, and finally, parameter guidance.

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 critical nature of distinguishing it from `generate_molecule` and specifying input formats (SMILES/IUPAC/English), the description is maximally complete for an AI agent attempting correct tool selection.

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

Parameters5/5

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

The input schema is extremely sparse (just 'name': 'string'). The description significantly enhances the schema by detailing that 'name' can be an English/IUPAC compound name or a SMILES string, providing concrete examples like 'Aspirin' to guide usage.

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 purpose is immediately clear: to show a compound's data sheet including structure, PubChem properties, and GHS safety. It successfully differentiates itself from sibling tools by specifying its function as data retrieval.

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

Usage Guidelines5/5

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

The tool provides explicit instructions on when to use it and when *not* to use it, referring the agent to `generate_molecule` for bare compound names. It also adds the necessary operational constraint: internet access is required.

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