Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

rhylthyme-labmcp

License: Apache-2.0 PyPI

Run lab instruments served by LabMCP, K-Dense's open-source (Apache-2.0) MCP servers for balances, stirrers, syringe pumps, sensors, spectrometers, Opentrons robots and generic SiLA 2, SCPI and Modbus devices, from Rhylthyme programs. Rhylthyme's planner and runner schedule the work; each workcell tool is one LabMCP server, started by the runner and spoken to over MCP. It is an independent project, not affiliated with or endorsed by K-Dense.

Status: alpha. Everything runs simulated unless you ask for a live run.

pip install "rhylthyme[labmcp]"     # and uv: https://docs.astral.sh/uv/
E=https://raw.githubusercontent.com/rhylthyme/rhylthyme-labmcp/main/examples
curl -sO $E/titration.json -sO $E/workcell-titration.json
rhylthyme run titration.json --workcell workcell-titration.json

A step names a tool of the server; the step can send actions when it starts, end on a reply, and send actions when it ends:

{ "stepId": "heat-stir", "name": "Heat to 40 °C and stir for 2 minutes",
  "duration": { "type": "fixed", "seconds": 120 },
  "instrument": { "tool": "stirrer",
    "start": [ { "command": "set_temperature", "params": { "temperature_c": 40 } },
               { "command": "start_heating" }, { "command": "start_stirring" } ],
    "end":   [ { "command": "stop_heating" } ] } }

A local workcell says which LabMCP server each tool is, where the instrument is, and its safety limits; it never leaves the lab machine, and LabMCP and galago-tools tools can share one:

{ "id": "titration-bench",
  "tools": [
    { "name": "stirrer", "driver": "labmcp", "server": "ika",
      "address": "/dev/ttyUSB1", "limits": { "max_temperature_c": 80 } } ] }

What you get

  • Checks before the run: rhylthyme validate --workcell checks every call against a catalogue of every LabMCP server's tools, input schemas and limits, the servers' command policies, and pump timing.
  • Planning: durations estimated from params (doses, series, runs, waits) for rhylthyme plan, timelines and the hosted MCP server.
  • Safety: workcell limits passed to the servers; safe stops when a step fails or the run is aborted; pausing the schedule pauses instruments that can hold; a live pre-flight with every instrument's identity, mode and limits and every hazardous action, behind a typed live.
  • Remote servers over HTTP, and the web bridge (rhylthyme bridge) to watch and steer runs from rhylthyme.com, with addresses never published.

Read the guide: setup and the workcell reference, writing steps, checking and planning, running, limits and safe stops, live runs, the web bridge, and troubleshooting.

Examples

Program Shows
titration.json Balance, hotplate stirrer and pH probe; actions around a timer
dosing.json New Era and Tecan Cavro syringe pumps
opentrons-transfer.json One Opentrons protocol on LabMCP or galago-tools: only the workcell changes
protocol-bridges.json SiLA 2, SCPI and Modbus devices, each with a command policy
tare-and-shake.json A LabMCP balance and a galago-tools shaker in one workcell

Each has its workcell in examples/.

Development

pip install -e ".[dev]" -e ../rhylthyme-cli-runner
pytest -m "not integration"   # fakes only
pytest -m integration         # real LabMCP servers via uvx, simulated

License

Apache-2.0. LabMCP is by K-Dense, Apache-2.0; the catalogue is exported from its servers, and one module is vendored from it. See NOTICE.

Metadata

Release files for rhylthyme-labmcp 0.1.0a0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rhylthyme-labmcp 0.1.0a0
File Size Uploaded
rhylthyme_labmcp-0.1.0a0.tar.gz 171.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rhylthyme-labmcp 0.1.0a0
File Interpreter ABI Platform
rhylthyme_labmcp-0.1.0a0-py3-none-any.whl Python 3 none any Details

Total release size: 272.5 kB

Release files / rhylthyme_labmcp-0.1.0a0.tar.gz

Download URL rhylthyme_labmcp-0.1.0a0.tar.gz
Size 171.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a417e51eb23086ee559d86bebd1d0e5a2bc39aa33402592f4f913aa6203e7c03
BLAKE2b-256 checksum
How to use checksums
cc1534b534b5b143b79e8cc0e528bff5981646d46a04a1f27829636ac58b7eb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / rhylthyme_labmcp-0.1.0a0-py3-none-any.whl

Download URL rhylthyme_labmcp-0.1.0a0-py3-none-any.whl
Size 101.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed172ab28406dd25b378203601e70bce4e30a7240e11b7ae94165cd1bc81c8a5
BLAKE2b-256 checksum
How to use checksums
904f9c7212e6e0a3b49ab1417da7c3805f108ad4f6556b806b1f5d9b67b18af5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

This release

0.1.0a0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page