Skip to main content

A Model Context Protocol (MCP) server that provides comprehensive text readability analysis using multiple established metrics. Built with FastMCP and Pydantic for reliable, structured analysis.

Project description

Readability Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive text readability analysis using multiple established metrics. Built with FastMCP and Pydantic for reliable, structured analysis.

Features

  • Multiple Readability Metrics: Flesch Reading Ease, Flesch-Kincaid Grade Level, Gunning Fog Index, SMOG Index, ARI, and Coleman-Liau Index
  • Text Statistics: Word count, sentence count, character count, syllable count, and estimated reading time
  • Sentiment Analysis: Polarity and subjectivity analysis using TextBlob
  • Intelligent Interpretations: Human-readable explanations and improvement recommendations
  • Structured Output: JSON responses with Pydantic models for reliable parsing

All Platforms Configuration

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "readability": {
      "command": "uvx",
      "args": ["readability-mcp"]
    }
  }
}

Usage Examples

Once configured, restart Claude Desktop and you can use the readability tools directly in conversation:

Quick Readability Check

Can you analyze the readability of this text:
"The implementation of advanced algorithmic methodologies necessitates comprehensive evaluation protocols to ensure optimal performance characteristics across diverse operational parameters."

Claude will use your analyze_readability tool and provide structured analysis.

Sentiment Analysis

What's the sentiment of this customer feedback:
"I absolutely love this product! It's incredibly easy to use and has made my workflow so much more efficient."

Claude will use your analyze_sentiment tool.

Specific Metrics

What's the Flesch Reading Ease score for my blog post draft?
[paste your content]

Claude will use your flesch_reading_ease tool.

Integration Benefits

  1. Seamless Experience: Tools appear as native Claude capabilities
  2. Structured Analysis: Pydantic models ensure consistent, parseable responses
  3. Multi-tool Workflow: Claude can chain multiple readability tools together
  4. Context Aware: Claude can provide writing suggestions based on your analysis

Example Workflow

You: "Help me improve this paragraph for a general audience"

Claude: First, let me analyze the current readability... [Uses analyze_readability tool]

Based on the analysis showing a Flesch-Kincaid grade level of 14.2 (college level), here are some suggestions to make it more accessible:

  1. Break up the 45-word sentence into 2-3 shorter ones
  2. Replace "methodologies" with "methods"
  3. Simplify "necessitates" to "requires"

You: "Can you rewrite it and check the new version?"

Claude: [Rewrites the text, then uses analyze_readability again to verify improvement]

Usage

Available Tools

analyze_readability(text: str)

Comprehensive analysis including all metrics, statistics, sentiment, and recommendations.

Example:

{
  "flesch_reading_ease": 65.2,
  "flesch_kincaid_grade": 8.1,
  "gunning_fog": 10.3,
  "smog_index": 9.8,
  "automated_readability_index": 8.7,
  "coleman_liau_index": 9.2,
  "reading_time_seconds": 45.6,
  "text_stats": {
    "sentence_count": 5,
    "word_count": 87,
    "character_count": 456,
    "syllable_count": 132
  },
  "sentiment": {
    "polarity": 0.2,
    "subjectivity": 0.4,
    "interpretation": "Positive tone, moderately subjective"
  },
  "interpretation": {
    "flesch_ease_interpretation": "Standard (8th-9th grade level)",
    "overall_difficulty": "High School",
    "recommendations": ["Text readability is good!"]
  }
}

flesch_reading_ease(text: str)

Returns only the Flesch Reading Ease score with interpretation.

flesch_kincaid_grade(text: str)

Returns only the Flesch-Kincaid Grade Level.

analyze_sentiment(text: str)

Returns sentiment analysis with polarity, subjectivity, and interpretation.

Readability Metrics Explained

Metric Range Description
Flesch Reading Ease 0-100 Higher scores = easier to read
Flesch-Kincaid Grade 0-18+ Grade level required to understand
Gunning Fog Index 6-17+ Years of education needed
SMOG Index 6-18+ Simple Measure of Gobbledygook
ARI 1-14+ Automated Readability Index
Coleman-Liau 1-16+ Based on characters per word

Reading Ease Interpretations

  • 90-100: Very Easy (5th grade)
  • 80-89: Easy (6th grade)
  • 70-79: Fairly Easy (7th grade)
  • 60-69: Standard (8th-9th grade)
  • 50-59: Fairly Difficult (10th-12th grade)
  • 30-49: Difficult (college level)
  • 0-29: Very Difficult (graduate level)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

readability_mcp-0.0.1.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

readability_mcp-0.0.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file readability_mcp-0.0.1.tar.gz.

File metadata

  • Download URL: readability_mcp-0.0.1.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for readability_mcp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 95f2f06b2e36bc5c142c6d593e4ae02d5444d850820632a9184351869f40f3ed
MD5 4fe62392f0e0ebe6c936e1bf10b7e313
BLAKE2b-256 3ebaaf71e86ebddc284648ab239e4e294330e75b9e5ac40ed1bd5a61388b50bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for readability_mcp-0.0.1.tar.gz:

Publisher: publish.yaml on benomahony/readability_mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file readability_mcp-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for readability_mcp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47cc7a41eabfbe4142d4700720b2bf36be462fd4defb2bb80af91e79e8f52e73
MD5 6fe3f1a7a2963fdf4bf2042cb66c2fa6
BLAKE2b-256 4123d6d7ef178eac0580ab3489eca58e8c6410ab8458663c758fa6cfb32b65e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for readability_mcp-0.0.1-py3-none-any.whl:

Publisher: publish.yaml on benomahony/readability_mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page