DraftCheck AI-writing linter
Server Details
DraftCheck: flags AI-writing patterns in prose with fix hints. Deterministic linter, not a detector.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- kburrus64-max/draftcheck
- GitHub Stars
- 0
TDQS
Scored across 3 tools
slop_patterns (list reference patterns) is clearly distinct from the two scoring tools. slop_check and slop_check_long share the exact same purpose and differ only by length limit and pricing, which is signaled clearly in the descriptions but still represents a potential source of misselection.
All three tools use consistent snake_case with a shared 'slop_' prefix (slop_check, slop_check_long, slop_patterns). The '_long' variant is a predictable, readable suffix.
Three tools is on the thin side, but for a focused linter it is well-scoped: two scoring variants and one pattern reference. Nothing feels redundant beyond the deliberate free/paid split.
The surface covers scoring drafts (short and long) and enumerating detected patterns, which matches the stated linter purpose. A stateless analysis tool has no real CRUD lifecycle, so no obvious dead ends exist beyond maybe batch or fix-application options.
Available Tools
3 toolsslop_checkAInspect
FREE (up to 5000 chars). Score a draft for AI-writing tells ("AI slop") and list each tell with its location and a fix hint. Use before publishing any text you generated.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses the cost model (free up to 5000 chars) and the return shape (a score plus each tell with location and fix hint). It omits auth requirements, rate limits, and what happens past the 5000-char boundary, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the pricing/limit constraint front-loaded, then purpose, then usage. Every clause earns its place and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and one parameter, the description covers the essentials: input limit, what is returned (score, tells, locations, fix hints), and when to invoke it. It leaves open the score's range/meaning and how it differs from slop_patterns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'text' parameter has no schema description (0% coverage), so the description must compensate. It does so by framing the input as a 'draft' and imposing a concrete 5000-char limit, which is real semantic information about the parameter even if format expectations remain vague.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: score a draft for AI-writing tells and list each tell with location and fix hint, which is far more concrete than the name alone. It differentiates itself from slop_check_long only implicitly via the '5000 chars' cap and gives no clue about slop_patterns, so sibling separation is partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage context ('Use before publishing any text you generated') and an implicit boundary condition (up to 5000 chars) that routes longer drafts elsewhere. It never names an alternative tool or states an exclusion explicitly, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slop_check_longBInspect
PAID $0.002 USDC via x402 (Base). Same as slop_check for texts up to 200000 chars.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses a paid operation ($0.002 USDC via x402 on Base), which is real behavioral context an agent needs before invoking, but says nothing about return format, failure modes, or what happens on oversized input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, cost front-loaded, no filler. It is efficiently sized, though the reliance on a sibling reference costs it some self-contained clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers cost and input size but omits what the check returns and what 'slop' means. Adequate as a pointer to slop_check, incomplete as a standalone definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there is only one parameter and its meaning ('text') is self-evident from the tool's purpose and the size bound. The description adds no format details beyond the implied character limit, so it neither compensates nor misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the tool only by reference to a sibling ('Same as slop_check'), so an agent that hasn't resolved slop_check's meaning cannot tell what this tool actually does. The size bound (up to 200000 chars) narrows it, but the core verb/resource is delegated rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The size limit implies the routing rule versus slop_check (use this for longer texts), and the payment note signals a prerequisite. However, neither the alternative nor the exclusion is stated explicitly, so the agent must infer when to prefer this over slop_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slop_patternsAInspect
FREE. List every AI-writing pattern DraftCheck detects, with a fix hint for each.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the behavioral burden. It discloses the cost profile (FREE) and the shape of the return content (all patterns, each with a fix hint), and a zero-parameter list call is inherently read-only. It does not state side effects, permissions, or output structure beyond that, leaving gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the cost qualifier front-loaded, no filler, and every clause carrying information the agent can use before deciding to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, annotation-free read tool with no output schema, the description supplies enough: what it returns and at what cost. Adding a note on the return format or how it relates to the two checkers would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. The description correctly implies no input is needed by framing the tool as a wholesale catalog listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: list every AI-writing pattern DraftCheck detects, plus a fix hint per pattern. That is clearly a pattern-catalog reference tool, distinguishable in kind from the sibling slop_check/slop_check_long checkers, though the description never explicitly names those siblings to make the distinction airtight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The leading "FREE." hints that this is a no-cost lookup and implies you'd call it to learn the catalog rather than to analyze text, which is useful. There is no explicit statement of when to use this versus slop_check or slop_check_long, so the routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
slop_check - First observed
slop_check_long - First observed
slop_patterns
Related MCP Connectors
Prose linter + AI-slop detector: weasel words, passive voice, hedging, and research-cited AI tells
Paste a draft and see the habits that make writing read like it came from an AI model.
Scan manuscript text for AI-slop prose patterns before publishing to Amazon KDP.
Free mechanical checks for AI text: unnamed counts, dangling references, bad arithmetic, misquotes.
Related MCP Servers
- AlicenseAqualityDmaintenanceDeterministic fluff detector for AI-generated prose. No model, no API key.327 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceDetects and fixes LLM prose patterns in text, exposing tools for auditing and improving writing quality in MCP-compatible hosts.15 npm2MIT
- AlicenseAqualityDmaintenanceFlag AI tells, weasel words, passive voice, duplicate words, long sentences, nominalizations, hedging, and filler adverbs48MIT
- AlicenseNot gradedqualityBmaintenanceProvides writing guidance and mechanical lint checks to help AI clients draft or rewrite content in a specific natural voice.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.