mcpbeat

Rdkit

k-dense-ai/rdkit

Cheminformatics toolkit for fine-grained molecular control. SMILES/SDF parsing, descriptors (MW, LogP, TPSA), fingerprints, substructure search, 2D/3D generation, similarity, reactions. For standard workflows with simpler interface, use datamol (wrapper around RDKit). Use rdkit for advanced control, custom sanitization, specialized algorithms.

23k tokens
context cost
the whole folder, loaded on every use
9
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
32514
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills --skill rdkit

The instruction itself

8 sections, as written by the author

RDKit Cheminformatics Toolkit

Overview

RDKit is a comprehensive cheminformatics library providing Python APIs for molecular analysis and manipulation. This skill provides guidance for reading/writing molecular structures, calculating descriptors, fingerprinting, substructure searching, chemical reactions, 2D/3D coordinate generation, and molecular visualization. Use this skill for drug discovery, computational chemistry, and cheminformatics research tasks.

Current baseline (checked 2026-06-07): RDKit 2026.03.3 is the latest GitHub/PyPI release (rdkit 2026.3.3 on PyPI). Official installation docs continue to recommend conda-forge for most users, while cross-platform PyPI wheels are published under the rdkit package name. rdkit-pypi is the old PyPI package name and should only appear when maintaining legacy environments.

Installation and Setup

Use uv when installing into an existing Python environment:

uv pip install rdkit

For reproducible chemistry environments, especially when mixing compiled scientific packages, conda-forge remains the upstream recommendation:

conda create -c conda-forge -n my-rdkit-env rdkit
conda activate my-rdkit-env

Avoid installing both conda rdkit and PyPI rdkit/rdkit-pypi into the same environment unless you are deliberately debugging packaging behavior. Mixed installs can make it unclear which binary extension is being imported.

Core Capabilities

Twelve capability areas, each with worked code, are documented in

references/core_capabilities.md:

| # | Area | Covers |

| --- | --- | --- |

| 1 | Molecular I/O and creation | SMILES, MOL files and blocks, InChI, SDF and SMILES suppliers, multithreaded reading, writers |

| 2 | Sanitization and validation | disabling automatic sanitization, manual and partial sanitization, detecting problems first |

| 3 | Analysis and properties | atom and bond iteration, ring information and SSSR, chirality and stereochemistry, fragments |

| 4 | Descriptors | MW, LogP, TPSA, H-bond donors/acceptors, rotatable bonds, aromatic rings, bulk calculation, drug-likeness |

| 5 | Fingerprints and similarity | topological, Morgan/ECFP via rdFingerprintGenerator, MACCS, atom pair, torsion, Avalon; Tanimoto and other metrics; Butina clustering |

| 6 | Substructure searching | SMARTS queries, match retrieval, and a library of common patterns |

| 7 | Chemical reactions | reaction SMARTS, applying reactions, reaction fingerprints |

| 8 | 2D and 3D coordinates | depiction, template alignment, ETKDG embedding, force-field optimization, RMSD, constrained embedding |

| 9 | Visualization | single and grid images, substructure highlighting, custom drawer options, Jupyter integration, fingerprint bit environments |

| 10 | Molecular modification | explicit hydrogens, Kekulization, aromaticity, substructure replacement, charge neutralization |

| 11 | Hashes and standardization | Murcko scaffold and canonical hashes, regioisomer hashes, randomized SMILES for augmentation |

| 12 | Pharmacophore and 3D features | feature factories and feature extraction |

Worked workflows and the performance, thread-safety, and version-sensitivity notes are in

references/workflows_and_best_practices.md.

Prefer portable exchange formats (SMILES, SDF) for shared data; for local caches RDKit's

binary molecule representation avoids generic pickle.

Common Pitfalls

  • Forgetting to check for None: Always validate molecules after parsing
  • Sanitization failures: Use DetectChemistryProblems() to debug
  • Missing hydrogens: Use AddHs() when calculating properties that depend on hydrogen
  • 2D vs 3D: Generate appropriate coordinates before visualization or 3D analysis
  • SMARTS matching rules: Remember that unspecified properties match anything
  • Thread safety with MolSuppliers: Don't share supplier objects across threads

Resources

references/

This skill includes detailed API reference documentation:

  • api_reference.md - Comprehensive listing of RDKit modules, functions, and classes organized by functionality
  • descriptors_reference.md - Complete list of available molecular descriptors with descriptions
  • smarts_patterns.md - Common SMARTS patterns for functional groups and structural features

Load these references when needing specific API details, parameter information, or pattern examples.

Only the files listed in references/ and scripts/ are bundled local resources. Names such as rdkit, datamol, scipy, and sklearn refer to installable Python packages, not local files in this skill.

scripts/

Example scripts for common RDKit workflows:

  • molecular_properties.py - Calculate comprehensive molecular properties and descriptors
  • similarity_search.py - Perform fingerprint-based similarity screening
  • substructure_filter.py - Filter molecules by substructure patterns

These scripts can be executed directly or used as templates for custom workflows.

How to use it

Copy the folder

Take k-dense-ai/rdkit from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, uv. Without those the skill loads but fails at the first command.