MCP.Market

Hydroxyl MCP server

by trebeljahr·io.github.trebeljahr/hydroxyl·v0.1.0

Local stdio MCP server: publication figures, structure checks and conversions for AI assistants

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

0 stars397 downloads/wk

Reviews

Write one

Nobody has reviewed Hydroxyl yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Hydroxyl tools (5)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • check_structure

    Report every valence and drawing problem the editor would flag (over-valent atoms, misplaced wedges), each with the obvious one-click fixes as corrected molfiles, plus RDKit's refusal if it would refuse it. Atoms are numbered 1-based in molfile order.

  • convert

    Convert a structure to a molfile (as the editor saves it) or to RDKit's canonical SMILES. By default a SMILES becomes a molfile and anything else becomes a SMILES.

  • describe

    Sum formula (Hill order), average molecular weight, monoisotopic exact mass, net charge, and the CIP label of every stereocentre and stereogenic double bond. Atoms are numbered 1-based in molfile order.

  • editor_link

    A link that opens the structure in the Hydroxyl editor as a new, unsaved sketch. The structure travels in the URL fragment, which the browser does not send to the server.

  • render_figure

    Draw a structure as a journal figure: one bond prints at the style's standard length (5.08 mm for ACS-style Publication), and the width is a maximum the figure is scaled down to fit. Returns the figure (PNG or SVG), its printed size, its label size, and a warning for any text that prints below the style's minimum (8 pt for Publication).

Public scan report

scanner v0.1.10 · 2026-10-13 · same rubric, same numbers if you re-run it

no findings
  • Code scan2 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 2 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Hydroxyl 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
0%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
397
more than 85% of 12,191 servers with a package

What its tools let an agent do: 4 read · 1 change

Install Hydroxyl in Claude Code, Cursor or VS Code

Runs npx -y hydroxyl-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add hydroxyl -- npx -y hydroxyl-mcp
Add to Cursor

What the publisher says

From the Hydroxyl repository's README, as published. We do not edit it. Read it on GitHub

Hydroxyl

A chemical structure editor for figures in papers. Draw a molecule once, then export it in each representation the figure needs.

The repository keeps its working name, chemistry-sketcher.

Status: early. The chemistry core, the renderer and the editor canvas are built and tested: /editor draws, edits, and renders every 2D representation listed below.

What it is for

Most structure editors optimise for entering a molecule and exporting one picture. This one treats the representation as a view over a single model, so the same structure can be shown as:

  • skeletal (implicit carbons and hydrogens, aromatic rings as one circle)
  • Kekulé (localised alternating double bonds, carbons still bare)
  • fully explicit, every atom labelled and every hydrogen drawn
  • Lewis dot structures, with lone pairs and formal charges
  • condensed formula — CH3CH2OH, walked from the graph
  • sum formula, molecular weight, exact mass

…and rendered under a chosen style preset (ACS bond lengths, line widths and fonts), including a panel mode that lays several representations side by side as one labelled figure.

Layout

packages/
  chem-core/   pure TypeScript chemistry model — graph, valence, formula.
               No React, no DOM, no dependencies. Fully unit-tested.
  client/      Next.js app (App Router, Tailwind v4, shadcn/ui).
  mcp/         Local MCP server for AI assistants (npm: hydroxyl-mcp).
  shared/      zod schemas shared across packages.

chem-core is deliberately framework-free so the chemistry can be tested without a browser and reused headlessly. There is no server package — the editor runs entirely in the browser.

3D is post-v1, and the reason is settled

Wireframe, ball-and-stick and space-filling views are not in v1, and neither are the projections that need real geometry (chair, Newman, sawhorse). This is a decision, not a backlog item that slipped.

RDKit-WASM is this project's import/export oracle, and the MinimalLib build it ships contains no conformer generation at all — no DistGeom, no ETKDG, no EmbedMolecule, no force field. It does 2D depiction (RDDepict + CoordGen) and nothing else. has_coords() can report 3 for a conformer read out of a file, but nothing in this build can generate or minimise one.

So a 3D view is not a rendering feature bolted onto what is here; it needs a different component entirely — a full RDKit build, OpenBabel-wasm, or hand-rolled geometry — with its own size, licence and correctness questions. Anything drawn from 2D coordinates alone would be a picture of a guess.

Design decisions worth knowing

stored as atoms in the graph.

  • Hydrogens are implicit. They are derived from valence when queried, not

divalent in a thiol and hexavalent in a sulfone; one number cannot express that. The lists follow RDKit's default valence table so SMILES round-trips do not drift.

  • Elements carry valence lists, not a single max-bond count. Sulfur is

through ids on bonds, which is what makes snapshots, undo and serialization possible.

  • The molecule graph is flat and acyclic. Atoms reference each other only

figures, so the rendered DOM is the export.

  • Rendering targets SVG, not canvas. The output goal is publication

Development

pnpm install
pnpm dev          # client at http://localhost:6337
pnpm test         # chem-core, chem-render, shared, client and mcp unit tests
pnpm typecheck
pnpm build

# End-to-end (Playwright). Browsers are NOT downloaded by `pnpm install`
# — pnpm-workspace.yaml's allowBuilds allowlist omits playwright on
# purpose. Install them once:
pnpm exec playwright install chromium
pnpm test:e2e

MCP server for AI assistants

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Hydroxyl: common questions

Is Hydroxyl MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Hydroxyl safety report
How do I install Hydroxyl?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Hydroxyl need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is Hydroxyl maintained?
The last commit was 23 days ago (2026-10-12). The latest release is v0.1.0.
How does Hydroxyl 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 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.