Upgrading
Names change between releases without aliases, so a script or prompt written for an older release can need the changes below. The changelog lists everything else.
From 0.3
-
The six plate-reader MCP tools are one,
openreadout_assay, withanalysis:0.3 0.4 openreadout_assay_wellsopenreadout_assaywithanalysis: "wells"openreadout_assay_curveopenreadout_assaywithanalysis: "curve"openreadout_dose_responseopenreadout_assaywithanalysis: "dose-response"openreadout_kineticsopenreadout_assaywithanalysis: "kinetics"openreadout_growthopenreadout_assaywithanalysis: "growth"openreadout_assay_qcopenreadout_assaywithanalysis: "qc"The command line keeps
analyze assay-wells,assay-curve,dose-response,kinetics,growthandassay-qc. -
WebAssembly:
preview()resolves to{ meta, data, type }instead of{ meta, png }, takesaxes: "rulers" | "grid" | "none"instead of theaxesandgridbooleans, and draws at 768 px by default.
From 0.1 to 0.2
OpenReadout 0.2 renames several commands, MCP tools and flags so that the command line and the MCP server use the same names, and so that each command does one thing. The JSON output is schema_version 2. The old names have no aliases, so a script or prompt written for 0.1 needs the changes below.
Commands
| 0.1 | 0.2 |
|---|---|
check --planes |
planes |
check A --against B |
compare A B |
check --report |
report |
spectra (scan list) |
scans |
spectra --scan N, --index I, --nth N (one spectrum) |
spectrum --scan N, --spectrum I, --ms-level L --spectrum I (zero-based) |
analyze assay wells, curve, dose-response, kinetics, growth, qc |
analyze assay-wells, assay-curve, dose-response, kinetics, growth, assay-qc |
export --attachment NAME |
extract FILE NAME |
batch summarize TABLE |
summarize TABLE |
search INDEX_DIR --health |
health INDEX_DIR |
search INDEX_DIR QUERY --export OUT |
export-dataset INDEX_DIR QUERY OUT |
index --health |
removed, use health |
info, check, preview, stats, trace, table, the other analyze subcommands, export, batch, link, index, search, watch, self and mcp keep their names.
MCP tools
An MCP tool is now openreadout_ plus the command name, with - as _, and its arguments are the command’s long flags with - as _. The MCP tools page lists all of them.
| 0.1 | 0.2 |
|---|---|
openreadout_analyze with kind |
one tool per analysis: openreadout_peaks, openreadout_chromatogram, openreadout_nmr_peaks, openreadout_ephys_features, openreadout_spikes, openreadout_qpcr, openreadout_gate |
openreadout_analyze with kind: assay and analysis |
openreadout_assay_wells, openreadout_assay_curve, openreadout_dose_response, openreadout_kinetics, openreadout_growth, openreadout_assay_qc |
openreadout_check with against |
openreadout_compare |
openreadout_check with report |
openreadout_report |
openreadout_spectra |
openreadout_scans and openreadout_spectrum |
openreadout_export with attachment |
openreadout_extract |
openreadout_batch with measure: summarize |
openreadout_summarize |
openreadout_formats |
the openreadout://formats resource |
| (none) | openreadout_health |
The analysis options that 0.1 took in options are now arguments of each tool.
Flags and arguments
| command | 0.1 | 0.2 (command line / MCP) |
|---|---|---|
info |
vendor tree shown, --no-vendor to leave it out |
left out, --vendor / vendor to include it |
info |
--all-frames |
--max-frames N / max_frames |
stats |
planes listed, --no-planes to leave them out |
left out, --per plane / per: plane to list them |
trace |
--first |
--first-sample / first_sample |
table |
MCP transform_parameters |
--parameter / parameters |
preview |
--plain, --grid |
--axes rulers|grid|none / axes |
scans |
--rt, --tol, --ppm, --filter |
--rt-range, --precursor-tol, --precursor-ppm, --scan-filter |
scans |
MCP precursor_mz |
--precursor / precursor |
export |
--to FORMAT |
--format / format. MCP also accepts csv now. |
batch |
MCP inputs, measure spectra |
paths, measure scans |
watch |
MCP stall_after_s |
--stall-after / stall_after (seconds) |
analyze nmr-peaks |
--range A:B |
--range-ppm / range_ppm |
analyze ephys-features |
--peak-threshold |
--peak-threshold-mv / peak_threshold_mv |
analyze spikes |
--band |
--band-hz / band_hz |
analyze qpcr |
--cq, --baseline START-END, --reference, --control, --undetermined-as |
--compute-cq, --baseline-start and --baseline-end, --reference-target, --control-sample, --undetermined-cq |
| plate assays | --blank, --blank-subtraction (MCP blank), --positive, --negative, --empty, --wavelength |
--blank-wells, --blank-subtraction / blank_subtraction, --positive-wells, --negative-wells, --empty-wells, --wavelength-nm |
analyze growth |
--threshold |
--growth-threshold |
analyze assay-curve, dose-response |
--preview PNG (MCP plot) |
--plot PNG / plot |
info, stats, trace, table, batch |
--samples, --layout |
--sample-sheet (the plate assays keep --layout) |
JSON output
The envelope’s schema_version is "2". Besides the renames above, two defaults changed what a plain call returns: info --view full leaves out the vendor tree unless you add --vendor, and stats leaves out the per-plane list unless you ask for --per plane. LIF channels are named after their dye (DAPI, ALEXA 488) rather than their display colour. The schemas are on the JSON reference and in openreadout self schema.
Plugins and integrations
The Claude Code plugin now comes from its own repository, openreadout/agent-plugins. Add that marketplace and install the plugin from it:
/plugin marketplace add openreadout/agent-plugins/plugin install openreadout@openreadoutRun openreadout self skill --install all again to replace an installed skill with the 0.2 version. The Python and R packages follow the command names. Python has File.scans() and openreadout.summarize(), and R has openreadout_scans(), openreadout_spectrum() and openreadout_summarize().