Skip to main content
Glama
glebo309
by glebo309

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CHEMDRAW_APPNoAbsolute path to the ChemDraw .app when automatic discovery is ambiguous.
CHEMDRAW_MCP_WORKSPACENoDirectory to use for scratch/backup output instead of the default ~/ChemDraw-MCP-Output.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
chemdraw_plan_scope_jobA

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.

chemdraw_build_scope_jobA

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 inferred experimental outcomes.

chemdraw_build_reaction_seriesA

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 inference or balance certificate; native chemistry and measured layout verified separately.

chemdraw_build_ownershipA

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.

chemdraw_move_ownedA

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.

chemdraw_suggest_routesA

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 chemistry inference or automatic route selection. Returns snapshot-bound candidate recipes and clearance audit; native arrowhead ink still needs visual review.

chemdraw_apply_routeA

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.

chemdraw_create_lab_styleC

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.

chemdraw_inspect_lab_styleA

Read and validate a portable style package, exact supported settings, version and content hash. No native application or network access.

chemdraw_run_styled_jobA

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.

chemdraw_decorate_scopeA

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 need measured free space. No automatic chemical classification or molecule reordering. Inspect current IDs/source token first. Native editable CDXML/SVG/PNG with source preservation and layout audit; human visual review still required. New absolute output directory only; uncertain native writes stop without retry.

chemdraw_inspect_symbolsB

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.

chemdraw_add_symbolsA

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 against labels/bonds/objects; unsupported or colliding placement fails. Inspect current IDs/token first. New absolute output directory, before/after native exports and audit, source unchanged. Visual and chemical review required; no moving attachment or complete mechanism validation promise.

chemdraw_resolveA

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 certification. Review and select an explicit valid candidate SMILES before drawing. Network denied by default.

chemdraw_scan_scopeA

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. Preserves supported parent graph/stereo, retains alternative provenance for duplicates, no invented yields or reaction prediction. Select explicit candidates and use draw_structures for native output.

chemdraw_build_reactionA

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 coefficients. Connected-only input may use explicit shared-core alignment; expanded input with scaffold alignment is rejected. Actual ChemDraw cleanup and native identity/layout checks; no reaction prediction or balance certificate. New absolute output directory, editable CDXML/SVG/PNG and HTML review. Originals untouched, native uncertainty stops without retry/close.

chemdraw_import_styleA

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, page geometry or colour palette. Custom fonts are checked on the rendering Mac before use.

chemdraw_identifyA

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. Standard InChI normalization and graph-roundtrip differences are explicit.

chemdraw_propose_scopeA

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 stable graph IDs, SMILES, relative labels, rationale and blank yields. Preserves supported parent graph/stereo. No native drawing or reaction prediction. Review/select candidates, then call draw_structures with explicit compound_id/label/smiles.

chemdraw_draw_structuresA

Create a native ChemDraw figure from 1..24 explicit {compound_id,label,smiles} records. Labels are caller supplied, not verified names. Connected supported nonradical structures only. RDKit supplies MOL coordinate seeds; actual ChemDraw imports, runs native Clean Up Structure and renders. Optional scaffold_smiles explicitly selects a common core, rigidly aligned to the first native structure without reflection; poor fits fail, no inferred core. Checks identity after import/cleanup and measured grid after native save. New absolute output directory, editable/vector/PNG preview and audit. Final document stays open, originals untouched. No name lookup or yields. Review stereo and intramolecular collisions visually. Native uncertainty stops without retry/close.

chemdraw_inspect_annotationsA

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.

chemdraw_annotate_documentA

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 bond. Atom-label sources and positive-charge donors are rejected; add a symbol first if needed. Target {kind:atom|bond,id,offset:[dx,dy]}; controls:[[dx1,dy1],[dx2,dy2]] relative to start/end; optional fishhook_side left/right only for one electron. Symbol targets rejected. A negative charge may represent a donating lone pair, but this is caller-supplied chemical intent, not inferred for every anion. Existing molecules/symbols retained; no chemical/radical-state edits. New absolute output directory, native CDXML/SVG/PNG before/after, recipe and audit. Source untouched. Visual review required; no whole-path collision or native moving attachment promise. Native errors not retried.

