Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

prose-rich-mcp

One local Model Context Protocol (MCP) server that wraps five free prose linters — proselint, alex, write-good, blocklint, textstat — plus a small built-in AI-tell detector. Gives Claude (and any MCP client) six independent lenses on a draft without per-word subscription costs or sending your text to a cloud service.

License: MIT Python 3.10+ MCP


Why this exists

The "writing improvement" MCP landscape is fragmented — every paid tool (Grammarly, ProWritingAid, DeepL Write, HumanTone, Sapling) wants a subscription and pushes someone else's opinion of good writing on you. The free tools (proselint, alex, write-good, blocklint, textstat) each give Claude a different lens on the same draft, but they all need to be installed and called separately.

This is the single connector that wires them all together. ~600 lines of Python, no API keys, no network, runs forever for free.

Pair it with Vale for your own house-style enforcement, and with the Writing Tools MCP for objective "does this still read like an LLM" signals (perplexity + stylometric), and you have a complete free local writing-improvement stack.

Tools

Tool What it catches
lint_proselint Adverbs, clichés, hyperbole, redundancy, vague modifiers — Bryan Garner / DFW / Pinker / Orwell-inspired rules.
lint_alex Gender-favoring, ableist, racial, and other insensitive language. Markdown/MDX/HTML aware.
lint_writegood Passive voice, weasel words ("many", "various"), lexical illusions, "so/there is" openers.
lint_blocklint Non-inclusive identifiers and code-style language alex sometimes misses (master/slave, blacklist/whitelist).
readability_stats Flesch, Flesch-Kincaid, Gunning Fog, SMOG, Coleman-Liau, ARI, Dale-Chall, syllable/lexicon/sentence counts, reading time — via textstat.
check_ai_tells Built-in detector for signature LLM phrases ("delve", "leverage", "tapestry", "It's important to note", Moreover/Furthermore/Additionally openers, etc.).
audit_all Run all six in one call and return a merged report with a roll-up.

Every tool accepts either an inline text string or an absolute path to a local file. Outputs are structured JSON with line / column locations.

Install

pip install prose-rich-mcp

The Python deps (textstat, proselint, blocklint, fastmcp) install automatically. The Node-ecosystem linters need a separate install:

npm install -g alex write-good

If alex or write-good aren't on PATH, the corresponding tools return TOOL_NOT_INSTALLED and the rest still work — audit_all reports the gap in its tools_missing list instead of failing.

Run

prose-rich-mcp        # stdio MCP server

Configure in Claude Desktop

{
  "mcpServers": {
    "prose-rich": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/justinritchie/prose-rich-mcp", "prose-rich-mcp"]
    }
  }
}

Security

  • All processing is local. No network calls, no API keys.
  • PROSE_RICH_ALLOWED_ROOTS is opt-in (not on by default). Leave unset and the server reads any path your user account can read. Set to a colon-separated list of dirs only if you want to sandbox.
  • PROSE_RICH_MAX_FILE_BYTES defaults to 10 MB.

What this isn't

  • Not a grammar checker. For that, run LanguageTool self-hosted in Docker (~10 GB with n-grams) or just rely on Claude's native grammar.
  • Not a style-guide enforcer. For your rules (banned words, preferred phrasings), use Vale — pair this with Vale, don't replace it.
  • Not an AI-text humanizer. The check_ai_tells detector flags patterns; it doesn't rewrite. If you want to defeat detectors specifically, see HumanTone et al. (but for most use cases, fixing the flagged patterns by hand or via the LLM produces better results).

License

MIT — see LICENSE.

About

One local MCP server wrapping five free prose linters (proselint, alex, write-good, blocklint, textstat) + AI-tell detector - for catching weak, inflated, exclusionary, or LLM-generated writing without subscription costs

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages