Writing Style Checker
[CI]
[npm]
[smithery badge]
[wsc MCP server]
[M8ven Score]
[License: MIT]
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.
Live: wsc.theserverless.dev
[Screenshot of Writing Style Checker]
Features
- 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
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.
Every field is optional. Missing fields use defaults. JSON Schema provides autocompletion in VS Code.
ignore is an array of glob patterns relative to the working directory. The GitHub Action uses the repository root. The CLI adds these patterns to its built-in **/node_modules/** and **/.git/** skips, together with the Action exclude input and the CLI --ignore flag.
API Usage
POST /api/check
Analyze text for writing style issues. Accepts optional config object.
Response:
With config:
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
Remote MCP Server
Connect any MCP client to the hosted server - no installation required.
Local MCP Server (stdio)
Install via npm for local usage. Includes check_file for analyzing files on disk with auto-discovery of .wscrc.json.
Claude Desktop / Claude Code config:
See the wsc-mcp npm page for full documentation.
CLI
Check files from the command line.
See the wsc-lint README for full documentation.
GitHub Action
Privacy
The web editor runs in your browser - we never send text to any server. The API and MCP endpoints only process text you explicitly send to them.
Project Structure
Local Development
Visit http://localhost:5173. The API is at /api/check, MCP at /mcp, health at /health.
Commands
Deployment
Deployed as a Cloudflare Worker at wsc.theserverless.dev.
Contributing
See CONTRIBUTING.md for development setup, testing, and pull request guidelines.
For substantial changes, please open an issue first.
Acknowledgements
License
MIT