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 buscamethod(opcional): Filtre por método HTTP (GET, POST, PUT, DELETE, PATCH)tag(opcional): Filtre por categoria da APIinclude_deprecated(opcional): Inclua endpoints obsoletos
get_endpoint_details
Obtenha detalhes abrangentes sobre um endpoint de API específico.
method(obrigatório): Método HTTPpath(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 clienterun_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 executadorun_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 controladaaction(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íficomount(opcional): "left" ou "right" (obrigatório se o alvo for "pipette")
Exemplos de Uso
Com o Claude Desktop
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:
- Conectado à mesma rede que seu cliente
- Executando a versão 7.0.0+ do software do robô
- 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