ReviseMy
Provides optional vision-based second opinion on UI screenshots when an OpenAI API key is configured, enhancing review feedback with AI-generated suggestions.
Click 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., "@ReviseMyCreate a review with the latest dashboard screenshot"
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.
ReviseMy
Mark feedback for your agent.
ReviseMy is an open-source human-in-the-loop design review tool. Your agent captures UI, websites, slides, or email from screenshots, a URL, PDF, or HTML 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) — Free type-aware checklist in the sidebar on every screenshot; optional Claude/OpenAI vision when keyed draws dashed regions on the capture. Sky S-markers never override your marks — accept or dismiss them in the review UI.
Review types —
ui,website,presentation(Slide in the UI), oremail: each gets its own checklist and vision lens (emails get CTA/dark-mode/client checks, slides get slide-density checks, sites get above-the-fold/responsive checks).Four ways to ingest —
images(https URL, data URL, or base64),capture_url+page_url(desktop + mobile screenshots),pdf(one shot per page), or rawhtml(email at ~600px). URL capture also stores a DOM snapshot for grounding.Before/after evidence — agents attach an
after_imagewhen resolving a mark; the review page and board show a before/after crop next to the resolution note.Mark lifecycle + board —
/r/{token}/boardgroups marks Open → In progress → Resolved → Verified. Agents callresolve_marksas they fix code; only the human verifies or reopens. When marks await verify, the review page surfaces an Awaiting your verify focus (with verify-all).Thread comments — reply on a mark without moving it on the canvas; recent comments land in
get_reviewwork packets for the agent.Suggested copy + question answers — optional exact-copy strings and answers on question marks ship in work packets so agents don’t invent wording.
Agent subagent path —
add_findingsdrops suggestion / a11y / polish notes into the same review before you look. Accept/dismiss (including batch and accept-as severity) promotes hints to marks with provenance (guest/checklist/vision/agent).Work packets +
next_action— agents know whether to wait, apply marks, open the next pass, or stop.Pass ledger — multi-pass reviews show a revision ledger (decisions, mark counts, after evidence) in the UI and in
get_review.Multi-pass checkups —
create_reviewwithparent_idfor pass 2+ after you request changes (type and webhook inherit from the parent).Decision webhooks — optional
webhook_urloncreate_review; ReviseMy POSTs a signedreview.decidedevent when the human approves or requests changes, so CI/CD can gate without polling.Guest share links —
guest_share_urllets stakeholders leave suggestions (not authoritative marks); the owner accepts or dismisses them.Token-scoped recent reviews —
/reviewsand enrichedlist_reviewsshow pass #, outstanding counts, and awaiting-verification without an account (same try token).MCP Apps inline review — in hosts that support MCP Apps (Claude web/desktop, Copilot, …),
create_review/get_reviewrender the review inline so humans can mark and decide without leaving chat. Cursor and Claude Code use thereview_urllink instead.Try token, no account — one-click token on the homepage; paste MCP config for ChatGPT, Claude, Copilot, Cursor, or Grok.
Secret review links — humans open
/r/{token}without signing up.Live updates (optional) — Laravel Reverb for realtime board/mark updates; without it the UI polls gracefully.
Related MCP server: vibe-annotations
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 (ChatGPT, Claude, Copilot, Cursor, or Grok).
Ask your agent to capture the work (screenshot, URL, PDF slides, or email HTML) and call
create_review.Open the review link (or use inline MCP Apps if your host supports it), mark feedback, approve or request changes.
Ask the agent to call
get_reviewand follownext_action— or listen on yourwebhook_urlif you set one.
No account required for the human reviewer.
MCP tools
Tool | Purpose |
| title + one source — |
| work packets + |
| recent reviews for this try token (summaries: status, pass, outstanding / awaiting-verification counts — call |
| append a shot to an open review |
| agent subagent — push suggestion/a11y/polish into the review |
| agent progress on human marks: |
| refresh checklist (+ vision if keyed) |
| MCP Apps UI only — human leaves a mark inline (agents must not call) |
| MCP Apps UI only — human approves or requests changes |
| MCP Apps UI only — human verifies or reopens a resolved mark |
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. Webhooks and MCP Apps details — see docs/CONNECTORS.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 Desktop, Copilot, Claude Code, and ChatGPT/Grok hints. 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?", "type?", "page_url?", "parent_id?", "webhook_url?", "images"|"capture_url"|"pdf"|"html" }GET /api/reviews/{id}GET /api/reviewsPOST /api/reviews/{id}/screenshots—{ "image" }POST /api/reviews/{id}/findings—{ "findings": [...] }POST /api/reviews/{id}/marks/resolve— same payload asresolve_marksPOST /api/reviews/{id}/second-opinion— optional{ "screenshot_index" }
Local development
composer setup # install, .env, key, migrate, npm build
composer dev # server + queue + logs + vite (all-in-one)Or step by step:
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 serveRun a queue worker (php artisan queue:listen) only if you are testing decision webhooks or other queued jobs locally. Vision second opinion does not need one.
Visit http://127.0.0.1:8000, get a try token, and create a review.
Tests
composer test # 122 testsKey suites for contributors:
File | What it covers |
|
|
| MCP Apps UI tools ( |
| same ingestion paths via REST |
| try token, guest share, findings, multi-pass loop |
MCP tests use ReviseMyServer::actingAs($user)->tool(...) — no Cursor config required.
Deploy on Laravel Cloud
Push this repo to GitHub.
In Laravel Cloud: New application → import the repo.
Attach Postgres and object storage (do not use SQLite on Cloud — it does not persist across deploys).
Set env:
APP_NAME=ReviseMyFILESYSTEM_DISK/REVISEMY_DISKto the Cloud object storage diskAPP_URLto yourhttps://….laravel.cloudURLQueue worker optional (
QUEUE_CONNECTION) — not required for vision second opinionOptional
ANTHROPIC_API_KEY(orOPENAI_API_KEY) for the vision second opinion —REVISEMY_VISION_PROVIDER=autoprefers Claude when both are set. Just the key; no worker needed.Optional free local vision: run Ollama, set
REVISEMY_VISION_PROVIDER=openai,REVISEMY_OPENAI_BASE_URL=http://localhost:11434/v1, andREVISEMY_OPENAI_MODEL=llama3.2-vision(blank key is fine). Local/OSS models give helpful hints, not Claude/GPT-4o quality.Optional
REVISEMY_CAPTURE_DRIVER=hosted+REVISEMY_CAPTURE_ENDPOINT/REVISEMY_CAPTURE_KEY(Browserless-compatible API) for server-side URL/email/PDF capture — Cloud containers have no Chrome, so use the hosted driver thereOptional
REVISEMY_CAPTURE_DPR=2(default) — retina URL captures via BrowserlessdeviceScaleFactorOptional Reverb (
BROADCAST_CONNECTION=reverb+REVERB_*/VITE_REVERB_*) for live updates — without it the UI polls
Deploy. Run migrations from Cloud commands:
php artisan migrate --force
See docs/DEPLOY.md for Postgres pooler tips, Neon wake timeouts, and contest checklist.
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.
For free pixel vision without a cloud API key, point REVISEMY_OPENAI_BASE_URL at Ollama (or another OpenAI-compatible /v1 host) as in .env.example.
Stack
Laravel 13
Livewire 4 + Flux UI
Laravel MCP (HTTP at
/mcp/revisemy)Laravel Sanctum try tokens
SQLite (local) / Postgres (production) + object storage
Laravel Reverb (optional realtime)
Docs
CONNECTORS.md — ChatGPT / Claude / Cursor / Grok setup, MCP Apps inline review, decision webhooks
SECOND-OPINION.md — second opinion, agent subagent findings, work packets
DEPLOY.md — Laravel Cloud deploy
/llms.txt— agent-oriented site index (on your deployed origin)/sitemap.xml— public pages for search engines/changelog— versioned release notes
Version bumps
Product SemVer lives in config/revisemy.php. To cut a release: php artisan revisemy:bump {major|minor|patch} [--title=…] → fill highlights in config/changelog.php → commit (and tag if you want). The homepage badge, MCP app, and /changelog read that version automatically.
License
O'Saasy License — see LICENSE. Use, fork, and contribute freely; hosted SaaS rights are reserved for the copyright holder.
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 Servers
- Flicense-qualityDmaintenanceHuman-to-AI code review bridge. Annotate UI elements in the browser with review comments, and AI agents read the feedback via MCP to fix code automatically — with full element context (CSS selector, styles, DOM path, accessibility info). 10 MCP tools, framework-agnostic Web Component, zero-config install via uvx.Last updated9
- Flicense-qualityAmaintenanceMCP server that exposes web page annotations to AI coding agents, enabling automated implementation of visual feedback and design tweaks.Last updated16120
- Alicense-qualityDmaintenanceA local-first markdown review tool with MCP integration, enabling AI and humans to collaboratively annotate documents inline and generate revision prompts.Last updated1MIT
- AlicenseAqualityAmaintenanceOpen-source, bidirectional Figma agent for MCP clients — a free alternative to Figma's Dev Mode MCP. Reads designs with high-fidelity grounding and writes back to the canvas: frames, text, auto-layout, styles, variables, and components. 92 tools, no API token, no paid Figma seat.Last updated100326MIT
Related MCP Connectors
Human feedback for AI agents: share HTML, get a live review link, read anchored notes as markdown.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
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/heyderekj/revisemy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server