Skip to main content
Glama

Get Compound

get_compound
Read-onlyIdempotent

Get standard properties for a PubChem CID: molecular formula, molecular weight, IUPAC name, canonical SMILES, isomeric SMILES, InChI, InChIKey, exact mass, charge, complexity, H-bond donors/acceptors, rotatable bonds, TPSA, XLogP, heavy atom count.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID
tpsaNoTopological Polar Surface Area
inchiNoInChI chemical identifier
xlogpNoOctanol-water partition coefficient
chargeNoNet formal charge
inchikeyNoInChIKey hash
complexityNoStructural complexity score
exact_massNoExact mass of the compound
iupac_nameNoIUPAC systematic name
pubchem_urlYesDirect URL to PubChem compound page
h_bond_donorsNoCount of hydrogen bond donor groups
isomeric_smilesNoIsomeric SMILES notation
rotatable_bondsNoCount of rotatable bonds
canonical_smilesNoCanonical SMILES notation
h_bond_acceptorsNoCount of hydrogen bond acceptor groups
heavy_atom_countNoCount of heavy (non-hydrogen) atoms
molecular_weightNoMolecular weight in g/mol
molecular_formulaNoChemical molecular formula
monoisotopic_massNoMonoisotopic mass

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "cid": 3672
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "canonical_smiles": {
      +      "description": "Canonical SMILES notation",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "charge": {
      +      "description": "Net formal charge",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "cid": {
      +      "description": "PubChem Compound ID",
      +      "type": "number"
      +    },
      +    "complexity": {
      +      "description": "Structural complexity score",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "exact_mass": {
      +      "description": "Exact mass of the compound",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "h_bond_acceptors": {
      +      "description": "Count of hydrogen bond acceptor groups",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "h_bond_donors": {
      +      "description": "Count of hydrogen bond donor groups",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "heavy_atom_count": {
      +      "description": "Count of heavy (non-hydrogen) atoms",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "inchi": {
      +      "description": "InChI chemical identifier",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "inchikey": {
      +      "description": "InChIKey hash",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "isomeric_smiles": {
      +      "description": "Isomeric SMILES notation",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "iupac_name": {
      +      "description": "IUPAC systematic name",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "molecular_formula": {
      +      "description": "Chemical molecular formula",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "molecular_weight": {
      +      "description": "Molecular weight in g/mol",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "monoisotopic_mass": {
      +      "description": "Monoisotopic mass",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "pubchem_url": {
      +      "description": "Direct URL to PubChem compound page",
      +      "type": "string"
      +    },
      +    "rotatable_bonds": {
      +      "description": "Count of rotatable bonds",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "tpsa": {
      +      "description": "Topological Polar Surface Area",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "xlogp": {
      +      "description": "Octanol-water partition coefficient",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "cid",
      +    "pubchem_url"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description does not need to repeat safety info. The description adds value by listing the specific properties returned (molecular formula, weight, etc.), which helps the agent understand what to expect beyond annotations.

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 a single, well-structured sentence that efficiently enumerates the provided properties without any fluff. Every word contributes to understanding the tool's output.

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 simple retrieval tool with one parameter and an output schema, the description is complete. The annotations cover safety and semantics, and the description lists all returned fields. There is no missing information that would impede correct usage.

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 coverage is 100% for the single parameter 'cid', with clear description 'PubChem Compound ID'. The tool description does not add additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 clearly states it retrieves standard properties for a PubChem CID, listing many specific properties. The verb 'get' and resource 'compound' are precise. Among sibling tools, none directly overlap, making it uniquely identifiable.

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 implicitly indicates when to use: when you need standard properties of a compound given a CID. However, it does not explicitly state when not to use or provide alternatives. The context is clear enough, but lacks explicit guidance.

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.

TDQS

A3.6/5.0
Disambiguation2/5

Many tools overlap heavily: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, and deep_research all answer factual questions through similar routing; the polymarket_* tools and entity_profile/compare_entities/recent_changes also cover the same ground. The server is named Pubchem but most tools are unrelated, adding another layer of confusion.

Naming Consistency4/5

All tool names are snake_case and mostly follow verb_noun (search_by_name, get_compound, create_subscription, etc.). Minor deviations exist like entity_profile and recent_alerts being noun-first, and the pipeworx_*/polymarket_* prefixes make the set feel more like multiple products than one coherent API.

Tool Count2/5

35 tools is a large surface, and only 4 (search_by_name, get_compound, get_classification, get_synonyms) actually belong to PubChem. The other 31 tools form a broad Pipeworx/prediction-market toolkit that seems unrelated to the server's stated name and purpose.

Completeness2/5

For a PubChem server the coverage is minimal: basic name->CID resolution, compound properties, classification, and synonyms, but no formula search, bioassay, spectra, or list/search by other identifiers. The Pipeworx tools are extensive for general data querying but require accounts/keys for full use, so anonymous agents hit incomplete workflow dead ends.