Opentrons
Controla robots Opentrons, gestiona protocolos y busca documentación de la API.
Documentación
Servidor MCP de Opentrons
Un servidor de Model Context Protocol (MCP) para la automatización de robots Opentrons y documentación de API. Esta herramienta proporciona tanto documentación completa de la API como capacidades de control directo del robot para los robots Opentrons Flex y OT-2.
Características
Herramientas de Documentación de API
- Búsqueda de Endpoints: Encuentra endpoints de API por funcionalidad, método o palabra clave
- Detalles de Endpoints: Obtén información completa sobre endpoints de API específicos
- Exploración por Categorías: Lista endpoints por categoría funcional
- Resumen de la API: Visión general de alto nivel de toda la API HTTP de Opentrons
Herramientas de Automatización de Robots
- Gestión de Protocolos: Sube, lista y gestiona archivos de protocolo
- Control de Ejecuciones: Crea ejecuciones, inicia/detiene la ejecución, monitorea el progreso
- Salud del Robot: Verifica la conectividad y el estado del sistema
- Control de Hardware: Inicia el robot en casa, controla las luces y operaciones básicas
Instalación
Desde npm (recomendado)
npm install -g opentrons-mcp
Desde el código fuente
git clone https://github.com/yerbymatey/opentrons-mcp.git
cd opentrons-mcp
npm install
Configuración
Agrega a tu archivo de configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"opentrons": {
"command": "opentrons-mcp",
"args": []
}
}
}
Si se instaló desde el código fuente:
{
"mcpServers": {
"opentrons": {
"command": "node",
"args": ["/path/to/opentrons-mcp/index.js"]
}
}
}
Herramientas Disponibles
Herramientas de Documentación
search_endpoints
Busca endpoints de la API HTTP de Opentrons por funcionalidad, método, ruta o palabra clave.
query(obligatorio): Término de búsquedamethod(opcional): Filtra por método HTTP (GET, POST, PUT, DELETE, PATCH)tag(opcional): Filtra por categoría de APIinclude_deprecated(opcional): Incluye endpoints obsoletos
get_endpoint_details
Obtén detalles completos sobre un endpoint de API específico.
method(obligatorio): Método HTTPpath(obligatorio): Ruta del endpoint de API
list_by_category
Lista todos los endpoints en una categoría funcional específica.
category(obligatorio): Categoría de API (Salud, Control, Gestión de Protocolos, etc.)
get_api_overview
Obtén una visión general de alto nivel de la estructura y capacidades de la API HTTP de Opentrons.
Herramientas de Automatización
upload_protocol
Sube un archivo de protocolo a un robot Opentrons.
robot_ip(obligatorio): Dirección IP del robotfile_path(obligatorio): Ruta al archivo de protocolo (.py o .json)protocol_kind(opcional): "standard" o "quick-transfer" (predeterminado: "standard")key(opcional): Clave de seguimiento del clienterun_time_parameters(opcional): Valores de parámetros de tiempo de ejecución
get_protocols
Lista todos los protocolos almacenados en el robot.
robot_ip(obligatorio): Dirección IP del robotprotocol_kind(opcional): Filtra por tipo de protocolo
create_run
Crea una nueva ejecución de protocolo en el robot.
robot_ip(obligatorio): Dirección IP del robotprotocol_id(obligatorio): ID del protocolo a ejecutarrun_time_parameters(opcional): Valores de parámetros de tiempo de ejecución
control_run
Controla la ejecución de la ejecución (reproducir, pausar, detener, reanudar).
robot_ip(obligatorio): Dirección IP del robotrun_id(obligatorio): ID de la ejecución a controlaraction(obligatorio): "play", "pause", "stop" o "resume-from-recovery"
get_runs
Lista todas las ejecuciones en el robot.
robot_ip(obligatorio): Dirección IP del robot
get_run_status
Obtén el estado detallado de una ejecución específica.
robot_ip(obligatorio): Dirección IP del robotrun_id(obligatorio): ID de la ejecución a verificar
robot_health
Verifica la salud y conectividad del robot.
robot_ip(obligatorio): Dirección IP del robot
control_lights
Enciende o apaga las luces del robot.
robot_ip(obligatorio): Dirección IP del roboton(obligatorio): true para encender las luces, false para apagarlas
home_robot
Lleva los ejes del robot o una pipeta específica a su posición inicial.
robot_ip(obligatorio): Dirección IP del robottarget(opcional): "robot" para todos los ejes, "pipette" para un montaje específicomount(opcional): "left" o "right" (obligatorio si el objetivo es "pipette")
Ejemplos de Uso
Con Claude Desktop
Captura de pantalla que muestra el servidor MCP de Opentrons en acción con Claude Desktop después de preguntar por los protocolos actuales con opentrons para el Flex, ¡dale la IP del robot!
Una vez configurado, puedes usar lenguaje natural para controlar tu robot:
Subir un protocolo:
Upload the protocol file at /path/to/my_protocol.py to my robot at 192.168.1.100
Verificar el estado del robot:
Check if my robot at 192.168.1.100 is healthy and ready
Ejecutar un protocolo:
List all protocols on my robot, then create and start a run for the latest one
Monitorear el progreso:
Show me the status of run abc123 on my robot
Uso Programático
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"
}
}
});
Requisitos
- Node.js 18+
- Robot Opentrons con API HTTP habilitada (puerto 31950)
- Conectividad de red entre el cliente y el robot
Configuración del Robot
Asegúrate de que tu robot Opentrons:
- Esté conectado a la misma red que tu cliente
- Ejecute la versión 7.0.0+ del software del robot
- Sea accesible en el puerto 31950 (predeterminado para la API HTTP)
Puedes verificar la conectividad visitando http://your-robot-ip:31950/health en un navegador.
Referencia de la API
Esta herramienta proporciona acceso a la API HTTP completa de Opentrons, incluyendo:
- Gestión de Protocolos: Sube, analiza y gestiona archivos de protocolo
- Gestión de Ejecuciones: Crea, controla y monitorea ejecuciones de protocolo
- Control de Hardware: Movimiento del robot, posicionamiento inicial, iluminación y calibración
- Gestión del Sistema: Monitoreo de salud, configuración y diagnósticos
- Control de Módulos: Módulos de temperatura, módulos magnéticos, termocicladores
- Gestión de Datos: Archivos CSV para parámetros de tiempo de ejecución
Para documentación detallada de la API, usa las herramientas de búsqueda y documentación proporcionadas por este servidor MCP.
Solución de Problemas
No se puede conectar al robot
- Verifica que la dirección IP del robot sea correcta
- Asegúrate de que el robot esté encendido y conectado a la red
- Comprueba que el puerto 31950 sea accesible
- Confirma que el software del robot esté en ejecución
La subida del protocolo falla
- Verifica que la ruta del archivo exista y sea legible
- Asegúrate de que el archivo de protocolo sea Python válido (.py) o formato JSON
- Comprueba el espacio disponible en disco del robot
- Confirma que el protocolo sea compatible con el tipo de robot (OT-2 vs Flex)
Problemas de ejecución
- Verifica que todos los consumibles y módulos requeridos estén conectados
- Comprueba el estado de calibración del robot
- Asegúrate de que el análisis del protocolo se haya completado correctamente
- Confirma que no haya errores o conflictos de hardware
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar problemas y solicitudes de extracción.
Licencia
Sin licencia, ve con todo