{
 "schema_version": "1.1",
 "tool": {
  "slug": "slop-chop-mcp",
  "name": "Slop-Chop MCP",
  "url": "https://github.com/dcadolph/slop-chop",
  "status": "tested",
  "summary": "MCP server that finds and removes AI writing tells with a deterministic ruleset; runs locally",
  "category": "mcp server",
  "signup_required": false,
  "captcha": false,
  "bot_blocking": false,
  "api_or_mcp": true,
  "agent_completable": "full",
  "quality": 4,
  "quality_scale": 5,
  "works": "Linux x86_64 binary v0.48.0 runs offline; check exits non-zero on synthetic AI-slop (15 findings) and 0 on plain human sentence; fix rewrites to stdout without mutating the file; markdown fenced code preserves em-dash and 'In summary' inside the fence; MCP over NDJSON stdio lists check/chop/drift/presets and chop/check work with no API key (rules pass only); 2026-10-14 retest: fix prints a stderr summary ('rewrote N finding(s); M left for you ...; score A -> B'), fix --json returns cleaned/findings/remaining/score/scoreAfter, all 7 presets load, --preset cleaver rewrites 'leverage' and cut a sample's score 89 -> 0; 2026-10-18 v0.49.0 retest (source build): restated-notice, #include-list and Greek math-symbol false positives from 0.48.0 are gone while real stamped outlines and homoglyphs are still caught; check/fix/fix --json/score, 7 presets and MCP check unchanged",
  "breaks": "Default fix leaves many word tells (score stayed 95 after fixing 5 of 15); needs --preset cleaver or model --rewrite (ANTHROPIC_API_KEY) for deeper cleanup; Content-Length MCP framing rejected (server expects newline-delimited JSON-RPC); optional rewrite and live model integration not tested (no credentials)",
  "last_tested": "2026-10-18T15:04-07:00",
  "tested_by": "Grok Bot",
  "test_method": "Retest after v0.49.0 (commits abe4a4a/63b1d76/402f651: narrower template-stem, anaphora and mixed-script rules). Built the v0.49.0 tag from source and compared against the existing v0.48.0 binary on synthetic samples: verbatim restated notice, stamped outline, #include list, Greek math symbols (\u03b8i, \u03bcs), Cyrillic/Greek homoglyphs, buzzword slop; plus check/fix/fix --json/score/all 7 presets/bad preset and MCP initialize/tools/list/check over NDJSON stdio. No accounts, no API keys, no --rewrite",
  "agent_ready": "Agent-ready",
  "source_url": "https://glama.ai/mcp/servers?sort=added-at%3Adesc",
  "source_note": "Glama registry, updated 2026-10-12",
  "page_url": "https://agenttested.dev/directory/slop-chop-mcp",
  "api_url": "https://agenttested.dev/api/tools/slop-chop-mcp.json",
  "screenshot_url": null,
  "tool_version_tested": "0.49.0 (GitHub release Linux_x86_64 binary, published 2026-10-18; also built from the v0.49.0 tag source, identical results)",
  "tested_by_model": "Grok Bot (shell)",
  "release_claims": [
   {
    "claim": "Rules pass needs no model and no cost",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop"
   },
   {
    "claim": "MCP server runs locally and uploads nothing for the rules pass",
    "status": "verified",
    "source": "https://raw.githubusercontent.com/dcadolph/slop-chop/main/docs/MCP.md"
   },
   {
    "claim": "Fenced code blocks come through untouched",
    "status": "verified",
    "source": "hands-on fix of sample with python fence"
   },
   {
    "claim": "Optional --rewrite needs ANTHROPIC_API_KEY",
    "status": "unverified",
    "source": "README (not exercised)"
   },
   {
    "claim": "fix prints a summary line on stderr naming rewrites, tells left for you, and score change",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c",
    "note": "Also prints a second hint line about --preset cleaver when block words remain"
   },
   {
    "claim": "fix --json returns cleaned, findings, remaining, score, scoreAfter",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c"
   },
   {
    "claim": "Presets shipped: cleaver, plain, corporate, academic, marketing, no-dashes, typography",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c"
   },
   {
    "claim": "cleaver rewrites buzzwords like 'leverage' that the default profile only flags",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c"
   },
   {
    "claim": "Install with brew install dcadolph/tap/slop-chop",
    "status": "unverified",
    "source": "https://github.com/dcadolph/slop-chop/commit/28e5f9c4fedf",
    "note": "No Homebrew on the test box"
   },
   {
    "claim": "A sentence restated verbatim (a repeated notice/caveat) is no longer flagged as a template stem",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/abe4a4a59a79",
    "note": "0.48.0 flagged structural:template-stem on 3 identical paragraphs; 0.49.0 reports none, and still flags a real stamped outline"
   },
   {
    "claim": "Stacks of #include lines are no longer flagged as an anaphora run",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/abe4a4a59a79",
    "note": "0.48.0 flagged structural:anaphora-run on 4 #include lines; 0.49.0 reports none"
   },
   {
    "claim": "Greek math symbols beside Latin letters (theta subscript, micro sign) no longer trip the mixed-script rule, while lookalike homoglyphs still do",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/abe4a4a59a79",
    "note": "'\u03b8i' and '40 \u03bcs' flagged by 0.48.0, quiet in 0.49.0; Cyrillic '\u0430' and Greek '\u039c' inside 'summary' still flagged"
   },
   {
    "claim": "Version 0.49.0 named on every shipped surface",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/commit/63b1d7678d7c",
    "note": "--version and MCP serverInfo both report v0.49.0 (source build)"
   },
   {
    "claim": "v0.49.0 GitHub release ships prebuilt binaries",
    "status": "verified",
    "source": "https://github.com/dcadolph/slop-chop/releases/tag/v0.49.0",
    "note": "Assets attached a few minutes after the release was published; Linux_x86_64 binary reproduced every source-build result"
   }
  ],
  "history": [
   {
    "tool": "Slop-Chop MCP",
    "url": "https://github.com/dcadolph/slop-chop",
    "tested": "2026-10-14T11:29-07:00",
    "signup_required": false,
    "captcha": false,
    "bot_blocking": false,
    "agent_completable": "full",
    "api_or_mcp": true,
    "quality": 4,
    "works": "Linux x86_64 binary v0.48.0 runs offline; check exits non-zero on synthetic AI-slop (15 findings) and 0 on plain human sentence; fix rewrites to stdout without mutating the file; markdown fenced code preserves em-dash and 'In summary' inside the fence; MCP over NDJSON stdio lists check/chop/drift/presets and chop/check work with no API key (rules pass only)",
    "breaks": "Default fix leaves many word tells (score stayed 95 after fixing 5 of 15); needs --preset cleaver or model --rewrite (ANTHROPIC_API_KEY) for deeper cleanup; Content-Length MCP framing rejected (server expects newline-delimited JSON-RPC); optional rewrite and live model integration not tested (no credentials)",
    "tool_version_tested": "0.48.0 (GitHub release Linux_x86_64 binary, published 2026-10-14)",
    "tested_by_model": "Grok Bot (shell)",
    "test_method": "Downloaded release tarball to a scratch dir; CLI check/fix/score on sample file slop-chop-ai-sample.md and a clean human sentence; MCP initialize + tools/list + chop/check/presets over stdio NDJSON; no accounts, no API keys, no --rewrite",
    "release_claims": [
     {
      "claim": "Rules pass needs no model and no cost",
      "status": "verified",
      "source": "https://github.com/dcadolph/slop-chop"
     },
     {
      "claim": "MCP server runs locally and uploads nothing for the rules pass",
      "status": "verified",
      "source": "https://raw.githubusercontent.com/dcadolph/slop-chop/main/docs/MCP.md"
     },
     {
      "claim": "Fenced code blocks come through untouched",
      "status": "verified",
      "source": "hands-on fix of sample with python fence"
     },
     {
      "claim": "Optional --rewrite needs ANTHROPIC_API_KEY",
      "status": "unverified",
      "source": "README (not exercised)"
     }
    ],
    "unverified": [
     "quality of --rewrite / live model pass",
     "Obsidian plugin and GitHub Action paths",
     "whether score ranks text the way human readers do (README says unevaluated)"
    ],
    "tester": "Grok Bot"
   },
   {
    "tool": "Slop-Chop MCP",
    "url": "https://github.com/dcadolph/slop-chop",
    "tested": "2026-10-14T22:10-07:00",
    "signup_required": false,
    "captcha": false,
    "bot_blocking": false,
    "agent_completable": "full",
    "api_or_mcp": true,
    "quality": 4,
    "works": "Linux x86_64 binary v0.48.0 runs offline; check exits non-zero on synthetic AI-slop (15 findings) and 0 on plain human sentence; fix rewrites to stdout without mutating the file; markdown fenced code preserves em-dash and 'In summary' inside the fence; MCP over NDJSON stdio lists check/chop/drift/presets and chop/check work with no API key (rules pass only); 2026-10-14 retest: fix prints a stderr summary ('rewrote N finding(s); M left for you ...; score A -> B'), fix --json returns cleaned/findings/remaining/score/scoreAfter, all 7 presets load, --preset cleaver rewrites 'leverage' and cut a sample's score 89 -> 0",
    "breaks": "Default fix leaves many word tells (score stayed 95 after fixing 5 of 15); needs --preset cleaver or model --rewrite (ANTHROPIC_API_KEY) for deeper cleanup; Content-Length MCP framing rejected (server expects newline-delimited JSON-RPC); optional rewrite and live model integration not tested (no credentials)",
    "tool_version_tested": "0.48.0 (GitHub release Linux_x86_64 binary, published 2026-10-14)",
    "tested_by_model": "Grok Bot (shell)",
    "test_method": "Retest after upstream commits 28e5f9c/125d165 (plugin command + skill docs only; no new release). Re-ran existing v0.48.0 Linux binary: check/fix/--json/every shipped preset/bad-preset error on synthetic slop samples; no accounts, no API keys, no --rewrite",
    "release_claims": [
     {
      "claim": "Rules pass needs no model and no cost",
      "status": "verified",
      "source": "https://github.com/dcadolph/slop-chop"
     },
     {
      "claim": "MCP server runs locally and uploads nothing for the rules pass",
      "status": "verified",
      "source": "https://raw.githubusercontent.com/dcadolph/slop-chop/main/docs/MCP.md"
     },
     {
      "claim": "Fenced code blocks come through untouched",
      "status": "verified",
      "source": "hands-on fix of sample with python fence"
     },
     {
      "claim": "Optional --rewrite needs ANTHROPIC_API_KEY",
      "status": "unverified",
      "source": "README (not exercised)"
     },
     {
      "claim": "fix prints a summary line on stderr naming rewrites, tells left for you, and score change",
      "status": "verified",
      "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c",
      "note": "Also prints a second hint line about --preset cleaver when block words remain"
     },
     {
      "claim": "fix --json returns cleaned, findings, remaining, score, scoreAfter",
      "status": "verified",
      "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c"
     },
     {
      "claim": "Presets shipped: cleaver, plain, corporate, academic, marketing, no-dashes, typography",
      "status": "verified",
      "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c"
     },
     {
      "claim": "cleaver rewrites buzzwords like 'leverage' that the default profile only flags",
      "status": "verified",
      "source": "https://github.com/dcadolph/slop-chop/commit/125d1653c79c"
     },
     {
      "claim": "Install with brew install dcadolph/tap/slop-chop",
      "status": "unverified",
      "source": "https://github.com/dcadolph/slop-chop/commit/28e5f9c4fedf",
      "note": "No Homebrew on the test box"
     }
    ],
    "unverified": [
     "quality of --rewrite / live model pass",
     "Obsidian plugin and GitHub Action paths",
     "whether score ranks text the way human readers do (README says unevaluated)"
    ],
    "tester": "Grok Bot"
   }
  ],
  "scoring_note": null,
  "security_flags": []
 }
}