World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
MCP server for Opentrons OT-2 and Flex liquid-handling robots (HTTP API).
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
Nur einmal; gilt für alle Server, die Python (uv) brauchen
SettingsDeveloperEdit Config
{
"mcpServers": {
"labmcp-opentrons": {
"command": "uvx",
"args": [
"labmcp-opentrons"
]
}
}
}Nutze Opentrons OT-2 / Flex und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Opentrons OT-2 / Flex nutzt, oder ein Werkzeug von Opentrons OT-2 / Flex in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
LABMCP_ADDRESS Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025LABMCP_SIMULATE Set to 1 to use the built-in simulator (no hardware)LABMCP_READ_ONLY Set to 1 to disable all state-changing toolsLABMCP_LIMITS Safety limit overrides, e.g. max_temperature_c=80Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann Opentrons OT-2 / Flex noch nicht verbinden
Opentrons OT-2 / Flex läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die Opentrons OT-2 / Flex verbinden kann
B · Andere in Sonstiges, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --scope user labmcp-opentrons -- uvx labmcp-opentronsOpentrons OT-2 / Flex sollte in der Liste als verbunden erscheinen
Nutze Opentrons OT-2 / Flex und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Opentrons OT-2 / Flex nutzt, oder ein Werkzeug von Opentrons OT-2 / Flex in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
LABMCP_ADDRESS Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025LABMCP_SIMULATE Set to 1 to use the built-in simulator (no hardware)LABMCP_READ_ONLY Set to 1 to disable all state-changing toolsLABMCP_LIMITS Safety limit overrides, e.g. max_temperature_c=80Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Nutze Opentrons OT-2 / Flex und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Opentrons OT-2 / Flex nutzt, oder ein Werkzeug von Opentrons OT-2 / Flex in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
LABMCP_ADDRESS Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025LABMCP_SIMULATE Set to 1 to use the built-in simulator (no hardware)LABMCP_READ_ONLY Set to 1 to disable all state-changing toolsLABMCP_LIMITS Safety limit overrides, e.g. max_temperature_c=80Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
VS Code fragt nach einer Bestätigung; klicke Install
Nutze Opentrons OT-2 / Flex und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Opentrons OT-2 / Flex nutzt, oder ein Werkzeug von Opentrons OT-2 / Flex in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
LABMCP_ADDRESS Instrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025LABMCP_SIMULATE Set to 1 to use the built-in simulator (no hardware)LABMCP_READ_ONLY Set to 1 to disable all state-changing toolsLABMCP_LIMITS Safety limit overrides, e.g. max_temperature_c=80Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach
JSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add --scope user labmcp-opentrons -- uvx labmcp-opentronsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"labmcp-opentrons": {
"command": "uvx",
"args": [
"labmcp-opentrons"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"labmcp-opentrons": {
"command": "uvx",
"args": [
"labmcp-opentrons"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"labmcp-opentrons": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-opentrons"
]
}
}
}LABMCP_ADDRESS envLABMCP_SIMULATE envLABMCP_READ_ONLY envLABMCP_LIMITS envDie Beschreibungen sind noch im englischen Original.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
pypi: labmcp-opentronsBasierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 14. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto K-Dense-AI bestätigt, dem das Repo gehört
Code zuletzt geändert: vor 2 Monaten
Nutzt Apache-2.0
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vor 2 Monaten geändert, und die neueste Version (0.1.3) kam vor 2 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: World Monitor, Claude Flow, Windmill
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
Run Windmill scripts and flows and manage jobs, schedules, resources and variables.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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.
| Package | labmcp-opentrons |
| Instruments | Opentrons Flex, Opentrons OT-2 (robot software 5.1 or newer) |
| Interfaces | Ethernet, Wi-Fi, USB (network over USB) |
| Protocol | Opentrons robot-server HTTP API on port 31950, Opentrons-Version: 3 (HTTP API guide, robot-server source; every robot also serves its spec at http:// :31950/openapi.json and /redoc) |
| Status | 🧪 simulated: tested against an in-memory robot-server simulator, not yet verified on hardware. Report a hardware test |
Why this server rather than a generic HTTP wrapper: it refuses to start a run unless the robot's own protocol analysis passed, the user has confirmed the deck, the door is closed, the E-stop is released and module setpoints are within your limits. It exposes no single-move pipetting commands, keeps pause and stop available even in read-only mode, and records every HTTP request in the command log.
uvx labmcp-opentrons --simulate --check
uvx labmcp-opentrons --simulate --option sim_model=ot2 --check # simulate an OT-2
The simulator runs protocols in memory: Python protocols are compiled and scanned for labware, pipettes, modules and steps, runs go through the real status lifecycle, and module temperatures respond to the protocol.
169.254.x.x). uvx labmcp-opentrons --address 192.168.1.20 --check
uvx labmcp-opentrons --address http://ot2-lab.local:31950 --check
`--check` prints the robot's name, model, software and firmware versions.
--option access_token= .Claude Code
claude mcp add opentrons -- uvx labmcp-opentrons --address 192.168.1.20
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
{
"mcpServers": { "opentrons": { "command": "uvx", "args": ["labmcp-opentrons", "--address", "192.168.1.20"] } } }
Add --read-only to let the agent monitor the robot (status, runs, protocols, modules) while blocking uploads, runs, homing and lights. pause_run, stop_run and deactivate_modules stay available. For other clients, generate the snippet with uvx labmcp config opentrons --address 192.168.1.20 --client vscode (also cursor, codex, claude-code).
| Tool | Kind | Description |
|---|---|---|
deactivate_modules | 🛑 safety | Switch attached modules off: stop heating/cooling (Temperature Module, Thermocycler block and lid, Heater-Shaker heater), stop shaking, and lower Magnetic Module magnets. Only possible when no run is in progress: stop the run first. |
get_command_log | 👁 read | Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done. |
get_connection_info | 👁 read | Report which instrument is connected (identity, address, simulated or real), whether the server is read-only, and the active safety limits. Call this first. |
get_protocol | 👁 read | Show a stored protocol's analysis: whether it is ready to run, analysis errors, the deck layout it expects (labware and modules per slot, pipettes per mount, liquids), the number of steps and the highest module temperature / shake speed it requests. Review this with the user before start_run. |
get_robot_status | 👁 read | Report the robot's name, model (Flex/OT-2), software and firmware versions, lights, door and E-stop state, and the current run. Call this first to check the robot is ready. |
get_run_status | 👁 read | Report a run's status, the step it is on, progress, recent steps and any errors, plus advice on what to do next (e.g. when the run is waiting for error recovery). |
home_robot | ⚠️ hazard | 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 the door is closed. |
list_instruments | 👁 read | List attached pipettes (and the Flex gripper): mount, name, channels, volume range, and whether a tip is detected and calibration data exists. |
list_modules | 👁 read | List attached modules (Temperature Module, Heater-Shaker, Thermocycler, Magnetic Module, Absorbance Plate Reader, ...) with live temperatures, targets, shake speed and status. |
list_protocols | 👁 read | List protocols stored on the robot (newest last) with their analysis status and result. |
list_runs | 👁 read | List recent protocol runs, newest first, with their status. |
pause_run | 🛑 safety | Pause a running protocol. The robot finishes its current step and then holds; resume_run continues it. |
reconnect | 🛑 safety | Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged). |
resume_run | ⚠️ hazard | 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 be given. |
set_lights | 🎛 control | Turn the robot's deck (rail) lights on or off. |
start_run | ⚠️ hazard | 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 module setpoints are within the safety limits, no other run is active, the door is closed and the E-stop is released. |
stop_run | 🛑 safety | Stop (cancel) a run immediately. A stopped run cannot be resumed; the robot homes and drops any attached tips into the trash. Use this whenever something looks wrong. |
upload_protocol | 🎛 control | Upload a protocol file (plus optional custom labware) to the robot. The robot analyzes it (simulates it) and this tool returns the analysis: errors, deck layout and whether it is ready to run. Uploading does not move the robot. Uploading identical files returns the existing protocol. |
get_connection_info, get_command_log and reconnect are built into every LabMCP server. get_command_log shows every HTTP request sent to the robot and its reply.
| Limit | Default | Meaning |
|---|---|---|
max_module_temperature_c | 110 °C | Highest temperature (Temperature Module, Thermocycler block or lid, Heater-Shaker) a protocol may request; start_run refuses protocols above it |
max_shake_speed_rpm | 3000 rpm | Fastest Heater-Shaker speed a protocol may request |
The defaults are the hardware maxima. Tighten them for heat-sensitive plastics or samples: --limit max_module_temperature_c=70 --limit max_shake_speed_rpm=1500. The check reads the setpoints from the robot's analysis of the protocol (every celsius and rpm value in module commands, including thermocycler profiles).
Other safety interlocks built into start_run:
ok (pending, failed or parameter-required analyses are refused, and the errors are shown);deck_confirmed=true is required, which the agent should only pass after you confirmed the deck matches the layout from get_protocol;~/protocols/serial_dilution.py to the Flex and tell me whether the analysis passed. What labware do I need where?"POST /runs/{id}/commands), because without full deck state these can crash pipettes into labware. That may come later behind stricter checks.labware.set_offset(...)).awaiting-recovery. resume_run(error_recovery="continue") continues from the robot's actual state and skips the failed step; "assume_false_positive" treats the failure as a false alarm. Only use either after someone has checked the robot.deactivate_modules sends the robot's stateless deactivate commands (POST /commands), which the robot only accepts when no run is in progress.list_instruments uses GET /instruments, which the robot fully supports on Flex; on an OT-2 it returns pipettes with less detail (no calibration data).Opentrons-Version: 3 header, as in Opentrons' integration examples. Override with --option api_version=4 if needed.| Model | Robot software | Interface | Verified by | Date |
|---|---|---|---|---|
| *none yet: be the first* |