Sorify MCP

Sorify - Plataforma de QA Agéntica con IA para agentes de IA. Pruebas E2E con IA: gestión completa de usuarios, ejecutor de pruebas, webhook de CI, programador, notificaciones, MCP para ejecuciones de pruebas, creación y gestión. Con extensión de Chrome y MCP para grabar eventos y que la IA escriba pruebas.

Documentación

Próxima generación AI First - Pruebas de navegador
& plataforma de automatización de navegador

Bajo consumo de tokens
Construido para Agentes de IA - Claude/Codex

Construido para desarrolladores
Gestiona todo el espacio de trabajo a través de MCP

Crea potentes automatizaciones de navegador
Con programador de tareas

Integraciones de webhooks bidireccionales
Y un extra Extensión de Chrome, con MCP

Sorify screenshot

Automatiza: Automatiza pruebas de navegador, usando claude, codex - con habilidades, mcp, ejecutores de pruebas y panel de control.

Extensión de Chrome: Captura acciones del navegador, envía a IA para escribir pruebas, sube, auto-repara.

Webhooks: 3 tipos de integraciones bidireccionales. Dispara ejecuciones remotamente, o dispara Github Actions o webhooks HTTP antes/después de una ejecución desde Sorify.

Programación: Programador integrado para ejecutar tareas automatizadas de navegador.

✴︎ Gestión de Pruebas: Organiza suites de pruebas y casos de prueba, ejecútalos bajo demanda o en un horario.

✴︎ Ejecutores de Pruebas: Ejecución impulsada por Playwright con historial completo de ejecuciones.

✴︎ Notificaciones: Recibe notificaciones cuando las suites terminan o fallan.

✴︎ Gestor de Cookies: Sorify soporta inyección de cookies por suite desde la interfaz, MCP y la extensión de Chrome.

✴︎ Gestión de Usuarios: Roles, permisos e IAM por usuario.

✴︎ Servidor MCP: Bajo consumo de tokens sobre la capa MCP, controla todos los aspectos de los casos de prueba y código.

✴︎ Plugins de Agente: Plugins de Claude/Codex incluidos - gestión de código de prueba sin código.


Sorify screenshot

Matriz de Funciones

FunciónMCPPanel de ControlWebhook CI
Suites: listar / obtener / crear / actualizar / eliminar / duplicar-
Programación de suite: actualizar / eliminar-
Cookies de suite: subir-
Integraciones de suite: GitHub Action / solicitud HTTP (configurar hooks pre/post ejecución)-
Marcadores de suite: listar / alternar-
Miembros de suite: listar / agregar / actualizar / eliminar-
Pruebas: listar / obtener / crear / actualizar / actualizar código / eliminar / duplicar-
Pruebas: crear en lote / eliminar en lote-
Pruebas: alternar habilitado / deshabilitado-
Ejecuciones: disparar / listar / obtener / cancelar / eliminar-
Ejecuciones: estado
Ejecuciones: registros-
Capturas de pantalla: listar / obtener-
Grabador: eventos de extensión de Chrome--
Token de webhook de suite: regenerar--
Versión de código de prueba: restaurar--
Iniciar sesión / registrarse / cerrar sesión / restablecer contraseña--
Perfil: actualizar nombre / contraseña--
Analíticas del panel (estadísticas, ejecuciones recientes)--
Administrador: gestionar usuarios (crear, listar, rol, eliminar, restablecer contraseña)--

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

HABILIDAD 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-reparación de IA

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

HABILIDAD 2 - Habilidades 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...>

O HABILIDAD BYO - Trae tus propias Habilidades de QA

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

Grabador de Chrome - Grabar, Capturar, Generar, subir (extensión de Chrome)

Esta es una extensión de Chrome que funciona en modo híbrido opcionalmente. Mientras navegas, graba eventos del navegador y los almacena en un archivo. La secuencia de eventos luego puede ser recogida por IA para escribir mejor el código de prueba, funciona bien cuando se complementa con más contexto sobre el proyecto, como el código fuente.

