{"_id":"@0ju1c3/slop-cop","_rev":"7-04c2fa8058e2cf1b5876c16cc40a198c","name":"@0ju1c3/slop-cop","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"@0ju1c3/slop-cop","version":"1.0.1","keywords":["mcp","llm","prose","writing","slop","ai-detection","anthropic"],"author":{"name":"0ju1c3"},"license":"MIT","_id":"@0ju1c3/slop-cop@1.0.1","maintainers":[{"name":"0ju1c3","email":"otapadia@gmail.com"}],"homepage":"https://github.com/0ju1c3/slop-cop#readme","bugs":{"url":"https://github.com/0ju1c3/slop-cop/issues"},"dist":{"shasum":"6d788c6fbea9cf9e60ca85e9c140ebb2b2f89ffd","tarball":"https://registry.npmjs.org/@0ju1c3/slop-cop/-/slop-cop-1.0.1.tgz","fileCount":10,"integrity":"sha512-jxaw4X/+rWfCJbTn+njySp45tIRWUQabeL/uioZ2QynJ0F3pe0eNtzTSnPmqqLGuQNmXLUgZIW6TPZiyQ59hwg==","signatures":[{"sig":"MEQCIFxDvNRyqUV9SZLYjpsswNwrBWKa66/B26YUuph7eBQ7AiB7wHI5BKCxi1GYpLpIzJnHiZj+oGw/hZEqHqmqQbaiCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121962},"main":"index.js","type":"module","gitHead":"9dda84b040c7c9d233cef3785e4263062a4e0f54","scripts":{"lint":"biome lint src/","build":"tsc && chmod 755 build/index.js","check":"biome check src/","format":"biome format --write src/"},"_npmUser":{"name":"0ju1c3","email":"otapadia@gmail.com"},"repository":{"url":"git+https://github.com/0ju1c3/slop-cop.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server that detects and fixes LLM prose patterns (slop) in text","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^3.25.76","retext":"^9.0.0","compromise":"^14.15.0","@modelcontextprotocol/sdk":"^1.29.0","retext-indefinite-article":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.6.2","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/slop-cop_1.0.1_1778695715885_0.054495941925060576","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@0ju1c3/slop-cop","version":"1.0.2","keywords":["mcp","llm","prose","writing","slop","ai-detection","anthropic"],"author":{"name":"0ju1c3"},"license":"MIT","_id":"@0ju1c3/slop-cop@1.0.2","maintainers":[{"name":"0ju1c3","email":"otapadia@gmail.com"}],"homepage":"https://github.com/0ju1c3/slop-cop#readme","bugs":{"url":"https://github.com/0ju1c3/slop-cop/issues"},"bin":{"slop-cop":"build/index.js"},"dist":{"shasum":"1612339c345c081e3c452bcf8330aef5338bdce3","tarball":"https://registry.npmjs.org/@0ju1c3/slop-cop/-/slop-cop-1.0.2.tgz","fileCount":10,"integrity":"sha512-5kSw/tifWx3x1u83T2gpkp0i1TZOZbxPzg4NZEOMyec4Y9k2kcixSMZ5fLCL/Cj+r9CAtoOkZZy7qbjT+0IXLQ==","signatures":[{"sig":"MEUCIBsICEV+/+eYhxJQghhlW1StNuFJEkH89Rm8Dgp9tTDMAiEA4uHV5dwYfpZi/+030VfwhbIRk5iYYXMzcnAmbEmkPQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122017},"main":"build/index.js","type":"module","gitHead":"70adcb16cd924b1c6348417583dd58bf3b1558a3","scripts":{"lint":"biome lint src/","build":"tsc && chmod 755 build/index.js","check":"biome check src/","format":"biome format --write src/"},"_npmUser":{"name":"0ju1c3","email":"otapadia@gmail.com"},"repository":{"url":"git+https://github.com/0ju1c3/slop-cop.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server that detects and fixes LLM prose patterns (slop) in text","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^3.25.76","retext":"^9.0.0","compromise":"^14.15.0","@modelcontextprotocol/sdk":"^1.29.0","retext-indefinite-article":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.6.2","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/slop-cop_1.0.2_1778696013574_0.5404883800724554","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@0ju1c3/slop-cop","version":"1.0.3","keywords":["mcp","llm","prose","writing","slop","ai-detection","anthropic"],"author":{"name":"0ju1c3"},"license":"MIT","_id":"@0ju1c3/slop-cop@1.0.3","maintainers":[{"name":"0ju1c3","email":"otapadia@gmail.com"}],"homepage":"https://github.com/0ju1c3/slop-cop#readme","bugs":{"url":"https://github.com/0ju1c3/slop-cop/issues"},"bin":{"slop-cop":"build/index.js"},"dist":{"shasum":"319ba70d58e10fc9132fc0ffab50da0661bc44ab","tarball":"https://registry.npmjs.org/@0ju1c3/slop-cop/-/slop-cop-1.0.3.tgz","fileCount":10,"integrity":"sha512-oIlXHfafpl7gWnBWwN1dzYc5t9akN6ukLnX1FjrixsANNlpMNJVMIqyI/ax4Cds3/LcLz5nTpY4jYvpVC5Zozg==","signatures":[{"sig":"MEUCIFeo/ueCAKm29QiEpD5Nese2+5/Wzg07PhE/wPI+Dx8DAiEAvVnjI0/1fYLxFpPu2IgR04A8jNPl0ushyDq/gUIuLQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122037},"main":"build/index.js","type":"module","gitHead":"e564c2baa9cda63653d6d5749d729b9f8412f9b1","scripts":{"lint":"biome lint src/","build":"tsc && chmod 755 build/index.js","check":"biome check src/","format":"biome format --write src/"},"_npmUser":{"name":"0ju1c3","email":"otapadia@gmail.com"},"repository":{"url":"git+https://github.com/0ju1c3/slop-cop.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server that detects and fixes LLM prose patterns (slop) in text","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^3.25.76","retext":"^9.0.0","compromise":"^14.15.0","@modelcontextprotocol/sdk":"^1.29.0","retext-indefinite-article":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.6.2","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/slop-cop_1.0.3_1778696657752_0.42846207923296054","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@0ju1c3/slop-cop","version":"1.0.4","keywords":["mcp","llm","prose","writing","slop","ai-detection","anthropic"],"author":{"name":"0ju1c3"},"license":"MIT","_id":"@0ju1c3/slop-cop@1.0.4","maintainers":[{"name":"0ju1c3","email":"otapadia@gmail.com"}],"homepage":"https://github.com/0ju1c3/slop-cop#readme","bugs":{"url":"https://github.com/0ju1c3/slop-cop/issues"},"bin":{"slop-cop":"build/index.js"},"dist":{"shasum":"269f61b55126beb011a077f26efde3a242fb57d4","tarball":"https://registry.npmjs.org/@0ju1c3/slop-cop/-/slop-cop-1.0.4.tgz","fileCount":10,"integrity":"sha512-9Lzsrn3sARtil/YqpcGu8tK++zsBFuauK4mlcQMwbW/dGl48gDOt5qu5rWtuPBNX/W3s1nDR//TZECrflcs4PA==","signatures":[{"sig":"MEQCIFz5x1qNL+ip5CVKcEvoIhYiMmuwv0DKQckUFO6diK95AiAsGDP+H0MdwggEtq9UuJ0ZWbe9DLAl4rLAvyXiITSD7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120911},"main":"build/index.js","type":"module","gitHead":"05af0640ec3a621c9bb38a297c76b46bb9b3454a","scripts":{"lint":"biome lint src/","build":"tsc && chmod 755 build/index.js","check":"biome check src/","format":"biome format --write src/"},"_npmUser":{"name":"0ju1c3","email":"otapadia@gmail.com"},"repository":{"url":"git+https://github.com/0ju1c3/slop-cop.git","type":"git"},"_npmVersion":"11.9.0","description":"MCP server that detects and fixes LLM prose patterns (slop) in text","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^3.25.76","retext":"^9.0.0","compromise":"^14.15.0","@modelcontextprotocol/sdk":"^1.29.0","retext-indefinite-article":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^25.6.2","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/slop-cop_1.0.4_1778783980537_0.9215645324962123","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@0ju1c3/slop-cop","version":"1.0.5","description":"MCP server that detects and fixes LLM prose patterns (slop) in text","keywords":["mcp","llm","prose","writing","slop","ai-detection","anthropic"],"homepage":"https://github.com/0ju1c3/slop-cop#readme","bugs":{"url":"https://github.com/0ju1c3/slop-cop/issues"},"repository":{"type":"git","url":"git+https://github.com/0ju1c3/slop-cop.git"},"license":"MIT","author":{"name":"0ju1c3"},"type":"module","main":"build/index.js","bin":{"slop-cop":"build/index.js"},"scripts":{"build":"tsc && chmod 755 build/index.js","format":"biome format --write src/","lint":"biome lint src/","check":"biome check src/"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","compromise":"^14.15.0","retext":"^9.0.0","retext-indefinite-article":"^5.0.0","zod":"^3.25.76"},"devDependencies":{"@biomejs/biome":"^2.4.15","@types/node":"^25.6.2","typescript":"^6.0.3"},"gitHead":"1482c0e6ab400a32a7a23735954a6e0d6c02c91e","_id":"@0ju1c3/slop-cop@1.0.5","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-oWDhRtyKc2Y3ZwJEU4B2zeO2M52ye+0Ke1uF/PjEWYpZRQ3hMC2G6qPfQdjP/QTq/CM+krZaw/0KX9Pi3N1Lnw==","shasum":"6afb386d5de783694f94a77b677045d2301ae2cc","tarball":"https://registry.npmjs.org/@0ju1c3/slop-cop/-/slop-cop-1.0.5.tgz","fileCount":10,"unpackedSize":120854,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD/RmJJb9vHEH5LEg138Hkq6VdqqxofmAnkZXQZzlgGiQIgVlg4u7/x/PNtOp7gCuJYNjHvmlj/Eh+x00BpoyJZq0I="}]},"_npmUser":{"name":"0ju1c3","email":"otapadia@gmail.com"},"directories":{},"maintainers":[{"name":"0ju1c3","email":"otapadia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/slop-cop_1.0.5_1778865499487_0.9153325339987666"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-13T18:08:35.789Z","modified":"2026-05-15T17:18:19.821Z","1.0.0":"2026-05-13T17:57:42.898Z","1.0.1":"2026-05-13T18:08:36.057Z","1.0.2":"2026-05-13T18:13:33.780Z","1.0.3":"2026-05-13T18:24:18.009Z","1.0.4":"2026-05-14T18:39:40.703Z","1.0.5":"2026-05-15T17:18:19.702Z"},"bugs":{"url":"https://github.com/0ju1c3/slop-cop/issues"},"author":{"name":"0ju1c3"},"license":"MIT","homepage":"https://github.com/0ju1c3/slop-cop#readme","keywords":["mcp","llm","prose","writing","slop","ai-detection","anthropic"],"repository":{"type":"git","url":"git+https://github.com/0ju1c3/slop-cop.git"},"description":"MCP server that detects and fixes LLM prose patterns (slop) in text","maintainers":[{"name":"0ju1c3","email":"otapadia@gmail.com"}],"readme":"# Slop Cop - MCP Server\n\nAn MCP server that detects and fixes LLM prose patterns in text. It exposes tools to Claude Code, Claude Desktop, and any MCP-compatible host.\n\nBuilt on the detection engine and browser app [slop-cop](https://awnist.com/slop-cop) by [awnist](https://github.com/awnist) that highlights these patterns in real time.\n\n---\n\n## Setup\n\n### Claude Code\n\n```bash\nclaude mcp add slop-cop -- npx -y @0ju1c3/slop-cop@latest\n```\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"slop-cop\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@0ju1c3/slop-cop@latest\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop after saving.\n\n### Prerequisites\n\n- Node.js 18+\n\n---\n\n## Authentication\n\n`detect_slop` runs entirely locally — no API key, no credentials.\n\n`fix_slop` and `detect_slop_full` call the Anthropic API and require `ANTHROPIC_API_KEY`. Add it to your MCP server env config:\n\n**Claude Code:**\n```bash\nclaude mcp add slop-cop --env ANTHROPIC_API_KEY=sk-ant-... -- npx -y @0ju1c3/slop-cop@latest\n```\n\n**Claude Desktop / other hosts:**\n```json\n{\n  \"mcpServers\": {\n    \"slop-cop\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@0ju1c3/slop-cop@latest\"],\n      \"env\": { \"ANTHROPIC_API_KEY\": \"sk-ant-...\" }\n    }\n  }\n}\n```\n\n---\n\n## Tools\n\n### `detect_slop`\n\nFast, instant detection using 36 regex and NLP rules. No API call, runs locally.\n\n```\nUse detect_slop on: \"It is worth noting that this comprehensive solution\nwill fundamentally transform the landscape of modern development.\"\n```\n\nReturns a JSON array of violations:\n\n```json\n[\n  {\n    \"ruleId\": \"important-to-note\",\n    \"startIndex\": 0,\n    \"endIndex\": 18,\n    \"matchedText\": \"It is worth noting\",\n    \"ruleName\": \"\\\"It's Important to Note\\\"\",\n    \"category\": \"rhetorical\",\n    \"tip\": \"Delete the phrase and just say the thing.\"\n  },\n  {\n    \"ruleId\": \"elevated-register\",\n    \"matchedText\": \"fundamentally transform\",\n    \"suggestedChange\": \"\",\n    ...\n  }\n]\n```\n\n**Best for:** auditing prose, feeding violation data into a larger workflow, quick checks inside Claude Code sessions.\n\n---\n\n### `detect_slop_full`\n\nRuns all 36 client-side rules plus semantic analysis via the Anthropic API, catching the 12 patterns that require language understanding: sycophantic framing, throat-clearing, grandiose stakes, fractal summaries, and others.\n\n```\nUse detect_slop_full on: \"And yes, I'll be honest — this challenge will\ndefine the next era of computing for organizations that rise to meet it.\"\n```\n\nThe LLM tier catches what regex can't:\n- `false-vulnerability` — `\"And yes, I'll be honest\"` (performative candour)\n- `grandiose-stakes` — `\"define the next era of computing\"` (inflated significance)\n\n**Best for:** thorough audits of important prose before publishing.\n\n---\n\n### `fix_slop`\n\nDetects violations and fixes them in two phases:\n\n**Phase 1 — direct splices (instant, free):** Violations with a known replacement are applied as exact character-position substitutions — `\"fosters\"` → `\"builds\"`, `\"moving forward\"` → deleted, `\"utilize\"` → `\"use\"` — with no LLM call.\n\n**Phase 2 — targeted LLM rewrite (only if needed):** Violations that require sentence restructuring (predicate adjectives, negation pivots) are rewritten paragraph-by-paragraph with rule-specific directives.\n\n```\nUse fix_slop on: \"Ultimately, this transformative approach not only\nstreamlines workflows but also fosters a culture of innovation moving forward.\"\n```\n\nReturns: `\"This approach simplifies workflows and builds a culture of innovation.\"`\n\n**Best for:** cleaning up LLM-generated drafts before review, automating prose quality in content pipelines.\n\n---\n\n## Use Cases\n\n### Passive quality gate in Claude Code\n\nAdd to your project's `CLAUDE.md`:\n\n```markdown\nAfter generating any prose longer than 3 sentences, run detect_slop\non it and revise flagged violations before responding.\n```\n\nThis makes slop detection automatic. Claude audits its own output before you see it.\n\n### Pre-publish audit\n\nBefore publishing a blog post, release notes, documentation, or other content generated with Claude's help:\n\n```\nUse detect_slop_full on the following draft: [paste text]\n```\n\n### Content pipeline quality check\n\n`detect_slop` returns structured JSON with `ruleId`, `category`, `startIndex`, `endIndex`, and `suggestedChange`. Any script or agent that generates text can pipe it through `detect_slop` and fail if violation density exceeds a threshold.\n\n### Inline editing\n\nAsk Claude to run `fix_slop` on a specific paragraph you know sounds off. Phase 1 makes deterministic fixes; Phase 2 only fires if restructuring is needed.\n\n---\n\n## Patterns Detected\n\n### Client-side — instant (36 rules)\n\n| Pattern | What it catches |\n|---|---|\n| Overused Intensifier | `crucial`, `robust`, `pivotal`, `unprecedented`, `tapestry`, `nuanced`, `paradigm`, `leverage`, `delve`, and ~15 more |\n| Elevated Register | `utilize` → use, `commence` → start, `facilitate`, `endeavor`, `demonstrate`, `craft`, `moving forward` |\n| Filler Adverb | Sentence-opening `importantly`, `ultimately`, `essentially`, `fundamentally` |\n| \"Almost\" Hedge | `almost always`, `almost certainly`, `almost never` |\n| Era Opener | `In an era of…`, `In a world where…` |\n| Metaphor Crutch | `double-edged sword`, `game changer`, `north star`, `deep dive`, `paradigm shift`, `perfect storm` |\n| \"It's Important to Note\" | `it is important to note`, `it's worth noting`, `it should be noted` |\n| \"Broader Implications\" | `broader implications`, `wider implications` |\n| False Conclusion | `In conclusion`, `At the end of the day`, `To summarize`, `Moving forward` |\n| Connector Addiction | Paragraph-opening `Furthermore`, `Moreover`, `Additionally`, `However`, `That said` |\n| Unnecessary Contrast | `whereas`, `as opposed to`, `in contrast to`, `unlike` |\n| Em-Dash Pivot | Excessive `—` and `–` pivots |\n| Negation Pivot | `not X, but Y` / `not X — Y` constructions |\n| Colon Elaboration | Short setup clause followed by long colon elaboration |\n| Parenthetical Qualifier | Long parentheticals; comma-bracketed hedges (`of course`, `to be fair`, `admittedly`) |\n| Question-Then-Answer | Rhetorical question immediately answered in the next sentence |\n| Hedge Stack | Multiple epistemic hedges in one sentence (`perhaps`, `might`, `arguably`, `seemingly`) |\n| Staccato Burst | Three or more consecutive short sentences for dramatic effect |\n| Listicle Instinct | Bullet or numbered lists with exactly 3, 5, or 7 items |\n| \"Serves As\" Dodge | `serves as`, `stands as`, `acts as`, `functions as` |\n| \"Not X. Not Y. Just Z.\" | Consecutive negation sentences building to a reveal |\n| Anaphora Abuse | Three or more consecutive sentences with the same opener |\n| Gerund Fragment Litany | Consecutive short sentences starting with gerunds |\n| \"Here's the Kicker\" | `Here's the thing`, `Here's the kicker`, `Here's where it gets interesting` |\n| Pedagogical Aside | `Let's break this down`, `Let's unpack`, `Think of it as` |\n| \"Imagine a World Where\" | Hypothetical world-building openers |\n| Listicle in a Trench Coat | Prose disguising a list via `The first…`, `The second…` |\n| Vague Attribution | `experts argue`, `studies show`, `research suggests`, `many believe` |\n| Bold-First Bullets | Bullet items formatted `**Term**: explanation` |\n| Unicode Decoration | `→` used as a stylistic bullet or transition |\n| \"Despite Its Challenges\" | `Despite these challenges`, `Despite its limitations` |\n| Invented Concept Label | `the [word] paradox/trap/vacuum/inversion/chasm` — fake conceptual branding |\n| Dramatic Fragment | One-to-four-word standalone paragraph used for emphasis |\n| Superficial Analysis | `, [participle] its/the/their/this [importance/role/significance]` — empty summarizing phrase |\n| False Range | Hollow `from X to Y` constructions; `doesn't emerge from nowhere` |\n| Triple Construction | Exactly three parallel items: `X, Y, and Z` — the LLM default |\n\n### Semantic — sentence-level (9 rules, via Claude Haiku)\n\nThroat-Clearing Opener · Sycophantic Frame · Balanced Take · Unnecessary Elaboration · Empathy Performance · Pivot Paragraph · Grandiose Stakes · Historical Analogy Stack · False Vulnerability\n\n### Semantic — document-level (3 rules, via Claude Haiku)\n\nDead Metaphor · One-Point Dilution · Fractal Summaries\n\n---\n\n## How It Works\n\nDetection runs in two tiers:\n\n**Client-side (36 rules):** Regex, structural analysis, and NLP via [compromise](https://github.com/spencermountain/compromise). Runs entirely locally. It's instant, requires no API calls, and costs nothing.\n\n**Semantic (12 rules):** API call to `claude-haiku-4-5-20251001`. Only runs when you call `detect_slop_full` or when `fix_slop` needs to restructure a sentence that a direct splice can't fix.\n\n`fix_slop` applies all deterministic string splices first, at no cost, then calls the LLM only for violations that require sentence restructuring. Many texts are fully fixed in Phase 1 alone.\n\n### AI Detection Flow\n\n`detect_slop_full` and `fix_slop` call an LLM in two steps:\n\n**MCP sampling first.** The server calls `sampling/createMessage` to ask the MCP host to run a model on its behalf, as the MCP spec defines. Claude Code and Claude Desktop don't currently implement this; both return `-32601: Method not found`. The attempt is kept for forward compatibility with compliant hosts.\n\n**Direct Anthropic API as fallback.** When sampling fails, the server calls the Anthropic API directly with `claude-haiku-4-5-20251001` using `ANTHROPIC_API_KEY`. If the key is not set, the tool returns a clear error.\n\n---\n\n## Building from Source\n\n```bash\ngit clone https://github.com/0ju1c3/slop-cop\ncd slop-cop\nnpm install\nnpm run build   # compiles TypeScript → build/\n```\n\nTo use the local build instead of the npm package:\n\n**Claude Code:**\n```bash\nclaude mcp add slop-cop -- node /path/to/slop-cop/build/index.js\n```\n\n**Claude Desktop:**\n```json\n{\n  \"mcpServers\": {\n    \"slop-cop\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/slop-cop/build/index.js\"]\n    }\n  }\n}\n```\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n\nDetection engine derived from [slop-cop](https://awnist.com/slop-cop) by [awnist](https://github.com/awnist), MIT licensed.\n\nPattern taxonomy based on [LLM_PROSE_TELLS.md](https://git.eeqj.de/sneak/prompts/src/branch/main/prompts/LLM_PROSE_TELLS.md), [Wikipedia: Signs of AI Writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), and [tropes.md](https://tropes.fyi/tropes-md).\n","readmeFilename":"README.md"}