ReviseMy
Open-source human-in-the-loop design review tool that enables AI agents to upload UI screenshots for human feedback, with MCP tools for creating reviews, pinning notes, and getting structured feedback.
README
ReviseMy
Mark feedback for your agent.
ReviseMy is an open-source human-in-the-loop design review tool. Your agent uploads UI screenshots over Laravel MCP, you open a review link, mark what matters like a design critique, then approve or request changes. The agent reads structured work packets and keeps going.
Built with Laravel, Livewire, Flux, Sanctum, and Laravel MCP — ready for Laravel Cloud.
Features
- Marks, not pins — product UI speaks in marks (rose rectangles + M1/M2 badges). Human marks are authoritative; API keys stay
pinsfor compatibility. - Rectangle-first review — drag to outline a region or click for a point note; zoom with +/− and pan with Space+drag (or middle mouse).
- Second opinion (hints only) — Cloud-queued design checklist on every screenshot; optional OpenAI vision when keyed. Sky S-markers never override your marks.
- Agent subagent path —
add_findingsdrops suggestion / a11y / polish notes into the same review before you look. - Work packets +
next_action— agents know whether to wait, apply marks, open the next pass, or stop. - Multi-pass checkups —
create_reviewwithparent_idfor pass 2+ after you request changes. - Try token, no account — one-click token on the homepage; paste MCP config for Cursor, Claude Code, VS Code, or ChatGPT.
- Secret review links — humans open
/r/{token}without signing up.
Try it on any project (~2 minutes)
- Open the hosted app (your
*.laravel.cloudURL after deploy). - Click Get a try token.
- Copy the MCP config for your client (Cursor, Claude, VS Code, or ChatGPT).
- Ask your agent to screenshot UI work and call
create_review. - Open the review link, mark feedback, approve or request changes.
- Ask the agent to call
get_reviewand follownext_action.
No account required for the human reviewer.
MCP tools
| Tool | Purpose |
|---|---|
create_review |
title + screenshots (+ optional page_url, parent_id for next pass) → review URL; queues second opinion |
get_review |
work packets + next_action (wait_for_human / apply_pins_then_next_pass / done) |
list_reviews |
recent reviews for this try token |
add_screenshot |
append a shot to an open review |
add_findings |
agent subagent — push suggestion/a11y/polish into the review |
request_second_opinion |
re-queue Cloud checklist (+ vision if keyed) |
Prompt: design_checkup_loop — full agent↔human checkup cycle.
Screenshots accept https URLs, data URLs, or base64.
Terminology: UI copy uses marks; JSON still uses work_packets.pins, related_pin, and apply_pins_then_next_pass. Second opinion is suggestions only — see docs/SECOND-OPINION.md.
MCP config (Cursor example)
After you get a try token from the homepage:
{
"mcpServers": {
"revisemy": {
"url": "https://YOUR-APP.laravel.cloud/mcp/revisemy",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
The homepage also copies configs for Claude Code, VS Code (servers key), and ChatGPT. Same URL + Bearer header works for any MCP host — see docs/CONNECTORS.md.
REST API (same auth)
POST /api/try-token— create a try workspace + tokenPOST /api/reviews—{ "title", "context?", "page_url?", "parent_id?", "images": [...] }GET /api/reviews/{id}GET /api/reviewsPOST /api/reviews/{id}/screenshots—{ "image" }POST /api/reviews/{id}/findings—{ "findings": [...] }POST /api/reviews/{id}/second-opinion— optional{ "screenshot_index" }
Local development
composer install
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate
php artisan storage:link
npm install && npm run build
php artisan serve
Visit http://127.0.0.1:8000, get a try token, and create a review.
Deploy on Laravel Cloud
- Push this repo to GitHub.
- In Laravel Cloud: New application → import the repo.
- Attach Postgres and object storage.
- Set env:
APP_NAME=ReviseMyFILESYSTEM_DISK/REVISEMY_DISKto the Cloud object storage diskAPP_URLto yourhttps://….laravel.cloudURL- Queue worker enabled (
QUEUE_CONNECTION) - Optional
OPENAI_API_KEYfor vision second opinion
- Deploy. Run migrations from Cloud commands:
php artisan migrate --force - Reply to the contest with your
https://….laravel.cloudhomepage URL.
Self-host
Point MCP at your own origin. Use S3-compatible storage for screenshots in production. Rate limits and 7-day review expiry are built in.
Stack
- Laravel 13
- Livewire 4 + Flux UI
- Laravel MCP (web endpoint)
- Laravel Sanctum try tokens
- Postgres / SQLite + object storage
Docs
- CONNECTORS.md — Cursor / Claude / VS Code / ChatGPT packaging
- SECOND-OPINION.md — second opinion, agent subagent findings, work packets
- DEPLOY.md — Laravel Cloud contest deploy
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.