Skip to content

io.github.cyanheads/pubchem-mcp-server

by cyanheads · remote · local (npm) · no sign-in to list tools · v0.7.0 · published by GitHub user cyanheads

Search PubChem compounds, properties, safety data, bioactivity, and cross-references.

Read only

10 tools: 10 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http pubchem https://pubchem.caseyjhand.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Only reads 10Claude Code: allow
  • pubchem_get_bioactivityGet a compound's bioactivity profile: which assays tested it, activity outcomes (Active/Inactive/Inconclusive), target identifiers (NCBI Gene ID, UniProt/GenBank accession), and qu…No findings

    Why it is in this group

    • The name "pubchem_get_bioactivity" says "get": a word for reading.
    Description, as the server wrote it
    Get a compound's bioactivity profile: which assays tested it, activity outcomes (Active/Inactive/Inconclusive), target identifiers (NCBI Gene ID, UniProt/GenBank accession), and quantitative values (IC50, EC50, Ki, etc.). Filter by outcome and/or a specific molecular target (NCBI Gene ID or protein accession) to focus the profile — e.g. "is this compound active against target T?".

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_compound_3d_structureGet a compound's default 3D conformer — atomic coordinates and bonds — for one CID.No findings

    Why it is in this group

    • The name "pubchem_get_compound_3d_structure" says "get": a word for reading.
    Description, as the server wrote it
    Get a compound's default 3D conformer — atomic coordinates and bonds — for one CID. format="json" (default) returns atoms and bonds parsed into structured fields; format="sdf" returns the raw V2000 SDF text for passthrough to docking, rendering, or conformer tools. Optionally lists alternate conformer IDs. Not every compound has computed 3D coordinates (large molecules, mixtures, and some salts do not).

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_compound_detailsGet detailed compound information by CID.No findings

    Why it is in this group

    • The name "pubchem_get_compound_details" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed compound information by CID. Returns physicochemical properties (molecular weight, SMILES, InChIKey, XLogP, TPSA, etc.), optionally with a textual description (pharmacology, mechanism, therapeutic use), known synonyms, drug-likeness assessment (Lipinski/Veber rules), and/or pharmacological classification (FDA classes, MeSH classes, ATC codes). Fetches up to 100 CIDs per call; CIDs past that are returned in unprocessed for a follow-up call.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_compound_imageFetch a 2D structure diagram (PNG image) for a compound by CID.No findings

    Why it is in this group

    • The name "pubchem_get_compound_image" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a 2D structure diagram (PNG image) for a compound by CID.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_compound_interactionsGet a compound's interaction data: drug-drug interactions (DrugBank), drug-food interactions, and chemical-target interactions (binding/activity from BindingDB, ChEMBL, and others)…No findings

    Why it is in this group

    • The name "pubchem_get_compound_interactions" says "get": a word for reading.
    Description, as the server wrote it
    Get a compound's interaction data: drug-drug interactions (DrugBank), drug-food interactions, and chemical-target interactions (binding/activity from BindingDB, ChEMBL, and others). Each entry carries its originating source. Results are paged per kind, with the source-record total and the next offset reported for each. Richest for approved drugs; many compounds have no deposited interaction records. Drug-drug and target interactions come from PubChem's SDQ service, which can refuse automated requests — a refused kind is reported in failedKinds while the others still return; per-target activity is also available from pubchem_get_bioactivity.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_compound_safetyGet GHS (Globally Harmonized System) hazard classification and safety data for one or more compounds by CID.No findings

    Why it is in this group

    • The name "pubchem_get_compound_safety" says "get": a word for reading.
    Description, as the server wrote it
    Get GHS (Globally Harmonized System) hazard classification and safety data for one or more compounds by CID. Returns signal word, pictograms, hazard statements (H-codes), and precautionary statements (P-codes) per compound, merged across sources, plus each source's own classification — its signal word, pictograms, H-codes with ECHA notifier agreement percentages, and notification counts — since sources often disagree. Reports ECHA "Not Classified" verdicts as their own status.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_compound_xrefsGet external database cross-references for a compound: PubMed citations, patent IDs, gene/protein associations, registry numbers, and taxonomy IDs.No findings

    Why it is in this group

    • The name "pubchem_get_compound_xrefs" says "get": a word for reading.
    Description, as the server wrote it
    Get external database cross-references for a compound: PubMed citations, patent IDs, gene/protein associations, registry numbers, and taxonomy IDs. Results are paged per type — capped at maxPerType with the total count reported; reach the IDs past a page with offset. PubMed IDs come highest (most recently assigned) first and the other numeric types in ascending order; string IDs keep PubChem's order.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_get_summaryGet descriptive summaries for PubChem entities by ID.No findings

    Why it is in this group

    • The name "pubchem_get_summary" says "get": a word for reading.
    Description, as the server wrote it
    Get descriptive summaries for PubChem entities by ID. Supports assays (AID), genes (Gene ID), proteins (UniProt accession), and taxonomy (Tax ID). Up to 10 per call; identifiers past that are returned in unprocessed for a follow-up call.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_search_assaysFind PubChem bioassays associated with a biological target.No findings

    Why it is in this group

    • The name "pubchem_search_assays" says "search": a word for reading.
    Description, as the server wrote it
    Find PubChem bioassays associated with a biological target. Search by gene symbol (e.g. "EGFR"), protein name, NCBI Gene ID, or UniProt accession. Returns a page of assay IDs (AIDs) — page past maxResults with offset — which can be explored further with pubchem_get_summary.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true
  • pubchem_search_compoundsSearch PubChem for chemical compounds by identifier (name, SMILES, or InChIKey, up to 25 per call), molecular formula in Hill notation, substructure or superstructure containment, …No findings

    Why it is in this group

    • The name "pubchem_search_compounds" says "search": a word for reading.
    Description, as the server wrote it
    Search PubChem for chemical compounds by identifier (name, SMILES, or InChIKey, up to 25 per call), molecular formula in Hill notation, substructure or superstructure containment, 2D Tanimoto similarity, or the compounds a bioassay (AID) found active or tested. Returns a page of CIDs — reach matches past maxResults with offset. Optionally hydrate results with properties to avoid a follow-up pubchem_get_compound_details call.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.7.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http pubchem https://pubchem.caseyjhand.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__pubchem__pubchem_search_compounds",
      "mcp__pubchem__pubchem_get_compound_details",
      "mcp__pubchem__pubchem_get_compound_image",
      "mcp__pubchem__pubchem_get_compound_3d_structure",
      "mcp__pubchem__pubchem_get_compound_xrefs",
      "mcp__pubchem__pubchem_get_compound_safety",
      "mcp__pubchem__pubchem_get_bioactivity",
      "mcp__pubchem__pubchem_get_compound_interactions",
      "mcp__pubchem__pubchem_search_assays",
      "mcp__pubchem__pubchem_get_summary"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pubchem. Review it before you use it.