wsc-mcp
v2.2.2
Published
MCP server for prose linting + AI-slop detection: weasel words, passive voice, hedging, filler adverbs, and research-cited AI tells
Maintainers
Readme
wsc-mcp
A Model Context Protocol (MCP) server for the Writing Style Checker. Detects weasel words, passive voice, duplicate words, long sentences, nominalizations, hedging language, filler adverbs, and AI tells — directly from your AI assistant.
Tools
| Tool | Description |
|------|-------------|
| check_text | Analyze text for all 8 writing style issues with positions and context. Accepts optional config to customize detectors. |
| check_file | Read a file from disk and analyze it. Auto-discovers .wscrc.json config. Accepts optional config override. |
| fix_duplicates | Remove all duplicate adjacent words and return the cleaned text |
| list_word_lists | Return all detector word/phrase lists with counts and sample entries |
Setup
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"writing-style-checker": {
"command": "npx",
"args": ["wsc-mcp"]
}
}
}Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"writing-style-checker": {
"command": "npx",
"args": ["wsc-mcp"]
}
}
}Other MCP Clients
Any MCP client that supports stdio transport can use this server:
npx wsc-mcpRemote Server
If you don't need local file analysis, you can use the hosted MCP server instead (no installation required):
{
"mcpServers": {
"writing-style-checker": {
"type": "url",
"url": "https://wsc.theserverless.dev/mcp"
}
}
}The remote server provides check_text, fix_duplicates, and list_word_lists (no check_file since it runs on Cloudflare Workers).
Configuration
Both check_text and check_file accept an optional config parameter to customize detectors:
{
"detectors": {
"weaselWords": { "enabled": true, "add": ["synergy"], "remove": ["very"] },
"longSentences": { "maxWords": 25 },
"adverbs": { "enabled": false }
}
}The check_file tool also auto-discovers .wscrc.json files by walking up from the file's directory. A config parameter overrides auto-discovery.
Example Usage
Once connected, ask your AI assistant:
- "Check this text for writing issues:
The report was written very quickly and is basically done." - "Analyze the file at ~/Documents/essay.md for writing style problems"
- "Fix duplicate words in:
The the code is is working" - "Check this text but disable the adverbs detector"
- "What word lists does the checker use?"
Detection Rules
| Detector | Count | Description |
|----------|-------|-------------|
| Weasel Words | 95 | Vague terms like "very", "basically", "arguably" |
| Passive Voice | — | Auxiliary verbs + past participles (260 irregular + regular -ed) |
| Duplicate Words | — | Adjacent repeated words, case-insensitive |
| Long Sentences | — | Sentences exceeding a word threshold (default: 30) |
| Nominalizations | 245 | Nouns replaceable with verbs ("utilization" → "use") |
| Hedging | 100 | Phrases that weaken assertions ("I think", "it seems") |
| Filler Adverbs | 139 | Adverbs adding emphasis without substance ("totally", "utterly") |
| AI Tells | 98+83+12 | Words, phrases, and structural patterns overrepresented in AI text ("delve", "It's not just X — it's Y") |
Privacy
The local MCP server runs on your machine. We never send text to any external service. The remote server at wsc.theserverless.dev only processes text you explicitly send to it.
Links
- Web App — Interactive browser-based editor
- HTTP API — POST endpoint for programmatic access
- CLI — Command-line tool
- GitHub — Source code
- MCP Protocol — Model Context Protocol specification
License
MIT
