Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
mims-harvard avatar

Tooluniverse Chemical Compound Retrieval

  • 366 installs
  • 1.6k repo stars
  • Updated August 4, 2026
  • mims-harvard/tooluniverse

tooluniverse-chemical-compound-retrieval is a ToolUniverse skill that retrieves compound structures, identifiers, and properties from PubChem and ChEMBL for developers who need disambiguated SMILES, InChI, and cross-data

About

tooluniverse-chemical-compound-retrieval is a cheminformatics skill in mims-harvard/tooluniverse for agent-driven compound lookup with strict look-up-don't-guess rules. A 3-phase workflow disambiguates names via PubChem_get_CID_by_compound_name, OPSIN_name_to_structure for IUPAC parsing, and ChEMBL_search_molecules, then retrieves properties, bioactivity, and toxicity from PubChem and ChEMBL tools. Results are graded Confirmed through Unverified based on cross-database agreement. Developers reach for this skill when resolving aspirin-like unambiguous names or flagging ambiguous classes like Vitamin D before downstream analysis.

  • SMILES and structure lookup
  • Chemical identifier resolution
  • Cheminformatics API access
  • Cross-database compound enrichment
  • Medicinal chemistry research automation

Tooluniverse Chemical Compound Retrieval by the numbers

  • 366 all-time installs (skills.sh)
  • +7 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #2,096 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-chemical-compound-retrieval

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs366
repo stars1.6k
Last updatedAugust 4, 2026
Repositorymims-harvard/tooluniverse

How do you resolve compound names to SMILES and IDs?

Let agents retrieve compound structures, identifiers, properties, and cross-references from cheminformatics databases to support medicinal chemistry, validation, and literature-linked compound lookup.

Who is it for?

Developers and computational chemists who need agent-driven PubChem and ChEMBL compound lookup with stereochemistry handling.

Skip if: Protein structure prediction or RNA-seq analysis unrelated to small-molecule compound identity.

When should I use this skill?

A developer asks to resolve a compound name to SMILES, CID, ChEMBL ID, or fetch molecular properties from cheminformatics databases.

What you get

Compound profile with CID, ChEMBL ID, canonical SMILES, properties, bioactivity, and evidence grade.

  • Compound profile with CID and ChEMBL ID
  • Canonical SMILES and InChI
  • Bioactivity and property summary

By the numbers

  • 3-phase workflow: disambiguate, retrieve, report compound profile
  • 4 evidence grades: Confirmed, Probable, Uncertain, Unverified

Files

SKILL.mdMarkdownGitHub ↗

Chemical Compound Information Retrieval

Retrieve comprehensive chemical compound data with proper disambiguation and cross-database validation.

LOOK UP DON'T GUESS: Never assume a CID, ChEMBL ID, or molecular property value. Always retrieve from PubChem/ChEMBL.

English-first: Always use English compound names in tool calls. Respond in user's language.

Domain Reasoning: Disambiguation

"Aspirin" = one compound. "Vitamin D" = multiple forms (D2/D3/active metabolite). For generic class names (steroids, vitamins, acids), present candidates and confirm before proceeding.

---

Workflow

Phase 0: Clarify (only if highly ambiguous -- skip for unambiguous names or specific IDs)
Phase 1: Disambiguate → resolve PubChem CID + ChEMBL ID
Phase 2: Retrieve data (silent)
Phase 3: Report compound profile

Phase 1: Disambiguation

# By name
result = tu.tools.PubChem_get_CID_by_compound_name(compound_name=name)
# By SYSTEMATIC (IUPAC) name -> structure, deterministic parser (no DB lookup)
opsin = tu.tools.OPSIN_name_to_structure(name="2-acetoxybenzoic acid")
# Returns {parsed, smiles, inchi, inchikey}; use the SMILES/InChIKey to anchor a
# PubChem_get_CID_by_SMILES lookup. Trade/trivial names give parsed=false -> fall
# back to PubChem_get_CID_by_compound_name for those.
# By SMILES
result = tu.tools.PubChem_get_CID_by_SMILES(smiles=smiles)
# Cross-reference
chembl_result = tu.tools.ChEMBL_search_molecules(query=name, limit=5)

