Skip to content

On-device AI detector scoring

AI Content Detector MCP for Claude, Codex, and Cursor

The Slop or Not MCP server lets Claude, Codex, Hermes Agent, OpenClaw, Cursor, and other agents call a local AI text detector, AI image detector, readability analyzer, and cleanup tool on your Mac.

Point your MCP client at the bundled slop mcp command. With Pro, Claude, Codex, Hermes Agent, OpenClaw, Cursor, and other agents can keep running local checks without per-call API metering.

Download on the App Store
Slop or Not MCP setup screen on Mac
Client setup snippets point at the bundled Mac app binary.
Local stdio server
Your MCP client starts the bundled slop binary and talks to it over stdio.
Six tools
Status, text detection, readability, cleanup, image detection, and raw image scoring.
Unlimited on-device checks
The MCP server ships with Pro. No daily check cap, no per-call metering, so agents can rerun text, image, readability, and cleanup checks as often as they need.

Client setup

How do I add Slop or Not to an MCP client?

Install the Mac app, activate Pro, then use the app-bundle snippet for your client. Claude, Codex, Hermes Agent, OpenClaw, and Cursor all point at the same local server. Set it up once and every agent session after that reuses it, with no reinstall and no new login.

Claude Code

Add Slop or Not as a user-scoped stdio server, restart Claude Code, then verify with /mcp.
claude mcp add --transport stdio --scope user SlopOrNot -- "/Applications/Slop Or Not.app/Contents/MacOS/slop" mcp

Claude Desktop

Use this JSON shape in ~/Library/Application Support/Claude/claude_desktop_config.json, then quit Claude Desktop fully and relaunch it.
{
  "mcpServers": {
    "SlopOrNot": {
      "command": "/Applications/Slop Or Not.app/Contents/MacOS/slop",
      "args": ["mcp"]
    }
  }
}

Codex

Run codex mcp add in Terminal, or add the server to ~/.codex/config.toml yourself. Restart Codex so it reads the new MCP server list.
codex mcp add SlopOrNot -- '/Applications/Slop Or Not.app/Contents/MacOS/slop' mcp

Prefer to edit the file? Add this to ~/.codex/config.toml instead:

[mcp_servers.SlopOrNot]
command = "/Applications/Slop Or Not.app/Contents/MacOS/slop"
args = ["mcp"]

Hermes Agent

Add Slop or Not as an MCP server in your Hermes Agent config, then restart Hermes Agent so it can call the local tools.
mcp_servers:
  SlopOrNot:
    command: "/Applications/Slop Or Not.app/Contents/MacOS/slop"
    args: ["mcp"]

OpenClaw

Register Slop or Not with the OpenClaw MCP CLI, then run mcp doctor with --probe to confirm the server answers.
openclaw mcp set slopornot '{"command":"/Applications/Slop Or Not.app/Contents/MacOS/slop","args":["mcp"]}'
openclaw mcp doctor slopornot --probe

Cursor

Add this to ~/.cursor/mcp.json for a global server, or .cursor/mcp.json at the project root for one project.
{
  "mcpServers": {
    "SlopOrNot": {
      "command": "/Applications/Slop Or Not.app/Contents/MacOS/slop",
      "args": ["mcp"]
    }
  }
}

Tool reference

What tools does the Slop or Not MCP server provide?

The server provides six tools for the checks agents usually need: status, text detection, readability, cleanup, image detection, and raw image scoring.

Every result below is real output, captured from Slop or Not 1.1.1 for Mac in August 2026 and abridged where marked.

slop_status

Check app and Pro status

Confirms the app is installed, the binary can run, and Pro is active before the agent starts a workflow.

View payload and result

Tool input

{}

Result shape

{
  "pro": true,
  "version": "1.1.1"
}
detect_text

Detect AI text

Scores a passage with the on-device AI text detection model and returns a verdict, score, language, sentence count, and readability metrics.

View payload and result

Tool input

{
  "text": "<text>",
  "include_readability": true,
  "language_code": "en",
  "locale": "en-US"
}

Result shape

