slop-cop

slop-cop

Detects and fixes LLM prose patterns in text, exposing tools for auditing and improving writing quality in MCP-compatible hosts.

Category
访问服务器

README

Slop Cop - MCP Server

An MCP server that detects and fixes LLM prose patterns in text. It exposes tools to Claude Code, Claude Desktop, and any MCP-compatible host.

Built on the detection engine and browser app slop-cop by awnist that highlights these patterns in real time.


Setup

Claude Code

claude mcp add slop-cop -- npx -y @0ju1c3/slop-cop@latest

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "slop-cop": {
      "command": "npx",
      "args": ["-y", "@0ju1c3/slop-cop@latest"]
    }
  }
}

Restart Claude Desktop after saving.

Prerequisites

  • Node.js 18+

Authentication

detect_slop runs entirely locally — no API key, no credentials.

fix_slop and detect_slop_full call the Anthropic API and require ANTHROPIC_API_KEY. Add it to your MCP server env config:

Claude Code:

claude mcp add slop-cop --env ANTHROPIC_API_KEY=sk-ant-... -- npx -y @0ju1c3/slop-cop@latest

Claude Desktop / other hosts:

{
  "mcpServers": {
    "slop-cop": {
      "command": "npx",
      "args": ["-y", "@0ju1c3/slop-cop@latest"],
      "env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
    }
  }
}

Tools

detect_slop

Fast, instant detection using 36 regex and NLP rules. No API call, runs locally.

Use detect_slop on: "It is worth noting that this comprehensive solution
will fundamentally transform the landscape of modern development."

Returns a JSON array of violations:

[
  {
    "ruleId": "important-to-note",
    "startIndex": 0,
    "endIndex": 18,
    "matchedText": "It is worth noting",
    "ruleName": "\"It's Important to Note\"",
    "category": "rhetorical",
    "tip": "Delete the phrase and just say the thing."
  },
  {
    "ruleId": "elevated-register",
    "matchedText": "fundamentally transform",
    "suggestedChange": "",
    ...
  }
]

Best for: auditing prose, feeding violation data into a larger workflow, quick checks inside Claude Code sessions.


detect_slop_full

Runs 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.

Use detect_slop_full on: "And yes, I'll be honest — this challenge will
define the next era of computing for organizations that rise to meet it."

The LLM tier catches what regex can't:

  • false-vulnerability — "And yes, I'll be honest" (performative candour)
  • grandiose-stakes — "define the next era of computing" (inflated significance)

Best for: thorough audits of important prose before publishing.


fix_slop

Detects violations and fixes them in two phases:

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.

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.

Use fix_slop on: "Ultimately, this transformative approach not only
streamlines workflows but also fosters a culture of innovation moving forward."

Returns: "This approach simplifies workflows and builds a culture of innovation."

Best for: cleaning up LLM-generated drafts before review, automating prose quality in content pipelines.


Use Cases

Passive quality gate in Claude Code

Add to your project's CLAUDE.md:

After generating any prose longer than 3 sentences, run detect_slop
on it and revise flagged violations before responding.

This makes slop detection automatic. Claude audits its own output before you see it.

Pre-publish audit

Before publishing a blog post, release notes, documentation, or other content generated with Claude's help:

Use detect_slop_full on the following draft: [paste text]

Content pipeline quality check

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.

Inline editing

Ask 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.


Patterns Detected

Client-side — instant (36 rules)

Pattern What it catches
Overused Intensifier crucial, robust, pivotal, unprecedented, tapestry, nuanced, paradigm, leverage, delve, and ~15 more
Elevated Register utilize → use, commence → start, facilitate, endeavor, demonstrate, craft, moving forward
Filler Adverb Sentence-opening importantly, ultimately, essentially, fundamentally
"Almost" Hedge almost always, almost certainly, almost never
Era Opener In an era of…, In a world where…
Metaphor Crutch double-edged sword, game changer, north star, deep dive, paradigm shift, perfect storm
"It's Important to Note" it is important to note, it's worth noting, it should be noted
"Broader Implications" broader implications, wider implications
False Conclusion In conclusion, At the end of the day, To summarize, Moving forward
Connector Addiction Paragraph-opening Furthermore, Moreover, Additionally, However, That said
Unnecessary Contrast whereas, as opposed to, in contrast to, unlike
Em-Dash Pivot Excessive — and – pivots
Negation Pivot not X, but Y / not X — Y constructions
Colon Elaboration Short setup clause followed by long colon elaboration
Parenthetical Qualifier Long parentheticals; comma-bracketed hedges (of course, to be fair, admittedly)
Question-Then-Answer Rhetorical question immediately answered in the next sentence
Hedge Stack Multiple epistemic hedges in one sentence (perhaps, might, arguably, seemingly)
Staccato Burst Three or more consecutive short sentences for dramatic effect
Listicle Instinct Bullet or numbered lists with exactly 3, 5, or 7 items
"Serves As" Dodge serves as, stands as, acts as, functions as
"Not X. Not Y. Just Z." Consecutive negation sentences building to a reveal
Anaphora Abuse Three or more consecutive sentences with the same opener
Gerund Fragment Litany Consecutive short sentences starting with gerunds
"Here's the Kicker" Here's the thing, Here's the kicker, Here's where it gets interesting
Pedagogical Aside Let's break this down, Let's unpack, Think of it as
"Imagine a World Where" Hypothetical world-building openers
Listicle in a Trench Coat Prose disguising a list via The first…, The second…
Vague Attribution experts argue, studies show, research suggests, many believe
Bold-First Bullets Bullet items formatted **Term**: explanation
Unicode Decoration → used as a stylistic bullet or transition
"Despite Its Challenges" Despite these challenges, Despite its limitations
Invented Concept Label the [word] paradox/trap/vacuum/inversion/chasm — fake conceptual branding
Dramatic Fragment One-to-four-word standalone paragraph used for emphasis
Superficial Analysis , [participle] its/the/their/this [importance/role/significance] — empty summarizing phrase
False Range Hollow from X to Y constructions; doesn't emerge from nowhere
Triple Construction Exactly three parallel items: X, Y, and Z — the LLM default

Semantic — sentence-level (9 rules, via Claude Haiku)

Throat-Clearing Opener · Sycophantic Frame · Balanced Take · Unnecessary Elaboration · Empathy Performance · Pivot Paragraph · Grandiose Stakes · Historical Analogy Stack · False Vulnerability

Semantic — document-level (3 rules, via Claude Haiku)

Dead Metaphor · One-Point Dilution · Fractal Summaries


How It Works

Detection runs in two tiers:

Client-side (36 rules): Regex, structural analysis, and NLP via compromise. Runs entirely locally. It's instant, requires no API calls, and costs nothing.

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.

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.

AI Detection Flow

detect_slop_full and fix_slop call an LLM in two steps:

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.

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.


Building from Source

git clone https://github.com/0ju1c3/slop-cop
cd slop-cop
npm install
npm run build   # compiles TypeScript → build/

To use the local build instead of the npm package:

Claude Code:

claude mcp add slop-cop -- node /path/to/slop-cop/build/index.js

Claude Desktop:

{
  "mcpServers": {
    "slop-cop": {
      "command": "node",
      "args": ["/path/to/slop-cop/build/index.js"]
    }
  }
}

License

MIT — see LICENSE.

Detection engine derived from slop-cop by awnist, MIT licensed.

Pattern taxonomy based on LLM_PROSE_TELLS.md, Wikipedia: Signs of AI Writing, and tropes.md.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选