Verify: CID + ChEMBL ID + canonical SMILES + stereochemistry + salt forms.

Phase 2: Data Retrieval

PubChem: PubChem_get_compound_properties_by_CID, PubChemBioAssay_get_assay_summary, PubChemTox_get_acute_effects, PubChem_get_compound_2D_image_by_CID

ChEMBL: ChEMBL_get_compound_record_activities, ChEMBL_get_molecule_targets, ChEMBL_get_assay_activities

Optional: PubChem_get_associated_patents_by_CID, PubChem_search_compounds_by_similarity

Phase 3: Report

Compound Profile with: Identity (CID, ChEMBL ID, IUPAC, SMILES), Chemical Properties (MW, LogP, HBD, HBA, PSA, Lipinski), Bioactivity (targets, IC50/Ki), Drug Info (if approved), Data Sources.

---

Fallback Chains

PrimaryFallback
PubChem name lookup (systematic name)OPSIN_name_to_structure → SMILES/InChIKey → PubChem_get_CID_by_SMILES
PubChem name lookupChEMBL search → SMILES → PubChem_get_CID_by_SMILES
ChEMBL bioactivityPubChem bioassay summary
Drug labelNote "unavailable"

---

Evidence Grading

GradeCriteria
ConfirmedCID + ChEMBL cross-match, InChI/SMILES agree
ProbableCID found, partial ChEMBL match
UncertainSingle database only, or multiple CIDs
UnverifiedNo cross-reference, single-source

Bioactivity: ChEMBL > PubChem BioAssay for curated data. IC50/Ki < 100nM = potent, 100nM-1uM = moderate, >10uM = weak. Lipinski violations reduce oral bioavailability but don't disqualify.

---

SMILES Verification

Always verify novel SMILES: python3 src/tooluniverse/tools/smiles_verifier.py --smiles "SMILES_STRING". Invalid SMILES produce wrong results or cryptic errors.

---

Tool Reference

PubChem: PubChem_get_CID_by_compound_name, PubChem_get_CID_by_SMILES, PubChem_get_compound_properties_by_CID, PubChem_get_compound_2D_image_by_CID, PubChemBioAssay_get_assay_summary, PubChemTox_get_acute_effects, PubChem_get_associated_patents_by_CID, PubChem_search_compounds_by_similarity, PubChem_search_compounds_by_substructure

ChEMBL: ChEMBL_search_drugs, ChEMBL_get_molecule, ChEMBL_get_activity, ChEMBL_get_target, ChEMBL_search_targets, ChEMBL_search_assays

Name parsing: OPSIN_name_to_structure (param name) — deterministic IUPAC/systematic-name → SMILES/InChI/InChIKey parser; the go-to for resolving a systematic name to structure without a DB round-trip. Trade/trivial names return parsed=false (use PubChem name lookup for those).

Related skills

How it compares

Pick tooluniverse-chemical-compound-retrieval for small-molecule PubChem and ChEMBL lookup rather than epigenomics or genomics ToolUniverse skills.

FAQ

Which databases does tooluniverse-chemical-compound-retrieval use?

tooluniverse-chemical-compound-retrieval queries PubChem for CIDs and properties, ChEMBL for bioactivity and targets, and OPSIN for deterministic IUPAC name-to-structure parsing. Results cross-validate SMILES and InChI across databases before reporting.

How does tooluniverse-chemical-compound-retrieval handle ambiguous names?

tooluniverse-chemical-compound-retrieval flags ambiguous queries like Vitamin D with multiple forms, presents candidates, and assigns evidence grades from Confirmed when CID and ChEMBL cross-match to Unverified on single-source data only.

AI & Agent Buildingagentsresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.