cmxflow MCP server
io.github.b-shields/cmxflow·v0.4.0·2 starsComposable, tunable cheminformatics workflows: library preparation, clustering, docking, and more.
2 stars
Reviews
Write oneNobody has reviewed cmxflow yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
cmxflow tools (5, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
build_workflowBuild a cheminformatics workflow step-by-step. Plan the full workflow structure before building. Consider block ordering constraints and required inputs.
manage_workflowsManage saved workflows in the registry.
optimize_workflowOptimize a workflow using Bayesian optimization.
run_workflowwrite actionSet required input files and input text and execute a validated workflow.
view_structuresOpen 3D structure files in PyMOL for visualization.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan48 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 26 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How cmxflow compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 95% of 48,255 servers
- Tools
- 5
- the typical server has 7
- Tools that change things
- 20%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 2
- more than 75% of 28,688 servers
What its tools let an agent do: 4 read · 1 run or deploy
Install cmxflow in Claude Code, Cursor or VS Code
claude mcp add cmxflow -- uvx cmxflow
What the publisher says
From the cmxflow repository's README, as published. We do not edit it. Read it on GitHub
cmxflow 🧪
<!-- mcp-name: io.github.b-shields/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 crystalligand.sdf as a reference."*
The agent can build, run, and optimize workflows. See Using with Claude for full transcripts.
What's in the box
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
cmxflow: common questions
- Is cmxflow MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the cmxflow safety report
- How do I install cmxflow?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does cmxflow need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is cmxflow maintained?
- The last commit was 65 days ago (2026-08-31). The latest release is v0.4.0.
- How does cmxflow compare with other MCP servers?
- safety score 92/100 (higher than 95% of 48,255 servers); tools 5 (the typical server has 7); tools that change things 20% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.