chemdraw_batch_exportA

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 style/layout/chemistry edits. Creates private copies and closes only those copies. Input failures reported per item. Any native-operation error is conservatively uncertain: stop later items, do not retry or close the uncertain document. Requires chemistry extra; flat supported drawings plus the annotation verifier's existing circled-charge/full-or-half cubic-curve subset. Unknown annotations rejected. Review all outputs; source metadata and mapped chemistry checks do not certify source correctness or glyph appearance.

chemdraw_list_documentsA

List running ChemDraw documents with unique IDs, names, paths and modified flags.

chemdraw_inspect_documentA

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.

chemdraw_import_fileA

Open a private working copy of a local CDXML, CDX, MOL or SDF. Never opens the original for editing.

chemdraw_create_documentB

Create an editable native document from CDXML. Caller supplies validated chemical structures; no name resolver or chemistry invention is performed.

chemdraw_cleanB

Run native Clean Up Structure on the specified molecule or whole document, after a recovery export. This changes depiction and can alter orientation.

chemdraw_apply_styleB

Create a styled copy with consistent explicit fonts/strokes. Does not normalize existing coordinates or reposition charges. Cleanup is a separate explicit action.

chemdraw_exportA

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.

chemdraw_close_working_documentA

Back up and close a document opened by this server session. Refuses all other documents.

chemdraw_list_stylesA

List numeric style presets. These are defaults plus explicit text/bond overrides, not chemistry or automatic layout engines.

chemdraw_doctorA

Check the Mac installation, live connection and optional chemistry validator without editing documents.

chemdraw_analyze_documentB

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 not edited.

chemdraw_polish_documentA

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 arrow-to-condition ID maps from analyze; unassigned text is rejected. Preserves orientation, charges, isotopes and supported stereo. Does not run native cleanup automatically. Review previews before publication; checks establish preservation, not source correctness.

chemdraw_edit_documentA

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, retain or null-remove every page text ID. Supports neutral main-group atom/H changes and plain nonaromatic bond orders; no insertions/deletions, charged/isotopic target edits, radicals, stereocentre edits or new alkene stereo. Coordinates preserved, no cleanup. Existing source untouched; final mapped chemistry, labels and coordinates verified after ChemDraw export. Visual review required.

chemdraw_grid_documentB

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 compounds translate together after normalization. Native measured molecular+caption bounds determine uniform cells. Columns auto-fit if omitted; overflow fails, never shrinks individual molecules. Requires chemistry extra. No reactions/page graphics/nested groups/native symbol graphics. Preserves orientation and chemistry, adds caller-supplied compound IDs/yields, verifies native saved page fit and alignment. Yields are not experimentally validated. Visual review required.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 37 tools

Disambiguation2/5

Multiple tools have overlapping boundaries: plan_scope_job, propose_scope, and scan_scope all generate scope proposals, while inspect_document, analyze_document, inspect_symbols, and inspect_annotations all provide overlapping inspection snapshots. build_reaction and build_reaction_series also risk confusion despite detailed descriptions.

Naming Consistency4/5

All tools share the chemdraw_ prefix and mostly follow a verb_noun pattern such as list_documents, create_document, and grid_document. A few exceptions like doctor, resolve, identify, and clean break the pattern, but the overall convention is still readable and predictable.

Tool Count2/5

With 37 tools, this server is well beyond the 25+ threshold for a heavy tool surface. The broad functionality is real, but the set would benefit from consolidation or separation of scope, inspection, styling, and annotation clusters into more focused servers.

Completeness3/5

The server covers a wide range of workflows: document lifecycle, structure drawing, reactions, scopes, styles, annotations, and export. However, there are notable gaps such as no document deletion/discard, no molecule insertion/deletion, and limited editing of charged, isotopic, radical, or stereochemical structures.

Maintenance

ActivityMaintained
ResponsivenessNo issues