Opentrons
About
Control Opentrons robots, manage protocols, and search API documentation.
Details
- Author
- yerbymatey
- Categories
- Developer Tools, Other, Infrastructure, API
Jump to
Setup
Install Opentrons in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/yerbymatey/opentrons-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
A Model Context Protocol (MCP) server for Opentrons robot automation and API documentation. This tool provides both comprehensive API documentation and direct robot control capabilities for Opentrons Flex and OT-2 robots.
- Search Endpoints: Find API endpoints by functionality, method, or keyword
- Endpoint Details: Get comprehensive information about specific API endpoints
- Category Browsing: List endpoints by functional category
- API Overview: High-level overview of the entire Opentrons HTTP API
- Protocol Management: Upload, list, and manage protocol files
- Run Control: Create runs, start/stop execution, monitor progress
- Robot Health: Check connectivity and system status
- Hardware Control: Home robot, control lights, and basic operations
git clone https://github.com/yerbymatey/opentrons-mcp.git cd opentrons-mcp npm install
Add to your Claude Desktop configuration file:
macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "opentrons": { "command": "opentrons-mcp", "args": [] } } }
{ "mcpServers": { "opentrons": { "command": "node", "args": ["/path/to/opentrons-mcp/index.js"] } } }
Search Opentrons HTTP API endpoints by functionality, method, path, or keyword.
- query(required): Search term
- method(optional): Filter by HTTP method (GET, POST, PUT, DELETE, PATCH)
- tag(optional): Filter by API category
- include_deprecated(optional): Include deprecated endpoints
Get comprehensive details about a specific API endpoint.
- method(required): HTTP method
- path(required): API endpoint path
List all endpoints in a specific functional category.
- category(required): API category (Health, Control, Protocol Management, etc.)
Get high-level overview of the Opentrons HTTP API structure and capabilities.
Upload a protocol file to an Opentrons robot.
- robot_ip(required): Robot IP address
- file_path(required): Path to protocol file (.py or .json)
- protocol_kind(optional): "standard" or "quick-transfer" (default: "standard")
- key(optional): Client tracking key
- run_time_parameters(optional): Runtime parameter values
- robot_ip(required): Robot IP address
- protocol_kind(optional): Filter by protocol type
- robot_ip(required): Robot IP address
- protocol_id(required): ID of protocol to run
- run_time_parameters(optional): Runtime parameter values
Control run execution (play, pause, stop, resume).
- robot_ip(required): Robot IP address
- run_id(required): Run ID to control
- action(required): "play", "pause", "stop", or "resume-from-recovery"
- robot_ip(required): Robot IP address
- run_id(required): Run ID to check
- robot_ip(required): Robot IP address
- on(required): true to turn lights on, false to turn off
- robot_ip(required): Robot IP address
- target(optional): "robot" for all axes, "pipette" for specific mount
- mount(optional): "left" or "right" (required if target is "pipette")
Screenshot showing the Opentrons MCP server in action with Claude Desktop after asking for current protocols with opentrons for the Flex, give it the robot ip!
Once configured, you can use natural language to control your robot:
Upload the protocol file at /path/to/my_protocol.py to my robot at 192.168.1.100
Check if my robot at 192.168.1.100 is healthy and ready
List all protocols on my robot, then create and start a run for the latest one
Show me the status of run abc123 on my robot
import { Client } from "@modelcontextprotocol/sdk/client/index.js"; // Connect to MCP server const client = new Client(/ transport /); // Upload protocol await client.request({ method: "tools/call", params: { name: "upload_protocol", arguments: { robot_ip: "192.168.1.100", file_path: "/path/to/protocol.py", protocol_kind: "standard" } } });
- Node.js 18+
- Opentrons robot with HTTP API enabled (port 31950)
- Network connectivity between client and robot
- Connected to the same network as your client
- Running robot software version 7.0.0+
- Accessible on port 31950 (default for HTTP API)
You can verify connectivity by visitinghttp://your-robot-ip:31950/healthin a browser.
This tool provides access to the complete Opentrons HTTP API, including:
- Protocol Management: Upload, analyze, and manage protocol files
- Run Management: Create, control, and monitor protocol runs
- Hardware Control: Robot movement, homing, lighting, and calibration
- System Management: Health monitoring, settings, and diagnostics
- Module Control: Temperature modules, magnetic modules, thermocyclers
- Data Management: CSV files for runtime parameters
For detailed API documentation, use the search and documentation tools provided by this MCP server.
- Verify robot IP address is correct
- Ensure robot is powered on and connected to network
- Check that port 31950 is accessible
- Confirm robot software is running
- Verify file path exists and is readable
- Ensure protocol file is valid Python (.py) or JSON format
- Check available disk space on robot
- Confirm protocol is compatible with robot type (OT-2 vs Flex)
- Verify all required labware and modules are attached
- Check robot calibration status
- Ensure protocol analysis completed successfully
- Confirm no hardware errors or conflicts
Contributions are welcome! Please feel free to submit issues and pull requests.
- Opentrons API Documentation
- Model Context Protocol
- Claude Desktop
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
ClawManager Fleet Control is a paid hosted remote MCP for ClawManager. It exposes Streamable HTTP tool calls, bearer-token access, public server-card metadata, usage logs, and receipt-orient
AI-powered industrial fault diagnosis MCP server. 313 fault codes across Allen-Bradley, Siemens, ABB, Mitsubishi, Fanuc. 8 diagnostic tools for Claude Code.
A feature-rich gateway and proxy that federates MCP and REST services, unifying discovery, authentication, rate-limiting, and observability into a single endpoint for AI clients.
Paid remote MCP for server uptime checks, schema validation, auth failure detection, SLA receipts, and status report exports.
Interact with your OpsLevel account using read-only access.
Security gateway for MCP servers — per-tool policies, Ed25519-signed receipts, human approval gates, and Cedar WASM policy engine.
A collection of production-ready MCP servers optimized for Raspberry Pi and AI workloads.
RedirHub's MCP server for managing URL redirects, hosts, and domains at scale. Full CRUD + bulk operations, access logs, usage stats, and dry-run safety. 19 tools across 15 resources. Works with Claude, Cursor, and any MCP client. Free tier available.
An MCP server for interacting with the Terraform Registry API. It allows querying for providers, resources, modules, and supports Terraform Cloud operations.
A Model Context Protocol (MCP) bridge to programmatically control Siemens TIA Portal (PLC, blocks, tags, and HMI).
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