Genera pruebas desde una sesión real grabada en lugar de exploración DOM — chrome-mcp-playwright sorify-recorder-mcp

♢ 1. Instala el mcp

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

♢ 2. Carga la extensión de Chrome

chrome://extensions/ → habilita "Modo desarrollador" → "Cargar descomprimida" → selecciona la carpeta extension/

no tenemos npx, lo sentimos

♢ 3. Inicia el grabador

El grabador de Sorify debería iniciarse automáticamente cuando lances claude/codex. Puedes verificarlo usando /mcpplugin:sorify:sorify-recorder

Si no, entonces inicia el listener en:

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

No 4. Haz clic en el ícono de la extensión → Conectar → Iniciar grabación

Chrome extension recorder

Realiza los clics/entradas que quieras convertir en una prueba, luego Detén la grabación.

Consejo: para verificar el puerto lsof -nP -iTCP:7420 -sTCP:LISTEN

No 5. Genera pruebas

/sorify:recording latest

Inicio Rápido

Desarrollo (local)

Opción 1 - Simple

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

composer setup
php artisan dev

Opción 2 - Detallada

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

Autoalojamiento

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 usuarios

  • Totalmente autoalojado, sin telemetría
  • Lo que tu IA hace en modo yolo es tu responsabilidad
  • Archivos y carpetas en tu sistema, que este sistema crea/requiere
    • ~/.sorify: tus credenciales
    • ~/.sorify-bin/: mcp de la extensión de Chrome
    • ~/.sorify-recordings/: grabaciones de eventos del mcp de la extensión de Chrome

Información 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

Integraciones

  1. Webhook de Sorify: Dispara ejecución/ejecuciones de Sorify desde fuera
  2. Webhook HTTP: Dispara HTTP desde sorify - pre/post ejecución
  3. Webhook de Github Action: Dispara acción de Github desde sorify - pre/post ejecución. Detalles abajo:

Sorify workflow

Integraciones de GitHub, GHES, GHEC

Las Apps de GitHub se gestionan bajo Admin → GitHub Apps (panel de control). Se usan para iniciar sesión o disparar acciones desde Sorify.

Para registrar una app, sigue el tutorial en el propio panel: Admin → GitHub Apps → "Cómo registrar".

Un flujo de trabajo enviado por Sorify se ve así:

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 }}"

Propietarios

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

Contribución

  • Abre un issue o PR en master

Licencia

Licenciado bajo la Apache License, Version 2.0.

La extensión de Chrome en extension/ está licenciada por separado bajo la BSD 3-Clause License, que prohíbe publicarla (o un derivado) bajo el nombre "Sorify Recorder" sin permiso. Consulta extension/README.md para más detalles.

REGISTRO DE CAMBIOS

  • v1 - Lanzamiento inicial
  • v1.1 - Baterías agregadas en gestión de usuarios, mejora de mcp
  • v1.2 - Extensión de Chrome para grabar y escribir pruebas de playwright
  • v1.3 - Habilidades actualizadas, enlaces de notificaciones de MS Teams a una captura de pantalla, el panel tiene mensaje editable por admin
  • v1.4 - Gestiona usuarios desde MCP.
  • v1.5 - Soporte i18n para inglés y japonés por ahora.
  • v1.6 - Soporte i18n para malayo, chino simplificado. La extensión captura subidas de archivos, iframes, pestañas, red. Inicio de sesión oAuth, con Avatar. Duplica una suite de pruebas (copia en segundo plano de pruebas) y duplica un caso de prueba, disponible en el panel y vía MCP (duplicate_suite, duplicate_test).
  • v1.7 - Soporte de cookies, soporte de variables.
  • v1.8 - MCP soporta ejecuciones. Redirección automática después de la página de inicio de sesión. Soporte para webhook CI de una sola vez y quién ejecutó el CI.
  • v1.9 - Corrección de fuga de memoria en la extensión de Chrome. Soporte de webhooks pre/post para múltiples conectores.