Skip to Main Content

**Agentic Chroma is an MCP server that gives an AI agent the role of a human operator at a Waters chromatography workstation.** From any MCP-capable Claude client, a researcher runs liquid-chromatography experiments in plain language: the agent browses Empower 3 projects and methods, reads an instrument method back in plain words (each solvent line's contents, the TUV wavelengths, the pressure limit), authors a sample set with the correct instrument-prep prologue, requests and starts acquisition, watches the live run on a local dashboard, and analyzes the resulting chromatograms — peak detection, retention time, resolution, and peak shape. **The hard part isn't the language — it's doing this safely against a real instrument.** The design keeps the human as *both the hands and the gate*. The agent emits a concrete physical prep plan (mobile phases, wash/waste, column, exact vials to load); the researcher preps the bench and then personally approves **every** instrument `connect` and **every** injection through a client-side permission prompt that carries a LIVE INJECTION warning. A server-side ordering backstop (`start_acquisition` refuses unless `request_acquisition` prepared the same project + sample set) complements — but never replaces — that human gate. `abort_run` is always available and never gated. **Under the hood it's a capability-based driver core.** A 64-bit MCP server talks over JSON-RPC to a 32-bit COM sidecar that hosts the Empower 3 Toolkit; drivers translate the vendor model into a canonical domain model (`Project`, `Method`, `SampleList`, `Injection`, `Chromatogram`, …) and self-register, so the MCP tool surface lights up per the active backend's capability manifest. A `simulated` backend exposes the full tool surface with no hardware; the `empower` backend is **live on a real ACQUITY UPLC + TUV** on my workstation; a `waters_connect` (Xevo G2-XS QTof, REST/OAuth2) backend is the next drop-in driver. Adding an instrument means writing one driver package — never editing the core. **What I found / what's live-verified.** Against the real Empower Toolkit I confirmed the sample-set prep functions store and round-trip end-to-end (`wet_prime` 34, `wash_needle` 33, `equilibrate` 9, `inject` 1); that instrument-method summaries can be pulled straight from `InstSetupCOM.Xml` and resolved even though this Toolkit build doesn't register a `MethodSet` COM class; and — importantly for safety — that the permission gate has a real trap: the very first gated call after enabling the MCP server mid-session did **not** prompt, and only after re-confirming the Ask rules via `/permissions` did every subsequent live-injection call prompt correctly. That finding is now baked into the acquisition SOP. **Three concrete cases (the demo).** I hand Agentic Chroma three real questions from my bench, in plain language, and it answers each on the real instrument with me as the gate: 1. **Quantitation + report** — it runs a semaglutide injection live, builds a calibration curve from the standards in sample set `sema_20260708`, back-calculates the semaglutide concentration in my unknown wash samples, and writes up an analysis report. 2. **Carryover** — it checks the blank injected after the highest standard for residual analyte, quantifies the carryover, and recommends a concrete instrument-method fix. 3. **Retention drift** — with no new run at all, it compares a development peptide's standards across two prior runs, quantifies the retention shift, and recommends a method change to control it. The calibration fit, quantitation, carryover math, drift comparison, report, and every recommendation are the *agent's own analytical reasoning* on top of the read tools — not a canned quantitation feature. That loop — ask, run (approved), analyze, recommend — is what the tool exists to close. **Why it matters.** Today an LC–MS run is a static file uploaded *after* the fact, and the reasoning behind each method-development decision evaporates. Agentic Chroma turns the run into a supervised, auditable loop — interpret the goal, propose injections and conditions within guardrails, submit and monitor, evaluate the data, recommend the next experiment — with a person approving every physical action. For analytical labs it's the missing operating layer between *a scientist with a question* and *an instrument that only speaks Empower*.

Team

Placement

Participant

More from Built with Claude: Life Sciences

What I built. Lazarus is an agent that takes a dead research repository that is open, cited, and no longer runnable, and turns it back into a callable…

DoctorDean project preview

Diffuse midline glioma is a paediatric brainstem cancer that is almost uniformly fatal: about ninety percent of children die within two years, and the first…

Faith Ogundimu project preview

Hippocampus AI is the memory and reasoning engine for scientific discovery. Every experiment generates valuable knowledge, but that knowledge becomes…

Disruptors project preview

I used Claude to train a protein language model that can generate an extremophilic version of any enzyme, maintaining its function, while allowing it to…

Jaymin project preview

Many primates are sexually dichromatic — males and females are different colors. I wanted to know how that trait is built genetically, and how it evolved…

www.loom.com/…

About Trialign is a patient-facing clinical trial matcher for oncology. A patient pastes a clinical note, uploads a record, or connects their EHR via SMART on…

Trialign project preview