TARE
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TAREset the microscope to 40x and capture a focused image"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TARE
Oct 19, 2026, 9:40 PM PDT
TARE (Trusted Adapter for Readback-verified Equipment) lets AI agents operate lab instruments, and checks what really happened. A command is not done until the instrument's own readback confirms it, and a measurement is not usable until its quality, age, calibration and uncertainty say so. The checks run outside the language model, so a model's mistake cannot talk its way past them.
TARE is an independent design, built from Anthropic's public description of the Model Hardware Standard (MHS). It is not affiliated with Anthropic and makes no claim of MHS compatibility. "Trusted" is a design goal, not a certification.
Technical brief (PDF, 4 pages) · Brief (HTML) · Illustrated user manual · Project page on samkirk.com · LinkedIn post · All documents
Contents
Related MCP server: SCPI MCP
What TARE does
An agent gets four operations: discover what the instruments can do, configure a setting, measure, and operate an action such as a robot move or an aspiration. Every request takes the same path:
Validate the device, units and limits before anything is sent. Unknown or out-of-range requests are refused with a reason.
Dispatch, then read back. A setting counts as applied only if the readback matches. A mismatch is reported as unverified, and dependent steps stop.
Qualify every measurement with its unit, time, age, calibration status, uncertainty and quality flags. Stale or uncertain data is marked unusable.
Keep partial effects. If an action half-happens, TARE reports what did happen. Nothing is silently retried or rolled back.
Audit each attempt before dispatch and its outcome after.
Four behavioral simulators share one virtual lab:
Instrument | What it models |
Microscope | Motorized stage, focus and magnification; a 48×48 synthetic image whose focus score is computed from the returned pixels |
Mixed-signal oscilloscope | Inspired by the HP 54645D: two analog and sixteen digital channels, trigger and threshold controls |
Robot arm | Cartesian arm that carries a plate between stations around a keep-out region |
Liquid handler and reader | Aspirate and dispense with volume readback, and a 96-well absorbance reader |
They model the failure modes that matter to an agent: stuck axes, partial transfers, stale data, unknown uncertainty, and readings that disagree with a reference. Details: four-device guide.
Install
Python 3.10 or later. The core simulators have no dependencies; the MCP server needs the pinned packages in requirements-mcp.lock.
git clone https://github.com/MrBesterTester/TARE.git
cd TARE
python3 -m venv .venv
.venv/bin/pip install -r requirements-mcp.lock -e .The Python package and its commands are named mhs2, from the project's first name.
Run the simulators
.venv/bin/python -m mhs2.lab_cli --output Results/My-Lab-Run.json demo
.venv/bin/python -m mhs2.lab_cli --fault lab=bubbles demo
.venv/bin/python -m mhs2.lab_cli sessionThe first runs the coordinated four-instrument experiment. The second injects air bubbles in the liquid handler; it stops on a volume mismatch and exits with status 1, which is the expected result. session reads JSON-line commands from standard input and keeps state between them. Nothing contacts physical equipment.
From Python:
from mhs2.lab import make_lab
lab = make_lab()
print(lab.call('discover'))The visual explorer replays a recorded run's images, signals and motion in a browser.
Run the tests
.venv/bin/python -m unittest discover -s tests -q117 tests cover validation, readback, fault handling, audit and the evaluation tooling. The brief's figure of 123 was counted before a retired model adapter and its tests were removed.
Connect a chatbot through MCP
.venv/bin/python -m mhs2.mcp_server --labThis is a stdio MCP (Model Context Protocol) server. Configure your MCP host to start the command above with the TARE folder as its working directory. Each server process owns its own fresh virtual lab.
Chat lab
.venv/bin/python -m mhs2.chat_serverA local browser chat where a Claude model drives the simulated lab. It needs Claude Code signed in with a Claude subscription; TARE checks claude auth status, refuses API-key and unknown logins, and never reads the credential store. The server listens only on 127.0.0.1. Chat guide · Five-minute demo
What the evidence shows
The evidence comes at three levels, reported separately.
Software tests: the suite above.
Simulated experiments: a coordinated experiment of 80 service calls moves a plate, prepares four dilutions, checks plate and scope readings, and autofocuses. 17 scripted scenarios matched their expected outcomes, including 13 injected faults stopped for the right reason. One scenario deliberately completes despite a stuck digital line, because the workflow does not check digital patterns; it is a known gap. Four-device results
AI agent behavior: Claude models were tested on routine instrument dialogues with synthetic instrument results.
Model and effort | Test | Correct | Critical errors | Median time | Report |
Claude Opus 5.5, medium | 24 cases, twice each; 11 written before any model saw them | 47 of 48 | 0 | 13.7 s | |
Claude Opus 5.5, medium | Pilot, 13 cases | 13 of 13 | 0 | 14.3 s | |
Claude Opus 5.5, high | Pilot, 13 cases | 12 of 13 | 0 | 16.0 s | |
Claude Sonnet 5.5, high | Pilot, 13 cases | 13 of 13 | 0 | 14.5 s |
Both recorded misses were correct answers that TARE's automatic checker failed to recognize. A reviewer judged them correct, but they stay on the record because a review cannot overturn an automatic check. Every dialogue page, record, manifest and review file is published under Results/; each run folder's index.html is the trial matrix.
The user manual cites two live chat recordings from Oct 19, 2026: Opus 5.5 at medium and Sonnet 5 at medium, which skipped the oscilloscope check.
The published runs are frozen evidence. They were produced before a retired model adapter was removed from the runner, so the published code cannot resume them. Their records are byte-identical to the originals and need no resumption.
Limits
All four instruments are simulations, and the model tests use synthetic instrument results, so nothing here demonstrates physical accuracy or hardware safety. The model results are a screening study: 13 to 24 cases, run once or twice each, which is enough to find problems but not to certify reliability. The dialogues were reviewed by Claude models with model names hidden (Claude Fable 5.1 for the Opus 5.5 comparison). That reviewer is from the same family as the models under test, and no independent review by a qualified scientist has been done yet.
Rebuilding the evaluation, manual and figures
Evaluation cases:
tools/build-shmoo-cases.pybuildsEvaluation/Shmoo-Cases.jsonfromEvaluation/Dialogue-Cases.json.Evaluation runner:
python -m mhs2.shmoo(init,preflight,run,review,report) runs a staged, resumable model comparison through the Claude Code CLI. No instrument is called; the models see synthetic results. Live runs use your Claude subscription.Blinded review:
python -m mhs2.model_reviewhas a second Claude model review a run's dialogues with model names hidden.User manual:
tools/build-user-manual.py, withtools/build-chat-diagrams.pyandtools/build-manual-sessions.py. The browser checks and screenshots (tools/*.cjs) use Playwright; setTARE_BROWSER_BINto use a specific browser.Explorer:
python -m mhs2.explorerregenerates the visual explorer from the recorded run.
Research behind the design: simulation sources, MHS release checks, and the hosted-demo feasibility study.
License
MIT. Copyright © 2026 Sam Kirk.
This server cannot be deployed
Maintenance
Related MCP Connectors
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Paid deterministic data-quality and execution-verification tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceAn AI orchestration layer that enables automated control and validation of test and measurement instruments using SCPI commands and tm_devices. It provides tools for project knowledge retrieval, command materialization, and deterministic shortcuts to streamline instrumentation workflows.-
- AlicenseBqualityCmaintenanceEnables agentic coding harnesses to control benchtop test equipment — waveform generator, multimeter, oscilloscope, and power supply — over SCPI, with typed tools and raw passthrough for investigating circuits.761MIT
- FlicenseNot gradedqualityBmaintenanceEnables unified discovery, query, and control of laboratory instruments (power supplies, oscilloscopes, signal generators, multimeters) via VISA/SCPI, with device-specific libraries and an MCP server exposing 19 tools for natural language interaction.-
- AlicenseAqualityAmaintenanceEnables AI agents to design, connect, and simulate water-handling systems from tested physical component models, with typed tools and physics-based warnings.20Apache 2.0