Sorify MCP

Sorify - Plataforma de QA Agêntica com IA para agentes de IA. Testes de IA E2E - gerenciamento completo de usuários, executor de testes, webhook de CI, agendador, notificações, MCP para execuções de testes, criação e gerenciamento. Com extensão do Chrome e MCP para gravação de eventos para a IA escrever testes.

Documentação

Plataforma de testes de navegador e automação de próxima geração, AI First
&

Baixo consumo de tokens
Feito para Agentes de IA - Claude/Codex

Feito para desenvolvedores
Gerencie todo o workspace através do MCP

Crie automações de navegador poderosas
Com agendador

Integrações bidirecionais de webhooks
E um bônus: Extensão do Chrome, com MCP

Sorify screenshot

Automatize: Automatize testes de navegador usando claude, codex - com skills, mcp, executores de teste e painel.

Extensão do Chrome: Capture ações do navegador, envie para a IA escrever testes, envie, auto-corrija.

Webhooks: 3 tipos de integrações bidirecionais. Dispare execuções remotamente, ou dispare Github Actions ou webhooks HTTP antes/depois de uma execução do Sorify.

Agendador: Agendador integrado para executar tarefas automatizadas de navegador.

✴︎ Gerenciamento de Testes: Organize suítes e casos de teste, execute-os sob demanda ou em um agendamento.

✴︎ Executores de Teste: Execução com tecnologia Playwright e histórico completo de execuções.

✴︎ Notificações: Seja notificado quando as suítes terminarem ou falharem.

✴︎ Gerenciador de Cookies: O Sorify suporta injeção de cookies por suíte pela interface, MCP e extensão do Chrome.

✴︎ Gerenciamento de Usuários: Papéis, permissões e IAM por usuário.

✴︎ Servidor MCP: Baixo consumo de tokens na camada MCP, controle todos os aspectos dos casos de teste e código.

✴︎ Plugins de Agente: Plugins Claude/Codex incluídos - gerenciamento de código de teste sem código.


Sorify screenshot

Matriz de Recursos

RecursoMCPPainelCI Webhook
Suítes: listar / obter / criar / atualizar / excluir / duplicar-
Agendamento de suíte: atualizar / excluir-
Cookies de suíte: enviar-
Integrações de suíte: GitHub Action / requisição HTTP (configurar hooks pré/pós execução)-
Favoritos de suíte: listar / alternar-
Membros de suíte: listar / adicionar / atualizar / remover-
Testes: listar / obter / criar / atualizar / atualizar código / excluir / duplicar-
Testes: criação em massa / exclusão em massa-
Testes: alternar habilitado / desabilitado-
Execuções: disparar / listar / obter / cancelar / excluir-
Execuções: status
Execuções: logs-
Capturas de tela: listar / obter-
Gravador: eventos da extensão do Chrome--
Token de webhook de suíte: regenerar--
Versão de código de teste: restaurar--
Login / registro / logout / redefinição de senha--
Perfil: atualizar nome / senha--
Análises do painel (estatísticas, execuções recentes)--
Admin: gerenciar usuários (criar, listar, papel, excluir, redefinir senha)--

Uso de IA

claude /plugin marketplace add https://github.com/rakutentech/sorify.git
codex plugin marketplace add https://github.com/rakutentech/sorify.git

Sorify workflow

SKILL 1 - Sorify MCP

╰─$ cat ~/.sorify
SORIFY_URL=http://localhost:8000/sorify
SORIFY_USERNAME=admin@sorify.local
SORIFY_PASSWORD=changeme
/sorify:gateway Create a test suite called "Awesome App"
/sorify:gateway List latest failing tests

/sorify:gateway Create new test suite. Get requirements from JIRA/GHE/Excel. Write using /sorify:generate
/sorify:gateway Update the test suite http://localhost:8000/sorify/suites/{id} by adding retry twice

Auto-correção de IA

/sorify:gateway why my test is failing <name of test>
/sorify:gateway why my test is failing <or-link-to-test>

SKILL 2 - Skills de QA Integradas

# Tests from source code (git)
/sorify:generate Scan my code and generate tests for <github.com/your/repo>

# Tests from source code (path)
/sorify:generate Scan my code and generate tests for </path/to/your/source>

# Tests from url (remote)
/sorify:generate Crawl site and generate tests for https://rakuten.co.jp

# Tests from url (local)
/sorify:generate Crawl site and generate tests for http://localhost:3000/my-awesome-app

# Tests from requirements
/sorify:generate Read requirements here <link to docs> <path to docs> <raw paste>
<you got the idea...>

OU SKILL BYO - Traga suas próprias Skills de QA

/my:qa:skill Create detailed tests <...>
...then /sorify:gateway once done - upload, run and invetigate failed tests

Gravador do Chrome - Grave, Capture, Gere, envie (Extensão do Chrome)

Esta é uma extensão do Chrome que funciona em modo híbrido opcionalmente. Enquanto navega, ela grava eventos do navegador e os armazena em um arquivo. A sequência de eventos pode então ser usada pela IA para escrever melhor o código de teste, funcionando bem quando mais contexto sobre o projeto, como código-fonte, é complementado.

Gere testes a partir de uma sessão real gravada em vez de exploração de DOM — chrome-mcp-playwright sorify-recorder-mcp

♢ 1. Instale o mcp

