8 pontos por oozoofrog 2026-02-07 | 2 comentários | Compartilhar no WhatsApp

Olá, criei um MCP que permite a agentes de IA automatizar diretamente o simulador do iOS e apps do macOS.

Principais recursos:

• 32 ferramentas de automação de UI (toque, swipe, entrada de texto, captura de tela etc.)
• Alto desempenho com bridge nativa em Swift
• Suporte a Claude Code, Codex, Gemini, OpenCode e outros
Exemplos de uso:

• A IA executa automaticamente testes de UI do app
• Abrir deep links/URLs no simulador
• Automatização de instalação/execução/encerramento de apps
npx mcp-baepsae
GitHub: https://github.com/oozoofrog/mcp-baepsae
npm: https://npmjs.com/package/mcp-baepsae

Feedbacks são bem-vindos!

2 comentários

 
jongyeol 2026-02-08

Que bom saber que também funciona como app para macOS.
No iOS, eu estava usando até agora o https://github.com/joshuayoes/ios-simulator-mcp; será que há algum diferencial? (ex.: funciona mais rápido)

 
oozoofrog 2026-02-10

Olá, obrigado pelo interesse.

A maior diferença é que o ios-simulator-mcp controla o simulador via Facebook IDB, enquanto o baepsae chama diretamente as APIs do macOS em Swift. Por isso, ele pode ser usado sem instalar o IDB separadamente e, como você mencionou, também consegue controlar apps do macOS.

Também há algumas diferenças na parte de automação do simulador iOS:

  • Recursos que não existem no ios-simulator-mcp: entrada por teclado (incluindo combinações de atalhos), drag and drop, clique com o botão direito, área de transferência e controle de menus
  • A entrada de texto é livre, sem o limite de 500 caracteres ASCII, e na consulta da árvore de UI também há busca/filtro/paginação
  • A especificação do alvo também pode ser feita não só por UDID, mas também por bundle-id ou nome do app

Não fiz um benchmark direto de velocidade, mas como a arquitetura não passa pelo IDB, acredito que o overhead seja menor.

Por outro lado, o ios-simulator-mcp tem a vantagem de poder ser usado direto com npx, o que facilita a instalação. O baepsae exige um build em Swift, mas isso é feito automaticamente durante a instalação via npm.