MCP server for text readability analysis and AI pattern detection. Helps writers identify AI-like patterns and improve readability.
Created by Du'An Lightfoot | @labeveryday
pip install writestat-mcp
# Optional: ML-based detection (~500MB for torch/transformers)
pip install writestat-mcp[ml]
# Required: NLTK data
python -c "import nltk; nltk.download('punkt_tab')"| Tool | Description |
|---|---|
analyze_text |
Readability metrics (Flesch-Kincaid, SMOG, etc.) |
find_hard_sentences |
Complex sentences with explanations |
check_ai_phrases |
Pattern-based AI detection (60+ patterns) |
detect_ai_ml |
ML detection via GPT-2 perplexity (optional) |
batch_analyze |
Process multiple texts in parallel |
compare_texts |
Before/after comparison |
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"readability-mcp": {
"command": "uvx",
"args": ["writestat-mcp"]
}
}# After PyPI publish
# Pattern detection only (lightweight)
claude mcp add writestat-mcp -- uvx writestat-mcp
# Or with ML detection (~500MB download)
claude mcp add writestat-mcp -- uvx "writestat-mcp[ml]"
# From local source
cd /path/to/writestat-mcp
pip install -e .
claude mcp add writestat-mcp -- writestat-mcpFull analysis workflow:
I just wrote this blog post. Check the readability, find any difficult sentences, and flag anything that sounds too AI-generated. Then suggest improvements:
Editing pass:
This is my draft and my revised version. Compare them and tell me if the readability improved and if I removed the AI-sounding phrases. {First_draft} vs {second_draft}
Quick AI check:
Does this paragraph have any AI tells? Be specific about which phrases to fix:
Target audience check:
I'm writing for high school students. Is this text at the right reading level? Which sentences are too complex:
This tool uses heuristic pattern matching and zero-shot perplexity scoring—not a fine-tuned classifier.
- Pattern detection: Catches stylistic markers (em dashes, filler phrases, buzzwords)
- ML detection: Measures perplexity, vocabulary diversity, burstiness
Research shows fine-tuned RoBERTa models achieve ~99% F1 on ChatGPT detection (Guo et al., 2023). Our lightweight approach won't match that. It's designed for:
- Quick pattern screening
- Catching obvious AI tells
- Educational awareness about AI writing patterns
Not suitable for: Academic integrity decisions, high-stakes verification
The HC3 paper identified key ChatGPT markers we detect:
- Lower perplexity (more predictable) ✓
- Lower vocabulary diversity ✓
- Formal conjunctions ("Furthermore", "It's important to note") ✓
- Organized structure with clear transitions ✓
| Grade | Audience |
|---|---|
| 5- | Elementary |
| 6-8 | Middle school |
| 9-12 | High school |
| 13+ | College |
| Score | Interpretation |
|---|---|
| 0-30 | Likely human |
| 30-60 | Uncertain |
| 60-100 | Likely AI |
- Python 3.10+
- Core: fastmcp, textstat, nltk
- Optional
[ml]: torch, transformers
MIT
- HC3: How Close is ChatGPT to Human Experts? - Guo et al., 2023
- Model Context Protocol
- FastMCP