humanizer-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@humanizer-mcp Analyze this paragraph for AI detection risk: 'The quick brown fox jumps over the lazy dog.'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
humanizer-mcp
An MCP (Model Context Protocol) server that measures AI-detection risk in a piece of text and tells you — line by line — what to change. Works with Claude Code, Claude Desktop, and any MCP-compatible client.
Just want to use it? Go to humanizer.analyticadss.com — copy the URL, paste it into Claude's Connectors, done. The rest of this README is for developers and people self-hosting.
Rather than running your prose through a black-box "humanizer," this server analyzes it against known detection signals (vocabulary, burstiness, contraction usage, paragraph uniformity, em dashes, first-person voice) and returns a structured report with a 0–100 risk score and a concrete rewrite plan. The actual rewriting is left to the LLM that's driving the conversation — which is the point: a planner, not a laundering service.
Tools
Tool | What it does |
| Returns the rewritten text. Applies vocabulary swaps, phrase removal, contractions, em-dash cleanup, plus before/after scores. The LLM caller polishes for context. |
| Full analysis with risk score, fix recommendations, and a mechanical rewrite as a starting point. |
| Fast word- and phrase-level scan with replacement suggestions. |
| Step-by-step rewrite plan, tailored to text type (blog / business / academic / email / general). |
| Side-by-side metrics for an original and a rewrite, with a PASS / IMPROVED / NEEDS MORE WORK verdict. |
| The full vocabulary and phrase ban list, for reference. |
Related MCP server: AI Content Detector MCP Server
Three ways to use it
Path | Best for | What you do |
Hosted URL (no install, deterministic) | claude.ai, Claude Desktop, Claude for Chrome — including Free plan | Paste one URL into Settings → Connectors → Add custom connector. |
Skill (no install, no infra, estimated) | Same surfaces, plus people who don't want to use up their 1 free-tier connector slot | Upload the |
Local install ( | Claude Code on the terminal, Desktop with stdio | One command in a shell. |
Sharing with non-technical users? Two PDFs in
share/— email either one, no further explanation needed:
share/humanizer-mcp-friends-guide.pdf — 2 pages. Truly non-technical: download a zip, upload it to Claude, done. No install.
share/humanizer-mcp-boss-guide.pdf — 3 pages. Semi-technical Windows users who can install an app and edit a config file. Sets up the full MCP server with Claude Desktop.
Path A — add as a Custom Connector (zero install)
Works in claude.ai (web), Claude Desktop, and Claude for Chrome — all four surfaces share the connector list once you're signed in. Available on every plan including Free (Free is limited to one custom connector).
A hosted reference instance is up — feel free to use it for casual evaluation:
https://humanizer-api.analyticadss.com/mcpFor production / privacy-sensitive use, deploy your own with the included Dockerfile (see Hosting below — Fly.io takes ~3 minutes). The hosted instance is on a free Fly tier with no SLA, no support, and no privacy guarantees — your text passes through it.
To add it to your Claude:
Open Claude → Settings → Connectors.
Click Add custom connector.
Paste the URL above (or your own hosted instance's
/mcpURL).Save. The five
humanizer_*tools become available in any chat.
That's the whole install for non-technical users — they never touch a terminal.
Path B — install locally (Claude Code / Desktop with stdio)
# Claude Code, one line
claude mcp add humanizer -- uvx humanizer-mcpFor Claude Desktop with a local stdio server, add this to claude_desktop_config.json:
{
"mcpServers": {
"humanizer": {
"command": "uvx",
"args": ["humanizer-mcp"]
}
}
}Config location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Other ways to launch the local binary if you don't want uvx:
pip install humanizer-mcp && humanizer-mcp # pip
npx humanizer-mcp # npm launcher (delegates to uvx/pipx/python3)Try it with the MCP Inspector
npx @modelcontextprotocol/inspector uvx humanizer-mcpHosting
To create the URL in Path A, deploy the included Dockerfile. The repo ships with a Render Blueprint and a Fly config:
Render — easiest, free tier, auto-deploys from the GitHub repo:
Fly.io — always-on free tier:
fly launch --copy-config --name humanizer-mcp
fly deployAnywhere else — the Dockerfile reads PORT from the environment and binds to 0.0.0.0, so it runs on Railway, Heroku, Cloud Run, ECS, or your own box:
docker build -t humanizer-mcp .
docker run -p 8000:8000 humanizer-mcpCloudflare Tunnel from your laptop — zero hosting cost, only up while your machine is on:
brew install cloudflared
pipx install humanizer-mcp # or: pip install humanizer-mcp
humanizer-mcp --http --port 8000 &
cloudflared tunnel --url http://localhost:8000
# copy the trycloudflare.com URL it printsThe MCP endpoint is at /mcp (streamable HTTP). The server is stateless and unauthenticated — anyone with the URL can call the tools, but there are no secrets and no destructive operations to abuse.
Run the HTTP server locally
humanizer-mcp --http --port 8000
# point a client at http://127.0.0.1:8000/mcpVerify it works
Once installed by any path, in any Claude chat ask:
"What humanizer tools do you have available?"
Claude should list five: humanizer_analyze_ai_tells, humanizer_quick_vocab_scan, humanizer_get_rewrite_instructions, humanizer_compare_before_after, humanizer_get_banned_words.
Then try the canonical test:
"Score this for AI tells: 'In today's rapidly evolving digital landscape, it's important to note that businesses must leverage cutting-edge solutions to navigate the multifaceted challenges they face.'"
You should get a score in the HIGH bucket (≥ 60), the signals that fired, and a line-by-line fix list.
Troubleshooting
Symptom | Likely cause | Fix |
|
|
|
| pip user-install bin not on | Use |
Claude Desktop has no hammer icon | Config JSON syntax error |
|
| Launcher is shelling to | Wait it out; subsequent runs are instant |
Render-hosted: 406 spam in logs | Health Check Path is | Settings → Health & Alerts → set to |
Render-hosted: | OOM on free tier (512MB) — | Switch to Fly free tier or upgrade Render to Starter |
Custom Connector add fails on claude.ai Free | Already at the 1-connector limit | Remove an unused connector; or upgrade plan |
Example prompts
With the server connected to Claude, you can say things like:
"Analyze this blog post for AI tells and tell me what to change."
"Run a quick vocab scan on this paragraph."
"Give me rewrite instructions for this academic abstract — keep it formal but fix the burstiness."
"Compare these two drafts. Did my edit actually lower the detection risk?"
Claude picks the right tool automatically.
How the risk score works
The 0–100 score combines eight signals:
AI vocabulary hits — words statistically overrepresented in LLM output (
delve,crucial,leverage,myriad, …).AI phrase hits — cliché structural tells (
it's important to note,in the ever-evolving,at the end of the day, …).Burstiness — coefficient of variation of sentence lengths. AI writing clusters around a single length; humans mix short fragments and long digressions.
Contractions — expanded forms (it is, do not) read as AI-formal; contractions read as conversational.
Paragraph uniformity — AI tends to produce paragraphs of similar size.
Rhetorical questions — near-absent in AI prose above 200 words.
First-person voice — AI avoids I, we, my, our unless prompted.
Em dashes — a ChatGPT signature; heavy use is a strong signal.
Each signal adds to the score independently; the total is clamped to 100 and bucketed into LOW (≤ 20), MEDIUM (21–50), or HIGH (51+).
Development
git clone https://github.com/aousabdo/humanizer-mcp
cd humanizer-mcp
pip install -e ".[dev]"
pytestSee CONTRIBUTING.md for more.
License
MIT — see LICENSE.
Available Tools
6 toolshumanizer_analyze_ai_tellsARead-onlyIdempotent
Analyze text for AI-generated patterns and compute a detection risk score.
Scans for AI-associated vocabulary, structural patterns, burstiness, contraction usage, paragraph uniformity, rhetorical questions, first-person voice, and em dash frequency. Returns a comprehensive report with a 0–100 risk score and specific recommendations.
Args: params (AnalyzeTextInput): Contains the text to analyze.
Returns: str: JSON report with risk score, detected patterns, and fix recommendations.
Inputs: params (required). Returns: result
humanizer_compare_before_afterARead-onlyIdempotent
Compare detection metrics between original and rewritten text.
Use after humanizing to verify improvement. Shows side-by-side metrics for burstiness, vocabulary tells, structure, and risk scores.
Args: original (str): The original AI-generated text. rewritten (str): The humanized version.
Returns: str: JSON comparison of detection metrics for both versions.
Inputs: original (required), rewritten (required). Returns: result
humanizer_get_banned_wordsARead-onlyIdempotent
Return the complete list of AI-associated words and their human replacements.
Use as a reference when manually editing text. Includes both single words and multi-word phrases that trigger AI detection.
Returns: str: JSON with vocabulary ban list and phrase ban list.
Inputs: no named parameters. Returns: result
humanizer_get_rewrite_instructionsARead-onlyIdempotent
Analyze AI text and return detailed, step-by-step rewrite instructions.
This tool does NOT rewrite the text itself — it provides a structured action plan that an LLM or human editor can follow to humanize the text. The instructions are tailored to the text type and specific patterns found.
Args: params (HumanizeTextInput): Contains text, text type, and voice preferences.
Returns: str: JSON with analysis results and step-by-step rewrite instructions.
Inputs: params (required). Returns: result
humanizer_humanize_textARead-onlyIdempotent
Rewrite AI-generated text to sound human, returning the humanized version.
Applies a deterministic mechanical pass (vocabulary swaps, AI-phrase removal, contraction injection, em-dash cleanup) and returns the rewritten text plus a list of remaining issues that the LLM caller should refine for context.
IMPORTANT — for the model calling this tool: the humanized_text field in
the response is a starting point, NOT the final answer. After receiving it,
YOU must:
Read the
polish_instructionsfield.Refine the text to fix burstiness (vary sentence length aggressively), add first-person voice if missing, and smooth any awkward edits the mechanical pass introduced.
Present the FINAL polished version to the user as your reply, along with the before/after risk scores so they can see the improvement.
Args: params (HumanizeTextInput): Text, text type, and voice preferences.
Returns: str: JSON with humanized_text (mechanical rewrite), original_score, rewrite_score, applied_changes, and polish_instructions.
Inputs: params (required). Returns: result
humanizer_quick_vocab_scanARead-onlyIdempotent
Fast scan for AI-associated vocabulary only — no structural analysis.
Use this for a quick check when you just want to find and replace AI words without running the full analysis pipeline.
Args: params (VocabCheckInput): Contains the text to scan.
Returns: str: JSON with found AI words, their positions, and replacement suggestions.
Inputs: params (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool serves a uniquely defined purpose: analyzing AI tells, comparing before/after, retrieving banned words, getting rewrite instructions, rewriting text, and quick vocab scanning. No two tools overlap in functionality.
All tools follow a consistent 'humanizer_verb_noun' pattern, e.g., humanizer_analyze_ai_tells, humanizer_compare_before_after, humanizer_humanize_text. The naming convention is uniform and predictable.
With 6 tools, the set is well-scoped for the domain of humanizing AI-generated text. It covers analysis, rewriting, comparison, reference, and quick scanning without unnecessary bloat or scarcity.
The tool set provides a complete workflow: analyze AI patterns, get rewrite instructions, rewrite text, compare before/after, and reference banned words. The quick scan adds a lightweight option. No obvious gaps for the stated purpose.
Maintenance
Related MCP Connectors
Scores whether a page reads as AI-generated and names the tells to fix.
Find AI-isms with evidence and fingerprint a writing voice from samples. 3 of 5 free.
Score and rewrite AI-assisted prose while preserving names, numbers, quotes, links, and facts.
Paste a draft and see the habits that make writing read like it came from an AI model.
Related MCP Servers
- AlicenseCqualityDmaintenanceHelps refine AI-generated content to sound more natural and human-like. Built with advanced AI detection and text enhancement capabilities.150 npm64MIT
- FlicenseNot gradedqualityCmaintenanceDetects AI-generated content by analyzing 24 writing patterns, provides style analysis, plagiarism check, text humanization suggestions, and offers batch detection and version comparison tools.-
- AlicenseNot gradedqualityDmaintenanceEnables AI content detection with sentence-level and paragraph-level AI probability scoring to identify and fix AI-generated text.45 PyPIMIT
- AlicenseAqualityDmaintenanceA private, open-source AI-text checker. Get a read on whether text looks AI-written, the exact AI-tell spans to fix, a reuse check, and a grammar pass.4MIT