Analyze text for writing style issues (weasel words, passive voice, duplicate words, long sentences, nominalizations, hedging, filler adverbs, AI tells). Returns structured results with issue positions and context.
Parameters3
text
string
required
The text to analyze for writing style issues
config
object
optional
Optional WscConfig to customize which detectors run and their settings
format
string
optional
Set to "markdown" to skip code blocks, tables, and headings when analyzing
Raw schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text to analyze for writing style issues"
},
"config": {
"type": "object",
"description": "Optional WscConfig to customize which detectors run and their settings"
},
"format": {
"type": "string",
"enum": [
"plain",
"markdown"
],
"description": "Set to \"markdown\" to skip code blocks, tables, and headings when analyzing"
}
},
"required": [
"text"
]
}
fix_duplicates
Remove all duplicate adjacent words from the text and return the cleaned version.
Parameters1
text
string
required
The text to clean by removing duplicate adjacent words
Raw schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text to clean by removing duplicate adjacent words"
}
},
"required": [
"text"
]
}
list_word_lists
Return all word/phrase lists used by the detectors with their counts and sample entries.
A prose linter and AI-slop detector. WSC finds AI tells — words, phrases, and sentence structures overrepresented in AI-generated text, each flag backed by a published corpus study. It also catches classic writing issues: weasel words, passive voice, duplicate words, long sentences, nominalizations, hedging, and filler adverbs. Available as a web editor, HTTP API, MCP server, CLI, and GitHub Action.
Web Editor - Real-time highlighting with inline fix buttons for all 8 detectors
HTTP API - POST text with optional config, retrieve structured JSON responses
MCP Server (Remote) - Connect AI assistants via Streamable HTTP transport
MCP Server (Local) - Stdio-based server via wsc-mcp on npm
CLI - Check files from the command line via wsc-lint
GitHub Action - Run checks in CI with ::warning annotations
Configurable - Customize detectors with .wscrc.json files
What WSC is (and isn't)
WSC flags patterns that research on AI-generated text finds overrepresented, and cites a source for every flag. It does not, and cannot, prove authorship. Classifier-based detectors carry a documented false-accusation risk: a Stanford study found that seven of them misflagged 61% of essays written by non-native English speakers. WSC avoids that trap by design — every flag is a specific, explainable edit that improves the text no matter who, or what, wrote it.
Detection Rules
Detector
Items
Description
Weasel Words
95 words/phrases
Vague terms like "very", "basically", "arguably", "numerous"
Passive Voice
260 irregular verbs
Auxiliary verbs + past participles (regular -ed + irregular)
Duplicate Words
—
Adjacent repeated words across whitespace, case-insensitive
Long Sentences
threshold: 30 words
Sentences exceeding a configurable word count
Nominalizations
245 word pairs
Nouns replaceable with verbs ("utilization" → "use")
Hedging
100 phrases
Phrases that weaken assertions ("I think", "it seems")
Filler Adverbs
139 words
Adverbs adding emphasis without substance ("totally", "utterly")
Words, phrases, and sentence constructions overrepresented in AI-generated text (delve, rich tapestry, It's not just X — it's Y)
Word lists sourced from Matt Might's shell scripts and expanded with additional entries. AI tells draw on published corpus studies: Kobak et al. 2025 (Science Advances), Juzek & Ward 2025 (COLING), Liang et al. 2024 (Stanford), and Reinhart et al. 2025 (PNAS). Wikipedia's editor-maintained Signs of AI writing catalogue and AI-detection vendor reports round out the sources.
Configuration
Create a .wscrc.json to customize detectors. All tools (API, MCP, CLI) support it.
curl -X POST https://wsc.theserverless.dev/api/check \
-H "Content-Type: application/json" \
-d '{"text":"The code was written very quickly.", "config":{"detectors":{"weaselWords":{"enabled":false}}}}'
GET /api/check
Returns API documentation as JSON.
GET /api/detectors
Returns the list of all 8 detectors with descriptions, configurability, and word counts.
GET /health
Runs a smoke test with known text and returns {"status":"healthy"} or 503.
Limits: Max 100,000 characters per request. CORS enabled for all origins.
MCP Server
The Writing Style Checker is available as an MCP server, letting AI assistants check your writing directly.
Tools
Tool
Description
check_text
Analyze text for all 8 writing style issues. Accepts optional config.
fix_duplicates
Remove duplicate adjacent words and return cleaned text
list_word_lists
Return info about all detector word lists
check_file
(Local only) Read a file from disk and analyze it. Auto-discovers .wscrc.json.
Remote MCP Server
Connect any MCP client to the hosted server - no installation required.