curl -fsSL https://raw.githubusercontent.com/rakutentech/sorify/master/mcp/install-mcp.sh | sh

♢ 2. Carregue a extensão do Chrome

chrome://extensions/ → habilite "Modo do desenvolvedor" → "Carregar sem compactação" → selecione a pasta extension/

não temos npx, desculpe

♢ 3. Inicie o gravador

O gravador do Sorify deve iniciar automaticamente quando você iniciar o claude/codex. Você pode verificar usando /mcpplugin:sorify:sorify-recorder

Se não, então inicie o ouvinte em:

~/.sorify-bin/sorify-recorder-mcp

No 4. Clique no ícone da extensão → Conectar → Iniciar gravação

Chrome extension recorder

Execute os cliques/entradas que você deseja transformar em um teste, depois pare a gravação.

Dica: para verificar a porta lsof -nP -iTCP:7420 -sTCP:LISTEN

No 5. Gere testes

/sorify:recording latest

Início Rápido

Desenvolvimento (local)

Opção 1 - Simples

# Update: APP_KEY, DB_PASSWORD, MYSQL_ROOT_PASSWORD
cp .env.example .env

composer setup
php artisan dev

Opção 2 - Detalhada

npm run dev
php artisan serve
php artisan queue:work --queue=sorify,default
php artisan schedule:work

Auto-hospedagem

cp .env.docker.example .env.docker
# Update: APP_KEY, DB_PASSWORD, MYSQL_ROOT_PASSWORD
# Change: APP_ENV=prod for prod ready
docker compose --env-file .env.docker up

Verificar

http://localhost:8000/sorify

Notas para usuários

  • Totalmente auto-hospedado, sem telemetria
  • O que sua IA faz no modo yolo é de sua responsabilidade
  • Arquivos e pastas no seu sistema que este sistema cria/exige
    • ~/.sorify: suas credenciais
    • ~/.sorify-bin/: mcp da extensão do Chrome
    • ~/.sorify-recordings/: gravações de eventos do mcp da extensão do Chrome

Informações de envs

APP_URL=https://<your-host>/sorify
ASSET_URL=https://<your-host>/sorify

# Sorify App related
SORIFY_SCREENSHOT_RETENTION_DAYS=30
DB_QUEUE_RETRY_AFTER=300

# For local, check logs for invite email for new users
MAIL_MAILER=smtp
MAIL_SCHEME=null
MAIL_HOST=<your-mail-host>

# More sorify settings, see envs in config/sorify.php

Integrações

  1. Webhook do Sorify: Dispare execução/execuções do Sorify de fora
  2. Webhook HTTP: Dispare HTTP do sorify - pré/pós execução
  3. Webhook do Github Action: Dispare ação do Github do sorify - pré/pós execução. Detalhes abaixo:

Sorify workflow

Integrações GitHub, GHES, GHEC

Os GitHub Apps são gerenciados em Admin → GitHub Apps (painel). Usados para login ou para disparar ações do Sorify.

Para registrar um app, siga o passo a passo no próprio painel: Admin → GitHub Apps → "Como registrar".

Um workflow despachado pelo Sorify se parece com isto:

on:
  workflow_dispatch:
    inputs:
      # Injected by Sorify — do not edit
      sorify_run_id:
        type: string
      sorify_suite_id:
        type: string
      # and so on. Custom add from - sorify's suite/{id} > settings

jobs:
  sorify:
    name: Sorify
    steps:
      - name: Show Sorify context
        run: |
          echo "sorify_run_id=${{ github.event.inputs.sorify_run_id }}"

Mantenedores

MarikoKikugawa
MarikoKikugawa
asghar-ahmed
asghar-ahmed
HiromichiHagiwara
HiromichiHagiwara
kevincobain2000
kevincobain2000
pulkit-kathuria
pulkit-kathuria
chetra-tep
chetra-tep
chetratep
chetratep

Contribuição

  • Abra uma issue ou PR em master

Licença

Licenciado sob a Apache License, Versão 2.0.

A extensão do Chrome em extension/ é licenciada separadamente sob a Licença BSD 3-Clause, que proíbe publicá-la (ou um derivado) sob o nome "Sorify Recorder" sem permissão. Veja extension/README.md para detalhes.

LOG DE ALTERAÇÕES

  • v1 - Lançamento inicial
  • v1.1 - Baterias adicionadas no gerenciamento de usuários, aprimoramento do mcp
  • v1.2 - Extensão do Chrome para gravar e escrever testes playwright
  • v1.3 - Skills atualizadas, links de notificações do MS Teams para uma captura de tela, painel com mensagem editável pelo admin
  • v1.4 - Gerencie usuários pelo MCP.
  • v1.5 - Suporte i18n para inglês e japonês por enquanto.
  • v1.6 - Suporte i18n para malaio, chinês simplificado. A extensão captura uploads de arquivos, iframes, abas, rede. Login oAuth, com Avatar. Duplique uma suíte de testes (cópia em segundo plano dos testes) e duplique um caso de teste, disponível no painel e via MCP (duplicate_suite, duplicate_test).
  • v1.7 - Suporte a cookies, suporte a variáveis.
  • v1.8 - MCP suporta execuções. Redirecionamento automático após a página de login. Suporte para webhook de CI único e quem executou o CI.
  • v1.9 - Correção de vazamento de memória da extensão do Chrome. Suporte a webhooks pré/pós para múltiplos conectores.