SlopScore
MCP serverDev toolsDraftCheck: flags AI-writing patterns in prose with fix hints. Deterministic linter, not a detector.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the slop check tool from SlopScore
Install SlopScore
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user slopscore 'https://slopscore-nine.vercel.app/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://slopscore-nine.vercel.app/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=slopscore&config=eyJ1cmwiOiJodHRwczovL3Nsb3BzY29yZS1uaW5lLnZlcmNlbC5hcHAvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://slopscore-nine.vercel.app/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add slopscore --url 'https://slopscore-nine.vercel.app/mcp'Run it once, then sign in with codex mcp login slopscore if the server asks for an account.
From the project's README
As published by kburrus64-max/slopscore in README.md.
Find the patterns that make writing read as AI-generated, and fix them before you publish.
SlopScore scans text for 20+ habits of machine-written prose: "it's not X, it's Y" contrasts, dramatic one-line closers, "let's dive in" openers, inflated significance ("a pivotal moment"), AI vocabulary ("delve", "seamless", "leverage"), em-dash overuse, bold-label bullet lists, and chatbot leftovers like "I hope this helps!". It returns a 0-100 score and points at every match with a short fix.
It's a linter, not a detector. It doesn't guess who wrote a text. It shows you the specific sentences readers will notice.
- Web app (free, runs in your browser): https://slopscore-nine.vercel.app
- Pattern guides with examples: https://slopscore-nine.vercel.app/patterns/
CLI
npx github:kburrus64-max/slopscore README.md docs/
(Not on npm yet. The unscoped slopscore name on npm belongs to a different project, so install from GitHub for now: npm i -D github:kburrus64-max/slopscore.)
FAIL 71 Pure slop docs/launch-post.md
1: Chatbot residue: "Great question"
3: Not X, but Y: "this isn't just a tool, it's"
3: Inflated significance: "marks a pivotal moment"
ok 4 Reads human docs/install.md
Options:
| flag | default | what it does |
|---|---|---|
--max <n> | 40 | exit 1 if any file scores above n |
--format text|json|github | text | github prints annotations for Actions |
--ext <list> | .md,.mdx,.txt,.html,.rst | extensions to scan inside directories |
--ignore <ids> | none | skip patterns, e.g. dash,triad |
--include-quoted | off | also flag text inside double quotes (quoted examples are skipped by default) |
--min-words <n> | 20 | skip very short files |
Code blocks, inline code, front matter, URLs and HTML tags are ignored, so READMEs with examples don't get flagged for their code. Read from stdin with -.
GitHub Action
name: SlopScore
on:
pull_request:
paths: ["**/*.md", "docs/**", "content/**"]
jobs:
slop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: kburrus64-max/slopscore@v1
with:
paths: "docs content README.md"
max: "40"
Each match shows up as an annotation on the changed line. The check fails when a file goes over max.
Agent skill
SlopScore ships as an Agent Skill for Claude Code, Cursor, Codex and other agents that read SKILL.md files. The skill tells the agent to score its draft, rewrite only the flagged spans, and re-check:
npx skills add kburrus64-max/slopscore
As a Claude Code plugin (skill plus the hosted MCP server), from inside Claude Code:
/plugin marketplace add kburrus64-max/slopscore
/plugin install slopscore@slopscore
Cursor can load the same repo as a plugin through .cursor-plugin/plugin.json.
Prompt-only writing skills such as humanizer and no-ai-slop tell an agent what to avoid; SlopScore gives it a deterministic check to run afterwards.
Library
import { analyze, PATTERNS } from "slopscore";
const r = analyze("Great question! Let's dive in.", { ignoreQuoted: false });
r.score; // 0-100
r.label; // "Reads human" | "A little sloppy" | "Sloppy" | "Pure slop"
r.matches; // [{ id, label, category, start, end, text, hint }]
No dependencies. Works in Node 18+ and the browser.
How scoring works
Each match has a strength. Strong tells (chatbot leftovers, not-X-but-Y, dramatic closers) count 3 points, medium tells 2, weak tells 1. Points are divided by text length (per 100 words, with a 100-word floor) and mapped to 0-100. Weak signals like a single em dash or one three-item list don't count unless stronger tells are also present, because careful human writers use them all the time.
The rules are regular expressions plus a sentence-shape check for rows of fragments. They are deterministic: the same text always gets the same score.
Limits
- English only for now.
- It flags patterns, not authorship. Plenty of human writing has a few of these, and a clean score doesn't prove a person wrote something.
- The CLI skips text inside double quotes, so style guides can quote bad examples. The web app and API count quoted text unless you pass
ignoreQuoted.
Hosted API
The web app has a free JSON API (POST /api/check, up to 5,000 characters), a URL scorer, and pay-per-call endpoints for longer documents and batches. See https://slopscore-nine.vercel.app/llms.txt.
Credits
The pattern list builds on Wikipedia's Signs of AI writing (WikiProject AI Cleanup) and two MIT-licensed agent skills: blader/humanizer and petergyang/no-ai-slop. The detection code and scoring here are original.
License
MIT © Anansi Data. See LICENSE.
Tools it offers (3)
What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
slop_checkslop_check_longslop_patterns
Signals
- Last commit
- Oct 2026
Advanced
- Delivery
- slopscore MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-kburrus64-max-slopscore- Source
- github.com/kburrus64-max/slopscore
- Hosted endpoint
https://slopscore-nine.vercel.app/mcp
github.com/kburrus64-max/slopscore