Let your coding agent unslop it.
Unslop Me has a free public JSON API and a remote MCP server, so AI coding agents like Cursor, Claude Code, Windsurf and Claude Desktop can check how designed a site looks (and which AI tells to fix) without leaving the editor.
MCP server
Endpoint: https://unslop-me-production.up.railway.app/mcp (streamable HTTP, stateless, no auth). Also reachable at https://unslop-me.vercel.app/mcp.
Tools:
unslop_scan(url): scans a public URL (about 20 seconds) and returns the Slop Score (0-100, where 100 = looks designed and each tell subtracts), each tell with evidence and a fix, copy-paste fix prompts for Cursor/Claude Code and for Lovable/Bolt/v0, a suggested design system, before/after screenshot links, and a link to the full $15 redesign pack.unslop_tells(): returns the checklist of 13 AI design tells with how each is detected, its weight and its fix. Instant. Good as a pre-flight check while building UI.
Cursor
Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):
{
"mcpServers": {
"unslop": {
"url": "https://unslop-me-production.up.railway.app/mcp"
}
}
}
Then in Agent chat: "Use unslop_scan on https://myapp.vercel.app and fix the top three tells in this codebase."
Claude Code
claude mcp add --transport http unslop https://unslop-me-production.up.railway.app/mcp
Then: "Run unslop_tells and check src/pages/Landing.tsx against it."
Claude Desktop, and clients that only speak stdio
Use the mcp-remote bridge:
{
"mcpServers": {
"unslop": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://unslop-me-production.up.railway.app/mcp"
]
}
}
}
Or run the zero-dependency stdio server from the repo (mcp/index.mjs, Node 18+), which proxies to the same API:
{
"mcpServers": {
"unslop": {
"command": "node",
"args": [
"/path/to/unslopme/mcp/index.mjs"
]
}
}
}
VS Code, Windsurf and others
Any client that supports remote MCP servers over streamable HTTP can point at https://unslop-me-production.up.railway.app/mcp with no headers.
JSON API
Base URL: https://unslop-me-production.up.railway.app. OpenAPI spec: /openapi.json. No key needed.
POST /api/scan
curl -s -X POST https://unslop-me-production.up.railway.app/api/scan \
-H 'content-type: application/json' \
-d '{"url":"https://myapp.lovable.app"}'
Returns id, url, score, verdict, tells[] (key, name, points, evidence, fix), fonts, before/after/mobile screenshot URLs, redesign (HTML of the redesigned hero), prompts (system, palette, fonts, lovable, cursor) and seconds.
Errors: 400 bad or private URL, 429 rate limited, 502 the site failed to load, 504 it took longer than 30 seconds.
GET /api/scan/{id}
curl -s https://unslop-me-production.up.railway.app/api/scan/0123456789
Fetches a previous result. Results are kept for about 7 days.
GET /api/tells
The checklist and scoring weights as JSON.
GET /api/public
Every public score page on the leaderboard, as JSON.
Limits and fair use
- 10 scans per hour per IP, shared between the API and the MCP
unslop_scantool. Over the limit you get HTTP 429 (or an MCP tool error saying so). - Up to 2 scans run at once; extra requests queue.
- Only public
http(s)URLs. Private, local and internal addresses are refused. - Scans are not published anywhere unless someone presses "Share your score" in the web app.
- Need more volume? Get in touch: unslopme@tutamail.com.
Also
/llms.txtand/llms-full.txtfor LLM-friendly docs/.well-known/ai-plugin.jsonand/.well-known/mcp.json- Cursor rules for UI design: pairs well with the MCP server.