Opentrons OT-2 / Flex MCP Server

Let an AI agent upload and check protocols, review the deck layout with you, start, pause, stop and resume runs, follow their progress, and read pipettes and modules on Opentrons Flex and OT-2 liquid-handling robots through the robot's documented HTTP API. Its 18 documented tools cover modules, protocol, robot.

People who work with modules, protocol and robot and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

One of 32 MCP servers published from k-dense-ai/lab-instrument-mcps. Stars and repository activity are shared across all of them. See all 32 →

VERIFIED ACTIVE

LAST COMMIT 2026-09-26 · VERIFIED 2026-09-30

Apache-2.0 · Python servers · how we verify → /methodology

01 · Install Opentrons OT-2 / Flex

Claude Code

claude mcp add k-dense-ai-lab-instrument-mcps-servers-b -- uvx labmcp-opentrons

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "k-dense-ai-lab-instrument-mcps-servers-b": {
      "command": "uvx",
      "args": [
        "labmcp-opentrons"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

repo age created 2026-09-25 - young repo, little track record yet

license Apache-2.0 - declared in the repository

pypi package labmcp-opentrons - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.K-Dense-AI is GitHub-verified and matches the repo owner

03 · What Opentrons OT-2 / Flex can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can list protocols stored on the robot (newest last) with their analysis status and result, list recent protocol runs, newest first, with their status, pause a running protocol. g.

Capability map

Tools grouped from the project's README - what Opentrons OT-2 / Flex lets an agent do.

read & search

9 tools - e.g. Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done.; Report which instrument is connected (identity…

get_command_log · get_connection_info · get_protocol · get_robot_status · get_run_status · list_instruments…

run & execute

2 tools - e.g. Create a run of an analyzed protocol and start it: the robot begins moving and pipetting. Refused unless the protocol's analysis completed without errors, its m; Stop (cancel) a run immediately. A stopped…

start_run · stop_run

Deactivate

1 tool - e.g. Switch attached modules off: stop heating/cooling (Temperature Module, Thermocycler block and lid, Heater-Shaker heater), stop shaking, and lower Magnetic Modul

deactivate_modules

Home

1 tool - e.g. Home all axes of the robot (the gantry and pipettes move to their home positions). Refused while a run is active. Make sure nothing is in the robot's path and t

home_robot

Pause

1 tool - e.g. Pause a running protocol. The robot finishes its current step and then holds; resume_run continues it.

pause_run

Reconnect

1 tool - e.g. Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).

reconnect

Resume

1 tool - e.g. Resume a paused run (the robot starts moving again), or leave error recovery. Refused while the door is open. For a run awaiting recovery, error_recovery must b

resume_run

update

1 tool - e.g. Turn the robot's deck (rail) lights on or off.

set_lights

Limitations (from the README)

- Protocols, not single moves. This server runs complete protocols that the robot has analyzed. It deliberately has no tools for individual pipetting or gantry moves (POST /runs/{id}/commands), because without full deck state these can crash pipettes into labware. That may come later behind stricter checks. - Labware Position Check offsets are not applied. Runs created through the HTTP API do not include the offsets

04 · Who maintains Opentrons OT-2 / Flex

Opentrons OT-2 / Flex is maintained by k-dense-ai. We track 32 MCP servers from k-dense-ai - 32 actively maintained, 9 combined GitHub stars, oldest repo from Sep 2026. Full record: all servers from k-dense-ai.

  1. Tecan Cavro Syringe Pump MCP server for Tecan Cavro syringe pumps (XLP 6000, XMP 6000, XCalibur) over the DT protocol. ★ 9
  2. Micro-Manager Microscope MCP server for microscopes controlled by Micro-Manager (pymmcore-plus). ★ 9
  3. Atlas Scientific EZO Sensors MCP server for Atlas Scientific EZO sensor circuits (pH, ORP, DO, EC, RTD, HUM, CO2, PRS) over UART. ★ 9
  4. New Era Syringe Pump MCP server for New Era Pump Systems syringe pumps (NE-1000 family, RS-232). ★ 9
  5. Alicat Mass Flow & Pressure Controller MCP server for Alicat mass flow and pressure meters/controllers. ★ 9
  6. ASTM LIS Analyzer Receiver MCP server that receives results from clinical/lab analyzers over ASTM E1381/E1394 (CLSI LIS1/LIS2). ★ 9

05 · Facts

category
API integration - actively maintained as of 2026-09-30.
registry
io.github.K-Dense-AI/labmcp-opentrons (active, first published 2026-09-25 · 4 versions)
packages
pypi:labmcp-opentrons

06 · Opentrons OT-2 / Flex FAQ

Is Opentrons OT-2 / Flex still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-26. We re-verify nightly.

What can Opentrons OT-2 / Flex do?

With this server connected, an agent can list protocols stored on the robot (newest last) with their analysis status and result, list recent protocol runs, newest first, with their status, pause a running protocol. g.

How do I install Opentrons OT-2 / Flex?

Run `uvx labmcp-opentrons`. You can also paste the ready-made client config above.

Does Opentrons OT-2 / Flex run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Opentrons OT-2 / Flex