MCP server that wraps the Dagster GraphQL API — manage runs, assets, schedules, sensors, and backfills from any MCP client
ChemDraw is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Experimental native ChemDraw tools for Apple Silicon macOS. Requires your own ChemDraw licence.
Quickstart
Install it the way its author documents:
The full guide: https://github.com/glebo309/chemdraw-mcp-macos/releases/download/v0.10.0rc22/ChemDraw-MCP-Apple-Silicon.mcpb
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts ChemDraw as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
Install it the way its author documents:
The full guide: https://github.com/glebo309/chemdraw-mcp-macos/releases/download/v0.10.0rc22/ChemDraw-MCP-Apple-Silicon.mcpb
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read from its source code. A server that builds its tool list when it starts can list more tools than this.
Experimental desktop JavaScript API connection. Installs no external service.
Takes no parameters.
Experimental native getCDXML read of the active ChemDraw document.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Experimental exact-coordinate append through native addCDXML in the SAME active document. Read with addin_read_document first. Supported flat molecules and captions require supplied bounds, target document settings/font tables, nonoverlap and page fit. Retains existing content, checks graph and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| cdxml | string | yes | — |
| expected_source_token | string | yes | — |
START HERE for new molecule drawings, panels and explicit reactions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| request | yes | — | |
| output_dir | string | yes | — |
| allow_network | boolean | no | — |
| presentation | string | no | — |
| document_id | integer | no | — |
Draw ONE chemical name with actual desktop ChemDraw Name to Structure, with no RDKit depiction or graph prerequisite. Requires explicit allow_network=True: ChemDraw may send the name to ChemACX; provider use is not observable. Creates an owned caption-only copy, invokes the native command, returns…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| output_dir | string | yes | — |
| allow_network | boolean | no | — |
| preset | string | no | — |
| pixels | integer | no | — |
Experimental explicit coordination drawing in a NEW native copy. V1 recipe: schema_version=1, label, atoms [{id,element,charge,hydrogens,position:[x,y,z]}], bonds [{begin,end,order:'1'|'2'|'3'|'dative'}]. V2 adds attachments=[] and overall_charge=null|nonzero integer, requires each bond's display,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recipe | object | yes | — |
| output_dir | string | yes | — |
| preset | string | no | — |
| pixels | integer | no | — |
List reviewed named-reaction templates (162: couplings, heterocycles, FG transforms, protection/deprotection) with substrate/partner hints and typical conditions. Offline, read-only. Use before chemdraw_propose_products. query filters by name/description text.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | — |
| query | string | no | — |
PROPOSE product graphs for one named reaction on explicit SMILES (offline, RDKit). Returns every distinct product with formula, delta vs reactants and MW; never draws or picks one. Ambiguous or by-product-bearing outcomes are flagged for review. Then pass the CHOSEN product SMILES to chemdraw_draw…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reaction | string | yes | — |
| substrate | string | yes | — |
| partner | string | no | — |
Offline lookup of ~190 curated reagents, bases, ligands, catalysts and solvents: canonical display label, role, SMILES, aliases. Pass name for one entry (e.g. Cs2CO3, Pd(dppf)Cl2, HATU) or role (base, solvent, catalyst, ligand, coupling_reagent...) to list. Use the display label for reaction…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
| role | string | no | — |
Read an EXISTING reaction scheme (CDXML text from chemdraw_addin_read_document, or a .cdxml path) into reactants, reagents/solvents/catalysts, products, reaction SMILES and condition text. Offline, read-only, nothing is written or drawn. Roles are heuristic (fingerprint + curated reagent table);…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cdxml | string | no | — |
| path | string | no | — |
Read the current canvas through the desktop API, including unsaved edits and selection. No clipboard, saving, selecting all or duplicate window. molecular_graphs gives canonical SMILES and atom/bond records when chemistry support is installed; unresolved graphs are explicit. Captions are separate…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Explicitly edit the SAME existing document with native cleanup/alignment/distribution/label commands, including user-opened documents. Read_live_document first. Refuses a changed content/selection token; saves a recovery snapshot before dispatch. Requires that document frontmost within ChemDraw.…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| action | yes | — | |
| expected_source_token | string | yes | — |
| selection | string | no | — |
Show or hide only this existing document's window. Does not close it or hide other documents. Hidden-window operation still needs licensed ChemDraw and a logged-in Mac desktop. No display-free server claim.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| visible | boolean | yes | — |
Render supplied CDXML into editable CDXML, native SVG/PDF and PNG, with no preview page. New absolute output directory. Background hides the new document after opening and closes only that owned document after successful exports; an opening flash is possible. Needs a logged-in licensed desktop,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cdxml | string | yes | — |
| output_dir | string | yes | — |
| background | boolean | no | — |
Inspect snapshot-bound atom, bond and molecule IDs across a supported flat molecular sheet, including elements, positions, endpoints and stereo. Requires chemistry extra. These are CDXML IDs, not native indices. No native UI highlighting.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Resolve explicit IDs into a fresh snapshot-checked logical selection for edit_targets. Does NOT change ChemDraw's visible UI selection: the tested Mac setter does not support individual atom/bond references. No ambiguous element or position guessing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| kind | string | yes | — |
| ids | array | yes | — |
| expected_source_token | string | yes | — |
Edit explicit snapshot targets in a NEW native-rendered copy. selection comes from prepare_selection; operation has kind plus exact fields. set_atom: element, hydrogens (0..4), charge (-1,0,1). set_bond_order: order (1..3), hydrogens mapping BOTH endpoint IDs to counts. attach_fragment:…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| selection | object | yes | — |
| operation | object | yes | — |
| pixels | integer | no | — |
Call an EXISTING ChemDraw native command, not a custom layout implementation: structure/reaction cleanup, six alignments, horizontal/vertical distribution, expand/contract labels. Modifies only a session-owned working document; import a copy first. Document must be frontmost within ChemDraw.…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| action | yes | — | |
| selection | string | no | — |
Explicit setup smoke test: check dependencies, then append caffeine and aspirin once to the active ChemDraw canvas through the desktop API with house layout and validation. Open a blank document for an isolated test. Returns editable CDXML, SVG, PNG and JSON report, no HTML or browser. The canvas…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| output_dir | string | no | — |
Offline standard aromatic scope proposal, explicit candidate selection and category grouping plan. Job needs mapped parent_smiles, handle_atom_map and ordered groups {label,categories}. Building requires selected_candidate_ids or accept_all=true; planning never implicitly accepts. All yields null.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job | object | yes | — |
Build an explicitly approved scope job in NEW native documents: selected candidates, conserved scaffold, true category rows, headings, optional frame/dividers, editable exports and audit. Single supported physical page; overflow fails without shrinking molecules. Source drawings unchanged; no…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job | object | yes | — |
| output_dir | string | yes | — |
Build 1 through 3 explicitly supplied reaction rows on ONE editable ChemDraw page. Steps contain step_id, reactants/products and optional above/below conditions; participants specify compound_id,label,smiles and optional positive coefficient. Supported water/halides and bounded salts. No product…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| steps | array | yes | — |
| output_dir | string | yes | — |
| preset | string/object | no | — |
| pixels | integer | no | — |
| layout | object | no | — |
Snapshot a native document and build explicit sidecar ownership. Each owner {key,fragment_ids,caption_ids}; every fragment exactly once. Existing curves require curve_id and explicit source/target {kind,id}. Returns source-token-bound ownership; does not change manual dragging behavior.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| owners | array | yes | — |
| curves | array | no | — |
Move explicit owners {owner_key,delta:[dx,dy]} in a NEW native copy, carrying owned captions, symbols and internal curves. Cross-owner curves require equal translation of both owners. Returns remapped ownership sidecar. No automatic manual-drag attachment or collision-free layout claim.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| ownership | object | yes | — |
| moves | array | yes | — |
| expected_source_token | string | yes | — |
| pixels | integer | no | — |
Suggest bounded cubic electron-flow paths using measured obstacles. Source must be an explicit displayed CircleMinus/LonePair for two electrons, Electron dot for one electron, or donating bond. Atom-label sources are rejected; add a symbol first if needed. Target is an explicit atom or bond ID. No…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| source | object | yes | — |
| target | object | yes | — |
| electrons | integer | no | — |
| fishhook_side | string | no | — |
| line_width | number | no | — |
| clearance | number | no | — |
| max_candidates | integer | no | — |
Validate and render one explicitly selected suggested route in a NEW native copy. Rejects stale snapshots or modified proposals; preserves source and saves selection audit. This selects a geometric path, not a chemical mechanism.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| report | object | yes | — |
| candidate_id | string | yes | — |
| pixels | integer | no | — |
Write a new portable versioned numerical style JSON with content hash. Settings sections grid/reaction/symbols; references are names/hashes/descriptions only. No fonts, proprietary artwork, code or local paths embedded. Does not publish or install anything.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| version | string | yes | — |
| preset | object | yes | — |
| output_path | string | yes | — |
| settings | object | no | — |
| references | array | no | — |
Read and validate a portable style package, exact supported settings, version and content hash. No native application or network access.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| path | string | yes | — |
Run a native workflow with a locked portable lab style. Conflicting recipe settings rejected, actual package/hash retained beside output. Grid/symbols recipes require input CDXML path. Native exports use ChemDraw; numerical conventions do not replace explicit chemical review.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| package_path | string | yes | — |
| workflow | string | yes | — |
| recipe | object | yes | — |
| output_dir | string | yes | — |
Decorate an existing flat scope in a NEW copy with an optional native rounded shadow frame and dotted group dividers. Explicit groups {label,fragment_ids,caption_ids} must own every source fragment and caption once and form nonoverlapping top-to-bottom bands. Labels can be empty; nonempty labels…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| groups | array | yes | — |
| expected_source_token | string | yes | — |
| frame | boolean | no | — |
| separators | boolean | no | — |
| pixels | integer | no | — |
Snapshot native atom/bond/symbol IDs and measured label bounds, returning a source_token. Supports existing associated circled charges and unassociated graphical electron/lone-pair symbols. A graphical electron dot is not a verified radical state.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Add native symbols to a NEW copy from explicit {key,kind:charge|lone_pair|electron,atom_id} requests. Charge derives sign from existing +1/-1 formal charge, not a chemical edit. Lone-pair/electron dots are graphical annotations, not radical-state edits. Bounded outward placement checks geometry…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| symbols | array | yes | — |
| expected_source_token | string | yes | — |
| span | number | no | — |
| line_width | number | no | — |
| clearance | number | no | — |
| pixels | integer | no | — |
Resolve an explicit name or CAS query using PubChem ONLY with allow_network=True. Sends the query to PubChem and returns up to 20 candidates, provenance, ambiguity/truncation and graph-validation results. No silent candidate selection, native drawing, retries, provider fallback or CAS Registry…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | — |
| input_kind | string | no | — |
| allow_network | boolean | no | — |
Propose substitutions offline at explicit mapped H-bearing aromatic carbon sites. Supports isolated five/six-membered rings, including heteroaromatics and pre-substituted rings. Curated Me, OMe, CF3, CN, NO2, F, Cl, Br, iPr, tBu; one site at a time, capped at 100 requests before deduplication.…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| parent_smiles | string | yes | — |
| site_atom_maps | array | yes | — |
| substituents | array | yes | — |
| include_parent | boolean | no | — |
Create a native reaction with explicit 1..3 reactant and 1..3 product records {compound_id,label,smiles,coefficient?}, single-line above/below conditions and measured spacing. The expanded path supports water, hydroxide, halide/alkali ions, bounded charge-balanced salts and explicit positive…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reactants | array | yes | — |
| products | array | yes | — |
| output_dir | string | yes | — |
| conditions_above | string | no | — |
| conditions_below | string | no | — |
| preset | string/object | no | — |
| pixels | integer | no | — |
| scaffold_smiles | string | no | — |
| layout | object | no | — |
Read a local .cds/.cdx/.cdxml document style without opening ChemDraw or modifying the source. Returns validated preset settings, hash, defaults used and unapplied properties. Pass its preset object to draw/polish/grid/apply_style. Only supported typography and bond settings, not template artwork,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| path | string | yes | — |
Inspect an explicit SMILES or canonical Standard InChI entirely offline with optional RDKit. Returns canonical isomeric SMILES, formula, charge, components, isotope/stereo summaries and InChI/Key when available. No ChemDraw call, names/CAS resolution, salt stripping or tautomer conversion.…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| value | string | yes | — |
| input_format | string | no | — |
Propose a standard aromatic substrate scope offline, not experimental results. Parent requires a uniquely atom-mapped benzene carbon attached to the existing reaction handle on an isolated monosubstituted ring. Produces deduplicated parent, electronic, halogen, 2/3/4-Me and steric variants with…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| parent_smiles | string | yes | — |
| handle_atom_map | integer | yes | — |
| profile | string | no | — |
Draw 1..24 explicit {compound_id,label,smiles} records in ONE call. Keep preset=house unless requested otherwise.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| structures | array | yes | — |
| output_dir | string | yes | — |
| preset | string/object | no | — |
| columns | integer | no | — |
| pixels | integer | no | — |
| scaffold_smiles | string | no | — |
| layout | object | no | — |
| charge_style | string | no | — |
| groups | array | no | — |
| frame | boolean | no | — |
| separators | boolean | no | — |
| scaffold_layout | string | no | — |
| presentation | string | no | — |
| document_id | integer | no | — |
| exports | string | no | — |
Export a read-only snapshot and list atom/bond IDs, measured label boxes, supported native curves and source_token for electron-flow annotation. Supports existing circled charge graphics. Ownership in an annotation recipe is not a native moving attachment guarantee.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Add native full or fishhook electron-flow curves to a NEW copy. Inspect annotations first. Each arrow has unique key, electrons 2 or 1, source {kind:symbol,id} for a displayed CircleMinus/LonePair (2 electrons) or Electron dot (1 electron), OR source {kind:bond,id,offset:[dx,dy]} for a donating…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| arrows | array | yes | — |
| expected_source_token | string | yes | — |
| line_width | number | no | — |
| pixels | integer | no | — |
Sequential native batch export of explicit supported CDXML files. Each item: {key: safe-unique-figure-key, source: absolute-file-path, formats: [pdf,cdx]}. Always exports CDXML/SVG/PNG plus requested PDF/CDX, with per-item audit and HTML contact sheet. New absolute output directory only. No…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | — |
| output_dir | string | yes | — |
| pixels | integer | no | — |
List running ChemDraw documents with unique IDs, names, paths and modified flags.
Takes no parameters.
Inspect 1-based molecule indices/bounds and document settings. Refresh indices after edits. Native molecule IDs are broken in ChemDraw 23. Does not return atom-level chemistry.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Open a private working copy of a local CDXML, CDX, MOL or SDF. Never opens the original for editing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| path | string | yes | — |
Create an editable native document from CDXML. Caller supplies validated chemical structures; no name resolver or chemistry invention is performed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cdxml | string | yes | — |
Run native Clean Up Structure on the specified molecule or whole document, after a recovery export. This changes depiction and can alter orientation.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| molecule_index | integer | no | — |
Create a styled copy with consistent explicit fonts/strokes. Does not normalize existing coordinates or reposition charges. Cleanup is a separate explicit action.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| preset | string/object | no | — |
Preferred export for 'export this for my paper/slides' or 'keep benzene rings the same size'. Export the whole live drawing as editable CDXML, physically sized SVG and transparent PNG, cropped by ChemDraw, preserving original bond/font/stroke scale. Default 600 DPI for publication; choose 300 for…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| dpi | integer | no | — |
| include_pdf | boolean | no | — |
Export through actual ChemDraw, refusing overwrites. PNG rasterizes unchanged native SVG offline with resvg; pixels controls longest side. Output parent must exist. Unsupported SVG resources fail explicitly; no rasterizer fallback.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| path | string | yes | — |
| format | string | yes | — |
| pixels | integer | no | — |
Back up and close a document opened by this server session. Refuses all other documents.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
List numeric style presets. These are defaults plus explicit text/bond overrides, not chemistry or automatic layout engines.
Takes no parameters.
Check environment versions, actual CDXML writer roundtrip and desktop API read readiness without changing drawing content. An installed connection panel may open. Reports missing setup, another client owning the endpoint, or no open document separately. ready verifies prerequisites and a read, not…
Takes no parameters.
Export a recovery snapshot and return molecule IDs, bounds, text, arrows and a top-level source_token for supported drawings. Use that token and explicit object IDs for scope grids. For supported single molecules, editing also includes atom/bond IDs and the same token for analogue edits. Source is…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
Create a new normalized native drawing plus editable CDXML, SVG, PNG, before/after HTML, recipe and audit. Never edits the source. Requires chemistry extra. Flat one-page drawings only; queries/groups/abbreviations fail closed. Row layout requires explicit fragment-to-caption and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| preset | string/object | no | — |
| layout | string | no | — |
| caption_map | object | no | — |
| condition_map | object | no | — |
| gap | number | no | — |
| label_gap | number | no | — |
| width | number | no | — |
| pixels | integer | no | — |
Make an edited COPY of one molecule with native before/after exports and chemical diff. Analyze first: use editing atom/bond IDs and source_token. Atom op: {kind:atom,id,element:S,hydrogens:1}; element optional, H count required. Bond op: {kind:bond,id,order:2}. Captions must explicitly replace,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| operations | array | yes | — |
| captions | object | yes | — |
| expected_source_token | string | yes | — |
| pixels | integer | no | — |
Create a native scope grid COPY. Analyze first for source_token and IDs. Cells in requested order: {compound_id:3a,fragment_ids:[ID],caption_id:ID|null,yield_percent:82|null}. Every fragment and existing page caption needs one owner. 0% remains visible; missing yield omitted. Multi-fragment…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| document_id | integer | yes | — |
| output_dir | string | yes | — |
| cells | array | yes | — |
| expected_source_token | string | yes | — |
| preset | string/object | no | — |
| columns | integer | no | — |
| width | number | no | — |
| height | number | no | — |
| margin | number | no | — |
| h_gap | number | no | — |
| v_gap | number | no | — |
| label_gap | number | no | — |
| pixels | integer | no | — |
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under MIT
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install ChemDraw or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | high | capability blast radius (high) — client exposure if the model is manipulated | −6 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
Tools were statically extracted from the published source (57 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command "npx -y <package>".
The source has registrations with unknown names: the tools registered at chemdraw_macos/server.py:581 get their names only at run time (a loop over a list the code builds, a name it computes), so they are not in this surface and were not analysed. To see them, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. high is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| chemdraw_addin_connect | state-write | state-write: declares readOnlyHint: false |
| chemdraw_addin_read_document | no tags | |
| chemdraw_addin_append_cdxml | state-write | state-write: declares readOnlyHint: false |
| chemdraw_draw | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| chemdraw_draw_name | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| chemdraw_draw_complex | state-write | state-write: declares readOnlyHint: false |
| chemdraw_list_reactions | no tags | |
| chemdraw_propose_products | no tags | |
| chemdraw_lookup_reagent | no tags | |
| chemdraw_read_reaction | no tags | |
| chemdraw_read_live_document | no tags | |
| chemdraw_live_action | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| chemdraw_set_visibility | state-write | state-write: declares readOnlyHint: false |
| chemdraw_render_cdxml | state-write | state-write: declares readOnlyHint: false |
| chemdraw_inspect_targets | no tags | |
| chemdraw_prepare_selection | no tags | |
| chemdraw_edit_targets | state-write | state-write: declares readOnlyHint: false |
| chemdraw_native_action | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| chemdraw_first_run | state-write | state-write: declares readOnlyHint: false |
| chemdraw_plan_scope_job | no tags | |
| chemdraw_build_scope_job | state-write | state-write: declares readOnlyHint: false |
| chemdraw_build_reaction_series | state-write | state-write: declares readOnlyHint: false |
| chemdraw_build_ownership | no tags | |
| chemdraw_move_owned | state-write | state-write: declares readOnlyHint: false |
| chemdraw_suggest_routes | no tags | |
| chemdraw_apply_route | state-write | state-write: declares readOnlyHint: false |
| chemdraw_create_lab_style | state-write | state-write: declares readOnlyHint: false |
| chemdraw_inspect_lab_style | no tags | |
| chemdraw_run_styled_job | state-write | state-write: declares readOnlyHint: false |
| chemdraw_decorate_scope | state-write | state-write: declares readOnlyHint: false |
| chemdraw_inspect_symbols | no tags | |
| chemdraw_add_symbols | state-write | state-write: declares readOnlyHint: false |
| chemdraw_scan_scope | no tags | |
| chemdraw_build_reaction | state-write | state-write: declares readOnlyHint: false |
| chemdraw_import_style | no tags | |
| chemdraw_identify | no tags | |
| chemdraw_propose_scope | no tags | |
| chemdraw_draw_structures | state-write | state-write: declares readOnlyHint: false |
| chemdraw_inspect_annotations | no tags | |
| chemdraw_annotate_document | state-write | state-write: declares readOnlyHint: false |
| chemdraw_batch_export | state-write | state-write: declares readOnlyHint: false |
| chemdraw_list_documents | no tags | |
| chemdraw_inspect_document | no tags | |
| chemdraw_import_file | state-write | state-write: declares readOnlyHint: false |
| chemdraw_create_document | state-write | state-write: declares readOnlyHint: false |
| chemdraw_clean | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| chemdraw_apply_style | state-write | state-write: declares readOnlyHint: false |
| chemdraw_export_figure | state-write | state-write: declares readOnlyHint: false |
| chemdraw_export | state-write | state-write: declares readOnlyHint: false |
| chemdraw_close_working_document | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| chemdraw_list_styles | no tags | |
| chemdraw_doctor | no tags | |
| chemdraw_analyze_document | state-write | state-write: declares readOnlyHint: false |
| chemdraw_polish_document | state-write | state-write: declares readOnlyHint: false |
| chemdraw_edit_document | state-write | state-write: declares readOnlyHint: false |
| chemdraw_grid_document | state-write | state-write: declares readOnlyHint: false |
| chemdraw_resolve | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
It installs from its repository rather than from a versioned package, so the command cannot be pinned to a release. The history below is for reading; the current release on file is 0.10.0-rc.22.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish ChemDraw can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.