control_lights
Turn robot lights on or off
Push a protocol to an Opentrons robot at its IP, start, pause or stop the run, watch its status, and search the Opentrons HTTP API when you need the endpoint underneath.
LABSCO SUMMARY
Starting work is deliberately split: upload_protocol puts the file on the robot, create_run starts a run against a protocol_id, and run_time_parameters can be supplied at either end. control_run is the single door for play, pause, stop and resume, so the run state machine stays in one place. poll_error_endpoint_and_fix changes your protocol rather than reporting on it, and it needs both the JSON error report and the original protocol path.
A server for Opentrons lab robots with a double role: a searchable index of the Opentrons HTTP API, and direct control of a robot addressed by robot_ip.
An Opentrons robot reachable over the network — the control tools take robot_ip — and the protocol file on disk, given as file_path to upload_protocol and as original_protocol_path to poll_error_endpoint_and_fix.
One command — npx -y opentrons-mcp
USE CASES
Check the robot is reachable, upload the protocol file with its run-time parameters, create the run and watch it from the client.
Find the run that is active, read where it got to, and pause, stop or resume it without walking to the robot.
Read the failure, hand the error report and the original file to the repair tool, and put the corrected protocol back on the robot.
Search the endpoint index by what you are trying to do, then read the one endpoint in detail rather than paging through the whole reference.
Home the axes or the pipette that was left mid-move, confirm the robot is answering, and put the lights back the way you found them.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
control_lightsTurn robot lights on or off
control_runControl run execution (play, pause, stop, resume)
create_runCreate a new protocol run on the robot
get_api_overviewGet high-level overview of the Opentrons HTTP API structure and capabilities
get_endpoint_detailsGet comprehensive details about a specific API endpoint
get_protocolsList all protocols stored on the robot
get_run_statusGet detailed status of a specific run
get_runsList all runs on the robot
home_robotHome robot axes or specific pipette
list_by_categoryList all endpoints in a specific functional category
poll_error_endpoint_and_fixFetch specific JSON error report and automatically fix protocols
robot_healthCheck robot health and connectivity
search_endpointsSearch Opentrons HTTP API endpoints by functionality, method, path, or any keyword
upload_protocolUpload a protocol file to an Opentrons robot
BEFORE YOU INSTALL
14 tools when we connected.
CONTEXT COST
Rated by the size of the 14 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"opentrons-mcp": {
"command": "npx",
"args": [
"-y",
"opentrons-mcp"
]
}
}
}npx -y opentrons-mcp