{
  "kind": "result",
  "verdict": "most_likely_real",
  "score": 0.1259,
  "language": "en",
  "sentence_count": 2,
  "generator": null,
  "input_truncated": false,
  "readability": {
    "language": "en",
    "language_confidence": 0.9998,
    "scores": [
      { "kind": "fleschReadingEase", "value": 50.85, "label": "Fairly difficult", … },
      { "kind": "fleschKincaidGradeLevel", "value": 16.97, … }
    ],
    "word_count": 87,
    "sentence_count": 2,
    "avg_words_per_sentence": 43.5,
    "warnings": [ … ],
    "full": { "consensus": { … }, "genre": { … }, "grade_label": { … }, … }
  }
}
analyze_readability

Analyze readability

Computes reading-level metrics without running AI detection.

View payload and result

Tool input

{
  "text": "<text>",
  "language_code": "en",
  "locale": "en-US"
}

Result shape

{
  "language": "en",
  "language_confidence": 0.9998,
  "scores": [
    { "kind": "fleschReadingEase", "value": 50.85, "label": "Fairly difficult", … },
    { "kind": "fleschKincaidGradeLevel", "value": 16.97, … }
  ],
  "avg_words_per_sentence": 43.5,
  "sentence_count": 2,
  "word_count": 87,
  "warnings": [ … ],
  "full": { "consensus": { … }, "genre": { … }, "grade_label": { … }, … }
}
clean_text

Clean text artifacts

Strips zero-width characters, homoglyphs, and fancy punctuation before the next detection pass.

View payload and result

Tool input

{
  "text": "<text>",
  "language_code": "en",
  "remove_invisibles": true,
  "remove_punctuation": true,
  "remove_homoglyphs": true,
  "britishize": false
}

Result shape

{
  "cleaned_text": "He said \"hello\" - and left.",
  "language": "en",
  "removed_invisibles": 1,
  "punctuation_replacements": 3,
  "homoglyphs_replaced": 0,
  "british_substitutions": 0
}
detect_image

Detect AI images

Checks JPEG, PNG, HEIC, or WebP image bytes locally with C2PA and IPTC provenance reads and an on-device model fallback. The result names its detection_source, so an agent can tell a provenance hit from a model score.

View payload and result

Tool input

{
  "image_base64": "<base64>",
  "recognize_text": false
}

Result shape

{
  "kind": "result",
  "verdict": "probably_ai_slop",
  "score": 0.6429,
  "generator": null,
  "detection_source": "ml",
  "watermark_provider": null,
  "watermark_confidence": null,
  "recognized_text": null,
  "recognized_sentence_count": null
}
score_image

Score AI images

Returns the raw image-model score without the full provenance-aware image-detection response. Requires the AI image detection model to be installed.

View payload and result

Tool input

{
  "image_base64": "<base64>"
}

Result shape

{
  "raw_slop_score": 0.33984375
}

Verify

How do I verify the MCP server?

After restart, ask your agent to run slop_status. The expected result is a tool call that reports the local app and Pro state without an error. A call that needs Pro comes back as a tool error (isError: true) while the server keeps running, so one blocked call never ends the session.

{
  "pro": true,
  "version": "1.1.1"
}

Troubleshooting

Why do the snippets use the app-bundle path?

GUI agents can launch outside your login shell, where command names may not resolve. The snippets use the signed app-bundle path so each client starts the same bundled Slop or Not binary.

Local API

Can agents use this instead of a cloud AI detector API?

For agent workflows, yes. MCP gives Claude, Codex, Hermes Agent, OpenClaw, Cursor, and other clients a local tool interface instead of a hosted AI detector API. The client sends text or image data to the bundled Mac binary over stdio, and the check runs on your Mac.

Loop with agents

How does Slop or Not work with the agentic AI Humanizer skill?

The agentic AI Humanizer skill can run core rewriting and voice matching without Slop or Not. Connect it to Slop or Not with Pro active when you want MCP tools to score a baseline, run Text Cleanup before and after humanization, re-score with the on-device AI detector, and show cleanup stats. Your writing sample steers the rewrite; Slop or Not supplies local AI detector measurement.

Slop or Not returns a probability verdict, not proof of authorship. Results can vary with new AI models, short passages, and writing that was heavily edited by a human.