Opentrons

Controle robôs Opentrons, gerencie protocolos e pesquise na documentação da API.

Documentação

Servidor MCP Opentrons

Um servidor Model Context Protocol (MCP) para automação de robôs Opentrons e documentação de API. Esta ferramenta fornece tanto documentação abrangente da API quanto capacidades diretas de controle de robôs para os robôs Opentrons Flex e OT-2.

Recursos

Ferramentas de Documentação da API

  • Buscar Endpoints: Encontre endpoints de API por funcionalidade, método ou palavra-chave
  • Detalhes do Endpoint: Obtenha informações abrangentes sobre endpoints de API específicos
  • Navegação por Categoria: Liste endpoints por categoria funcional
  • Visão Geral da API: Visão geral de alto nível de toda a API HTTP Opentrons

Ferramentas de Automação de Robôs

  • Gerenciamento de Protocolos: Envie, liste e gerencie arquivos de protocolo
  • Controle de Execução: Crie execuções, inicie/pare a execução, monitore o progresso
  • Saúde do Robô: Verifique conectividade e status do sistema
  • Controle de Hardware: Centralize o robô, controle luzes e operações básicas

Instalação

Via npm (recomendado)

npm install -g opentrons-mcp

A partir do código-fonte

git clone https://github.com/yerbymatey/opentrons-mcp.git
cd opentrons-mcp
npm install

Configuração

Adicione ao seu arquivo de configuração do Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "opentrons": {
      "command": "opentrons-mcp",
      "args": []
    }
  }
}

Se instalado a partir do código-fonte:

{
  "mcpServers": {
    "opentrons": {
      "command": "node",
      "args": ["/path/to/opentrons-mcp/index.js"]
    }
  }
}

Ferramentas Disponíveis

Ferramentas de Documentação

search_endpoints

Busque endpoints da API HTTP Opentrons por funcionalidade, método, caminho ou palavra-chave.

  • query (obrigatório): Termo de busca
  • method (opcional): Filtre por método HTTP (GET, POST, PUT, DELETE, PATCH)
  • tag (opcional): Filtre por categoria da API
  • include_deprecated (opcional): Inclua endpoints obsoletos

get_endpoint_details

Obtenha detalhes abrangentes sobre um endpoint de API específico.

  • method (obrigatório): Método HTTP
  • path (obrigatório): Caminho do endpoint da API

list_by_category

Liste todos os endpoints em uma categoria funcional específica.

  • category (obrigatório): Categoria da API (Saúde, Controle, Gerenciamento de Protocolos, etc.)

get_api_overview

Obtenha uma visão geral de alto nível da estrutura e capacidades da API HTTP Opentrons.

Ferramentas de Automação

upload_protocol

Envie um arquivo de protocolo para um robô Opentrons.

  • robot_ip (obrigatório): Endereço IP do robô
  • file_path (obrigatório): Caminho para o arquivo de protocolo (.py ou .json)
  • protocol_kind (opcional): "standard" ou "quick-transfer" (padrão: "standard")
  • key (opcional): Chave de rastreamento do cliente
  • run_time_parameters (opcional): Valores de parâmetros de tempo de execução

get_protocols

Liste todos os protocolos armazenados no robô.

  • robot_ip (obrigatório): Endereço IP do robô
  • protocol_kind (opcional): Filtre por tipo de protocolo

create_run

Crie uma nova execução de protocolo no robô.

  • robot_ip (obrigatório): Endereço IP do robô
  • protocol_id (obrigatório): ID do protocolo a ser executado
  • run_time_parameters (opcional): Valores de parâmetros de tempo de execução

control_run

Controle a execução da execução (reproduzir, pausar, parar, retomar).

  • robot_ip (obrigatório): Endereço IP do robô
  • run_id (obrigatório): ID da execução a ser controlada
  • action (obrigatório): "play", "pause", "stop" ou "resume-from-recovery"

get_runs

Liste todas as execuções no robô.

  • robot_ip (obrigatório): Endereço IP do robô

get_run_status

Obtenha o status detalhado de uma execução específica.

  • robot_ip (obrigatório): Endereço IP do robô
  • run_id (obrigatório): ID da execução a ser verificada

robot_health

Verifique a saúde e conectividade do robô.

  • robot_ip (obrigatório): Endereço IP do robô

control_lights

Ligue ou desligue as luzes do robô.

  • robot_ip (obrigatório): Endereço IP do robô
  • on (obrigatório): true para ligar as luzes, false para desligar

home_robot

Centralize os eixos do robô ou uma pipeta específica.

  • robot_ip (obrigatório): Endereço IP do robô
  • target (opcional): "robot" para todos os eixos, "pipette" para um suporte específico
  • mount (opcional): "left" ou "right" (obrigatório se o alvo for "pipette")

Exemplos de Uso

Com o Claude Desktop

Opentrons MCP in action Captura de tela mostrando o servidor MCP Opentrons em ação com o Claude Desktop após perguntar sobre protocolos atuais com opentrons para o Flex, forneça o IP do robô!

Uma vez configurado, você pode usar linguagem natural para controlar seu robô:

Envie um protocolo:

Upload the protocol file at /path/to/my_protocol.py to my robot at 192.168.1.100

Verifique o status do robô:

Check if my robot at 192.168.1.100 is healthy and ready

Execute um protocolo:

List all protocols on my robot, then create and start a run for the latest one

Monitore o progresso:

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+
  • Robô Opentrons com API HTTP habilitada (porta 31950)
  • Conectividade de rede entre cliente e robô

Configuração do Robô

Certifique-se de que seu robô Opentrons esteja:

  1. Conectado à mesma rede que seu cliente
  2. Executando a versão 7.0.0+ do software do robô
  3. Acessível na porta 31950 (padrão para API HTTP)

Você pode verificar a conectividade visitando http://your-robot-ip:31950/health em um navegador.

Referência da API

Esta ferramenta fornece acesso à API HTTP Opentrons completa, incluindo:

  • Gerenciamento de Protocolos: Envie, analise e gerencie arquivos de protocolo
  • Gerenciamento de Execuções: Crie, controle e monitore execuções de protocolo
  • Controle de Hardware: Movimento do robô, centralização, iluminação e calibração
  • Gerenciamento do Sistema: Monitoramento de saúde, configurações e diagnósticos
  • Controle de Módulos: Módulos de temperatura, módulos magnéticos, termocicladores
  • Gerenciamento de Dados: Arquivos CSV para parâmetros de tempo de execução

Para documentação detalhada da API, use as ferramentas de busca e documentação fornecidas por este servidor MCP.

Solução de Problemas

Não é possível conectar ao robô

  • Verifique se o endereço IP do robô está correto
  • Certifique-se de que o robô esteja ligado e conectado à rede
  • Verifique se a porta 31950 está acessível
  • Confirme se o software do robô está em execução

Falha no envio do protocolo

  • Verifique se o caminho do arquivo existe e é legível
  • Certifique-se de que o arquivo de protocolo seja Python válido (.py) ou formato JSON
  • Verifique o espaço disponível em disco no robô
  • Confirme se o protocolo é compatível com o tipo de robô (OT-2 vs Flex)

Problemas de execução

  • Verifique se todos os consumíveis e módulos necessários estão conectados
  • Verifique o status de calibração do robô
  • Certifique-se de que a análise do protocolo foi concluída com sucesso
  • Confirme se não há erros ou conflitos de hardware

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar problemas e solicitações de pull.

Licença

Sem licença, vá com tudo

Projetos Relacionados