labeveryday/readability-mcp
If you are the rightful owner of readability-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Readability MCP Server is a tool designed to enhance AI-assisted writing by providing text analysis for readability, sentence difficulty, and AI-generated content detection.
Readability MCP Server
A Model Context Protocol (MCP) server that provides text analysis tools for readability scoring, sentence difficulty analysis, and AI-generated content detection. This server helps writers improve their AI-assisted writing by providing objective, measurable feedback directly within Claude or other MCP-compatible AI assistants.
Features
šÆ Core Analysis Tools
1. Text Readability Analysis (analyze_text
)
- Flesch-Kincaid Grade Level - US grade level needed to understand the text
- Flesch Reading Ease - Score from 0-100 (higher = easier to read)
- SMOG Index - Simple Measure of Gobbledygook
- Automated Readability Index - Estimate of US grade level
- Coleman-Liau Index - Grade level based on characters
- Gunning Fog Index - Years of education needed
- Dale-Chall Score - Comprehension difficulty
- Linsear Write Formula - Grade level for technical documents
- Provides word, sentence, and syllable statistics
- Human-readable interpretation of scores
- Estimated reading time
2. Difficult Sentence Detection (find_hard_sentences
)
- Identifies the most complex sentences in your text
- Provides specific reasons why sentences are difficult:
- Sentence length issues
- Complex vocabulary (syllable analysis)
- Multiple clauses and subordinate elements
- Possible passive voice usage
- Shows sentence position in original text
- Calculates individual grade levels per sentence
- Customizable threshold and count
3. AI Pattern Detection (check_ai_phrases
)
- Detects common AI-generated writing patterns
- Provides AI likelihood score (0-100)
- Identifies specific phrases and their context
- Four confidence levels:
- Dead Giveaways - Phrases almost exclusively used by AI
- High Probability - Strong indicators of AI writing
- Moderate Indicators - Common in AI and formal writing
- Structural Patterns - Formatting patterns typical of AI
- Offers specific recommendations for more natural writing
- Adjustable sensitivity levels (low/medium/high)
Installation
Prerequisites
- Python 3.8 or higher
uv
package manager (recommended) orpip
Quick Setup
- Clone the repository:
git clone https://github.com/yourusername/readability-mcp.git
cd readability-mcp
- Set up virtual environment and install dependencies:
Using uv
(recommended):
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
Or using traditional pip:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- Download required NLTK data:
python -c "import nltk; nltk.download('punkt_tab')"
Configuration for Claude Desktop
Add the server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"readability-analyzer": {
"command": "python",
"args": ["/full/path/to/readability-mcp/server.py"],
"env": {
"PYTHONPATH": "/full/path/to/readability-mcp"
}
}
}
}
Or if using uv
:
{
"mcpServers": {
"readability-analyzer": {
"command": "uv",
"args": ["run", "python", "/full/path/to/readability-mcp/server.py"],
"cwd": "/full/path/to/readability-mcp"
}
}
}
How to Use with Claude
Once configured, you can use natural language to request text analysis. See for detailed examples.
Quick Examples:
Basic readability check:
"Analyze the readability of this text: [paste your text]"
Find difficult sentences:
"Show me the 5 hardest sentences in this document"
Check for AI patterns:
"Does this text sound AI-generated? [paste your text]"
Complete analysis:
"Give me a complete readability analysis including difficult sentences
and AI patterns for this text"
Project Structure
readability-mcp/
āāā server.py # Main entry point
āāā src/
ā āāā server.py # MCP server with tool endpoints
ā āāā analyzers/ # Analysis logic modules
ā ā āāā readability.py
ā ā āāā sentences.py
ā ā āāā ai_patterns.py
ā āāā models/ # Data structures
ā āāā results.py
āāā requirements.txt # Python dependencies
āāā PROMPTS.md # Example prompts for Claude
āāā CHANGELOG.md # Version history
āāā README.md # This file
Interpreting Scores
Flesch-Kincaid Grade Levels
- 5 and below: Elementary school
- 6-8: Middle school
- 9-12: High school
- 13-16: College
- 17+: Graduate level
Flesch Reading Ease
- 90-100: Very easy (5th grade)
- 80-90: Easy (6th grade)
- 70-80: Fairly easy (7th grade)
- 60-70: Standard (8th-9th grade)
- 50-60: Fairly difficult (high school)
- 30-50: Difficult (college)
- 0-30: Very difficult (graduate)
AI Likelihood Score
- 0-20: Very low - naturally written
- 20-40: Low - mostly natural
- 40-60: Medium - noticeable AI patterns
- 60-80: High - strong AI characteristics
- 80-100: Very high - extensive AI patterns
Development
Running Tests
uv run python test_modules.py
Running the Server Directly
uv run python server.py
Troubleshooting
NLTK Data Error
If you see "Resource punkt_tab not found":
python -c "import nltk; nltk.download('punkt_tab')"
Server Not Appearing in Claude
- Verify the config file path is correct
- Ensure Python/uv path in config is absolute
- Restart Claude Desktop after config changes
- Check server health:
uv run python -c "from src.server import health_check"
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
License
MIT License - See file for details
Changelog
See for version history and updates.