Hydroxyl

io.github.trebeljahrv0.1.0Updated Oct 8, 2026

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

Overview

AI-generated overview

Lets an assistant render chemical structures as journal figures, check them for valence and drawing issues, and convert them between formats.

What it does
A local stdio MCP server with five tools for chemical structures. render_figure draws a structure as a figure at single, double or custom width in PNG or SVG, reporting printed size, label size and a warning for text under 8 pt. check_structure returns valence and drawing issues with one-click fixes, describe returns formula, molecular weight, exact mass, net charge and CIP labels, convert returns a molfile or canonical SMILES, and editor_link returns a link that opens the structure in the editor. Structures can be given as SMILES, molfile, or a compound name such as caffeine.
When to use it
Useful when an assistant works with chemistry: preparing publication figures, sanity-checking a structure before use, or converting between SMILES, molfile and names. It suits desktop clients that start local stdio servers.
Requirements
Runs locally over stdio; no network calls. Needs Node.js 22 or newer, since npx fetches the hydroxyl-mcp package from npm. Add the command and arguments to the MCP client configuration. The optional HYDROXYL_EDITOR_URL environment variable changes the editor that editor_link points at; it defaults to the hosted editor.
Before you install
Structures you send go to your assistant's provider, not to the server's authors. editor_link produces a link to the hosted editor by default, so setting HYDROXYL_EDITOR_URL to a local or self-hosted editor avoids sending structures there. The tools only render, check, describe and convert; nothing is written or deleted.

Installation

In SourceWeft

  1. Open Hydroxyl in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

hydroxyl-mcp

hydroxyl-mcp is a local Model Context Protocol server. An assistant such as Claude Desktop can use it to draw a structure as a journal figure, check it, and convert it. It runs on your machine over stdio and makes no network calls. Structures you send go to your assistant's provider, never to us.

It has five tools:

ToolInputOutput
render_figurea structure; views; width (single, double or cm); png or svgthe figure, its printed size, its label size, and a warning for text under 8 pt
check_structurea structurethe valence and drawing issues the editor flags, each with its one-click fixes
describea structureformula, molecular weight, exact mass, net charge, CIP labels
converta structurea molfile or a canonical SMILES
editor_linka structurea link that opens the structure in the editor

A structure is one of smiles, molfile, or name (a compound from the editor's insert box, such as caffeine).

Add it to your MCP client; npx fetches the hydroxyl-mcp package from npm (Node.js 22 or newer). For Claude Desktop, edit claude_desktop_config.json (Settings → Developer → Edit Config) and restart the app:

json
{  "mcpServers": {    "hydroxyl": {      "command": "npx",      "args": ["-y", "hydroxyl-mcp"]    }  }}

Other clients that start stdio servers take the same command and arguments. For Claude Code:

bash
claude mcp add hydroxyl -- npx -y hydroxyl-mcp

editor_link points at https://hydroxyl.app/editor/. Set HYDROXYL_EDITOR_URL in the server's environment to link to a local or self-hosted editor instead.

The editor itself is at hydroxyl.app; source at github.com/trebeljahr/hydroxyl.app.

Licence

MIT. The package depends on RDKit (BSD-3-Clause) and resvg-wasm (MPL-2.0), and ships the Arimo font (OFL-1.1, text in dist/arimo-OFL.txt).

Source: packages/mcp/README.md at commit fd03a92

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.0LatestOct 8, 2026