For agents · API & MCP

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_scan tool. 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

Rather click a button?

The same scan in the browser, free.

Scan your site free →