
Cmxflow
- 1 repo stars
- Updated July 11, 2026
- b-shields/cmxflow
cmxflow is an MCP server that runs composable cheminformatics workflows such as ligand prep, clustering, and virtual screening from your agent.
About
cmxflow MCP exposes composable cheminformatics workflows—ligand preparation, clustering, virtual screening, and related tunable steps—to AI coding agents through stdio. It is aimed at developers and small teams shipping chemistry or drug-discovery adjacent software who want agents to drive repeatable computational pipelines without re-documenting every shell command. Install with the uvx-oriented PyPI path (cmxflow / cmxflow-mcp), register in Claude Code or Cursor, and invoke tools while building integrations for research products. Complexity is advanced: you need domain context for cheminformatics outputs and local/runtime dependencies implied by the workflows. Skip it for generic SaaS; use it when your MVP genuinely depends on computational chemistry pipelines documented on the cmxflow site.
- Composable, tunable cheminformatics workflows: prepare ligands, cluster, virtual screens, and related steps
- PyPI cmxflow via uvx runtime hint (cmxflow-mcp entry) v0.3.1 stdio MCP
- Documented project site at b-shields.github.io/cmxflow for workflow reference
- Agent-driven pipeline orchestration instead of manual CLI chaining for each study
- Scientific compute integration—not a generic CRUD or marketing MCP
Cmxflow by the numbers
- Data as of Jul 12, 2026 (Skillselion catalog sync)
claude mcp add cmxflow -- uvx cmxflowAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 1 |
|---|---|
| Package | cmxflow |
| Transport | STDIO |
| Auth | None |
| Last updated | July 11, 2026 |
| Repository | b-shields/cmxflow ↗ |
What it does
Run composable cheminformatics pipelines—ligand prep, clustering, virtual screens—from your agent via cmxflow MCP.
Who is it for?
Best when you're of chem/bio tools or internal R&D automation and already work in cheminformatics and use MCP-capable agents.
Skip if: Typical app or content founders with no molecular modeling or virtual screening requirements.
What you get
After setup, your agent can trigger structured cmxflow workflows for preparation, clustering, and screening without hand-rolling each command sequence.
- Agent-triggered ligand prep, clustering, and screening workflows
- Repeatable tunable pipelines without manual CLI scripting each run
- Integration hook for chemistry-focused build products
By the numbers
- PyPI package cmxflow version 0.3.1 with cmxflow-mcp stdio entry
- Documented websiteUrl https://b-shields.github.io/cmxflow/
- GitHub repository b-shields/cmxflow
README.md
cmxflow 🧪
Build cheminformatics and computational chemistry pipelines with composable blocks. Tune end-to-end with Bayesian Optimization. Or ask an LLM agent to do it.
Quick examples
Prepare ligands for docking
from cmxflow import Workflow
from cmxflow.sources import MoleculeSourceBlock
from cmxflow.operators import (
MoleculeStandardizeBlock,
IonizeMoleculeBlock,
EnumerateStereoBlock,
ConformerGenerationBlock,
)
from cmxflow.sinks import MoleculeSinkBlock
# Standardize → ionize (pH 6.4–8.4) → enumerate stereo → generate 3D conformers
workflow = Workflow()
workflow.add(
MoleculeSourceBlock(),
MoleculeStandardizeBlock(),
IonizeMoleculeBlock(),
EnumerateStereoBlock(),
ConformerGenerationBlock(),
MoleculeSinkBlock(),
)
workflow("library.smi", "prepared.sdf")
Dock a congeneric series
Pure-Python docking. Free docking is the default (index_poses=False); scaffold-indexed mode caches poses by Bemis–Murcko scaffold for ~3× faster throughput on congeneric series with consistent pose alignment.
from cmxflow import Workflow
from cmxflow.sources import MoleculeSourceBlock
from cmxflow.operators import ConformerGenerationBlock, MoleculeDockBlock
from cmxflow.sinks import MoleculeSinkBlock
from cmxflow.utils.parallel import make_parallel
workflow = Workflow()
workflow.add(
MoleculeSourceBlock(),
ConformerGenerationBlock(),
make_parallel(
MoleculeDockBlock(
receptor="receptor.pdb",
site_reference="crystal_ligand.sdf",
index_poses=True, # omit for free docking
)
),
MoleculeSinkBlock(),
)
workflow("library.smi", "docked.sdf")
Tune a ligand-based virtual screen
from cmxflow import Workflow
from cmxflow.sources import MoleculeSourceBlock
from cmxflow.operators import MoleculeSimilarityBlock
from cmxflow.scores import EnrichmentScoreBlock
from cmxflow.opt import Optimizer
# Rank a library by 2D similarity to a known active, then tune the
# fingerprint end-to-end to maximize enrichment AUC.
workflow = Workflow()
workflow.add(
MoleculeSourceBlock(),
MoleculeSimilarityBlock(queries="crystal_ligand.sdf"),
EnrichmentScoreBlock(target="active"),
)
opt = Optimizer(workflow, "benchmark.csv")
opt.optimize(n_trials=30, direction="maximize")
print(f"Best enrichment AUC: {opt.best_score:.3f}")
print(opt.best_params)
# Best enrichment AUC: 0.836
# {'fingerprint_type': 'morgan', 'similarity_metric': 'sokal', 'radius': 2, 'nbits': 2545}
The four fingerprint parameters above are searched automatically — every block exposes its mutable parameters to the optimizer.
Or build it conversationally via an LLM agent
claude mcp add cmxflow -- cmxflow-mcp
"How many of the molecules in library.csv pass Lipinski's rules?"
"I need to build a ligand-based virtual screening workflow. I'm not sure if 2D or 3D is better. Can you optimize two workflows?"
"Dock the molecules in hits.csv against receptor.pdb with crystal_ligand.sdf as a reference."
The agent can build, run, and optimize workflows. See Using with Claude for full transcripts.
What's in the box
- 15+ blocks for sourcing, transforming, filtering, clustering, scoring, and docking molecules
- Bayesian optimization of pipeline parameters via Optuna
- Parallel execution for compute-heavy blocks (conformer generation, docking)
- Workflow serialization for save / load / reuse
- An MCP server with five tools:
build_workflow,run_workflow,optimize_workflow,manage_workflows,view_structures
Install
pip install cmxflow
MCP server
claude mcp add cmxflow -- cmxflow-mcp
Optional: PyMOL
Required only for the view_structures MCP tool (3D visualization):
conda install -c conda-forge pymol-open-source
Documentation
- Docs site
- Block catalog
- Using with Claude — agent transcripts
examples/basic_usage.ipynb— full tutorialexamples/docking/docking.ipynb— docking walkthrough (ILS, scaffold-indexed, and template modes)
Project
MIT licensed. See CONTRIBUTING.md and RELEASING.md.
Recommended MCP Servers
How it compares
Domain cheminformatics MCP, not a general database or cloud deploy server.
FAQ
Who is Cmxflow MCP for?
Developers and researchers building chemistry-aware products who want agents to orchestrate Cmxflow pipelines.
When should I use Cmxflow MCP?
Use during build when integrating ligand prep, clustering, or virtual screening into an agent-assisted R&D or product workflow.
How do I add Cmxflow to my agent?
Configure stdio MCP with the PyPI uvx path for Cmxflow (Cmxflow-mcp), per registry runtimeArguments, then connect your client.