Sorify
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SorifyRun the regression suite and notify me if any tests fail"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
★ Automate: Automate browser testing, using claude, codex - with skills, mcp, test runners & dashboard.
★ Chrome Extension: Capture browser actions, send to AI to write tests, upload, self heal.
★ Webhooks: 3 types of bi-directional integrations. Trigger runs remotely, or trigger Github Actions or HTTP webhook pre/post a run from Sorify.
★ Schedule: In built scheduler to run automated browser tasks.
✴︎ Test Management: Organize test suites and test cases, run them on demand or on a schedule.
✴︎ Test Runners: Playwright-powered execution with full run history.
✴︎ Notifications: Get notified when suites finish or fail.
✴︎ Cookie Manager: Sorify supports per-suite cookie injection from UI, MCP and chrome extension.
✴︎ User Management: Roles, permissions, and per-user IAM.
✴︎ MCP Server: Low token consumption over MCP layer, control all aspects of tests cases, code.
✴︎ Agent Plugins: Claude/Codex plugins included - zero-code test code management.
Feature Matrix
Feature | MCP | Dashboard | CI Webhook |
Suites: list / get / create / update / delete / duplicate | ✅ | ✅ | - |
Suite schedule: update / delete | ✅ | ✅ | - |
Suite cookies: upload | ✅ | ✅ | - |
Suite integrations: GitHub Action / HTTP request (configure pre/post run hooks) | ✅ | ✅ | - |
Suite bookmarks: list / toggle | ✅ | ✅ | - |
Suite members: list / add / update / remove | ✅ | ✅ | - |
Tests: list / get / create / update / update code / delete / duplicate | ✅ | ✅ | - |
Tests: bulk-create / bulk-delete | ✅ | ✅ | - |
Tests: toggle enabled / disabled | ✅ | ✅ | - |
Runs: trigger / list / get / cancel / delete | ✅ | ✅ | - |
Runs: status | ✅ | ✅ | ✅ |
Runs: logs | ✅ | ✅ | - |
Screenshots: list / get | ✅ | ✅ | - |
Recorder: chrome extension events | ✅ | - | - |
Suite webhook token: regenerate | - | ✅ | - |
Test code-version: restore | - | ✅ | - |
Login / register / logout / password reset | - | ✅ | - |
Profile: update name / password | - | ✅ | - |
Dashboard analytics (stats, recent runs) | - | ✅ | - |
Admin: manage users (create, list, role, delete, reset password) | - | ✅ | - |
Related MCP server: MCP Pytest Server
AI Usage
claude /plugin marketplace add https://github.com/rakutentech/sorify.git
codex plugin marketplace add https://github.com/rakutentech/sorify.gitSKILL 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 twiceAI Healing
/sorify:gateway why my test is failing <name of test>
/sorify:gateway why my test is failing <or-link-to-test>SKILL 2 - In-Built QA Skills
# 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...>OR SKILL BYO - Bring your own QA Skills
/my:qa:skill Create detailed tests <...>
...then /sorify:gateway once done - upload, run and invetigate failed testsChrome Recorder - Record, Capture, Generate, upload (Chrome extension)
This is a chrome extension that works in hybrid mode optionally. While browsing it records browser events, and stores into a file. The sequence of events then can be picked up by AI to better write the test code, works well when more context about the project, such as source code is complemented.
Generate tests from a real recorded session instead of DOM exploration — chrome-mcp-playwright sorify-recorder-mcp
♢ 1. Install the mcp
curl -fsSL https://raw.githubusercontent.com/rakutentech/sorify/master/mcp/install-mcp.sh | sh♢ 2. Load the Chrome extension
chrome://extensions/ → enable "Developer mode" → "Load unpacked" → select extension/ folder
we don't have npx, sorry
♢ 3. Start the recorder
Sorify recorder should start automatically, when you launch claude/codex.
You can check using /mcp → plugin:sorify:sorify-recorder
If not, then start the listener at:
~/.sorify-bin/sorify-recorder-mcpNo 4. Click the extension icon → Connect → Start recording

Perform the clicks/inputs you want turned into a test, then Stop recording.
Tip: to check the port lsof -nP -iTCP:7420 -sTCP:LISTEN
No 5. Generate tests
/sorify:recording latestQuick Start
Development (local)
Option 1 - Simple
# Update: APP_KEY, DB_PASSWORD, MYSQL_ROOT_PASSWORD
cp .env.example .env
composer setup
php artisan devOption 2 - Detailed
npm run dev
php artisan serve
php artisan queue:work --queue=sorify,default
php artisan schedule:workSelf Hosting
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 upVerify
http://localhost:8000/sorifyUser: admin@sorify.local
Password: changeme
Notes for users
Fully self hosted, no telemetry
What your AI does in yolo mode is your responsibility
Files and folders on your system, that this system creates/requires
~/.sorify: your credentials~/.sorify-bin/: chrome extension mcp~/.sorify-recordings/: chrome extension mcp's events recordings
Envs info
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.phpIntegrations
Sorify Webhook: Trigger Sorify run/runs from outside
HTTP Webhook: Trigger HTTP from sorify - pre/post run
Github Action Webhook: Trigger Github action from sorify - pre/post run. Details below:
GitHub, GHES, GHEC integrations
GitHub Apps are managed under Admin → GitHub Apps (dashboard). Used for either login or triggering actions from Sorify.
To register an app, follow the walkthrough on the dashboard itself: Admin → GitHub Apps → "How to register".
A workflow dispatched by Sorify looks like this:
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 }}"Owners
Contribution
Raise an issue or PR to
master
License
Licensed under the Apache License, Version 2.0.
The Chrome extension in extension/ is licensed separately
under the BSD 3-Clause License, which prohibits
publishing it (or a derivative) under the "Sorify Recorder" name without
permission. See extension/README.md for details.
CHANGE LOG
v1 - Intial Release
v1.1 - Batteries added on user management, mcp enhancement
v1.2 - Chrome Extension to record and write playwright tests
v1.3 - Skills updated, MS Teams notifications links to a screenshot, dashboard has admin editable msg
v1.4 - Manage users from MCP.
v1.5 - i18n support for English and Japanese for now.
v1.6 - i18n support for Malay, Simplified Chinese. Extension captures file uploads, iframes, tabs, network. oAuth login, with Avatar. Duplicate a test suite (background copy of tests) and duplicate a test case, available on the dashboard and via MCP (
duplicate_suite,duplicate_test).v1.7 - Cookies support, variables support.
v1.8 - MCP supports runs. Auto redirect after login page. Support for one time CI webhook and who ran the CI.
v1.9 - Chrome extension memory leak fix. Support pre/post webhooks for multiple connectors.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseAqualityFmaintenanceQA Sphere MCP server that enables Large Language Models to interact directly with test management system test cases, supporting AI-powered development workflows and test case discovery.1532023MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP-compliant server that enables the execution of pytest test suites and the storage of results into a QA platform database. It allows AI models to trigger test runs, track execution progress, and retrieve historical test data through specialized tool interfaces.1-
- FlicenseNot gradedqualityDmaintenanceThis MCP server enables intelligent API testing automation by combining RAG knowledge retrieval with tool execution capabilities. It allows QA engineers to perform natural language-driven API testing with contextual knowledge support.-
- AlicenseAqualityCmaintenanceAn MCP server that connects AI agents to TestOps, enabling test case management, launches, defects, and analytics through natural language.4831MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rakutentech/sorify'
If you have feedback or need assistance with the MCP directory API, please join our Discord server