Humanpen Mcp

io.github.humanpenPublished by GitHub account humanpenv1.4.4Updated Nov 1, 2026

Document-level AI humanizer for .docx/.pptx: whole file, selected passages, or flagged text.

Overview

AI-generated overview

HumanPen MCP rewrites .docx/.pptx files to read as human-written and score lower on AI detectors, plus citation, condensing and translation jobs.

What you can do
  • Rewrite a .docx or .pptx to read as human-written, optionally targeting only passages flagged in a Turnitin/iThenticate report
  • Continue a finished humanize job for free using a fresh detection report
  • Read a Turnitin or iThenticate AI Writing report PDF for the overall AI percentage and flagged passages
  • Convert in-text citations and reference lists to a chosen style, condense a .docx to a word target, or translate documents between languages
  • Check job status and download results, and check the account's credit balance
When to use it
Useful when you have a Word or PowerPoint document that an AI detector flags and want it rewritten in place with formatting, tables and citations preserved, or when you need bulk citation restyling, condensing or translation of documents from an assistant.
Requirements
Runs locally over stdio via npx (Node.js), started by the MCP client. Requires a HumanPen account and an API key supplied in the HUMANPEN_API_KEY environment variable. Network access to the HumanPen API is needed; documents are uploaded for processing.
Before you install
Most tools spend credits: humanize 100 per 1,000 words, citation fixes 5, condensing 20, translation 10, with a 10-credit minimum; the server asks the assistant to state cost and get agreement first. Documents are uploaded to HumanPen's API and kept server-side for about 7 days. Results are written next to the source file. The API key is a secret and should not be placed in URLs.

Installation

In SourceWeft

  1. Open Humanpen Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

humanpen-mcp

[License] [MCP] [Node]

English · 简体中文 · 日本語

Website · Pricing · Developer docs

Keywords: ai humanizer, mcp server, model context protocol, turnitin ai detection, reduce ai score, humanize ai text, bypass ai detection, docx ai humanizer, ai content rewriter, ai writing tool, claude mcp, cursor mcp, ithenticate ai report

Humanize what's flagged. Preserve the rest. An MCP server for HumanPen — a document-level AI humanizer that can humanize an entire document, rewrite user-selected passages, or automatically target flagged text from a Turnitin / iThenticate AI-detection report, editing .docx / .pptx files in place while preserving formatting, tables, images, citations, and formulas. Also converts citations between 12 styles, condenses to a word budget, and translates between 12 languages.

bash
claude mcp add humanpen -s user -e HUMANPEN_API_KEY=hp_your_key -- npx -y humanpen-mcp

Features

  • Selective rewriting by detection report — import a Turnitin / iThenticate AI Writing Report to pinpoint flagged passages; unflagged content is never touched
  • Format in, format out — a DOCX comes back as a DOCX, a PPTX as a PPTX; formatting, tables, images, and formulas survive intact and the result is still editable
  • Academic structure preserved — in-text citations, reference lists, footnotes, TOC fields, cross-references, figure numbering, equations, and special formatting are treated as protected objects
  • No error injection — restructures meaning and syntax to change expression; never adds grammar mistakes, spelling errors, or awkward sentences as a detection strategy
  • Full-length documents — no per-input word limit; a single file can be up to 100 MB, no splitting into text boxes
  • Free to keep going — still flagged? Re-humanize for free with a fresh report until the AI rate falls to * or 0%
  • Word-count control (experimental) — set a min/max word range to keep the output within a target length
  • Pay per rewrite — billed on words actually changed, not the whole document; failed and cancelled jobs cost nothing; credits never expire

Get a key

Sign up at https://humanpen.net and create a key at https://humanpen.net/settings/api-keys. New accounts start with free credits, enough to put a document through and see what comes back.

The key goes in an environment variable, never in a URL. URLs end up in server logs, proxy logs, shell history and screenshots.

Install

Claude Code
bash
claude mcp add humanpen -s user -e HUMANPEN_API_KEY=hp_your_key -- npx -y humanpen-mcp

-s user puts it in every project. The default scope is local, which loads the server only in the directory you ran the command from — and looks like a broken install the first time you open Claude Code somewhere else.

If your version rejects -e (reported upstream), use the JSON form:

bash
claude mcp add-json humanpen -s user '{"command":"npx","args":["-y","humanpen-mcp"],"env":{"HUMANPEN_API_KEY":"hp_your_key"}}'
OpenAI Codex

In ~/.codex/config.toml:

toml
[mcp_servers.humanpen]command = "npx"args = ["-y", "humanpen-mcp"]env = { HUMANPEN_API_KEY = "hp_your_key" }
CodeBuddy / WorkBuddy
bash
codebuddy mcp add --scope user humanpen -- npx -y humanpen-mcp

It also reads ${VAR} in its config, so the key can stay in your environment instead of the file:

json
{ "mcpServers": { "humanpen": {  "command": "npx", "args": ["-y", "humanpen-mcp"],  "env": { "HUMANPEN_API_KEY": "${HUMANPEN_API_KEY}" }} } }

~/.codebuddy/.mcp.json for every project, <project>/.mcp.json for one.

Gemini CLI

It has gemini mcp add, but the argument order differs between versions — run gemini mcp add --help and follow the usage line it prints. Pass the key with -e HUMANPEN_API_KEY=... and the scope with -s user; the default is project, which is only the directory you ran it in.

Claude Desktop

In claude_desktop_config.json. Use the absolute path to npx — run which npx and paste the result: a desktop app is launched by the OS with a minimal PATH, so the bare name that works in your terminal often is not found here, and the only symptom is that the tools never appear.

json
{  "mcpServers": {    "humanpen": {      "command": "npx",      "args": ["-y", "humanpen-mcp"],      "env": { "HUMANPEN_API_KEY": "hp_your_key" }    }  }}
Cursor / Windsurf / Cline

All three read the same shape — Cursor in .cursor/mcp.json, Windsurf in ~/.codeium/windsurf/mcp_config.json, Cline in its MCP settings panel:

json
{  "mcpServers": {    "humanpen": {      "command": "npx",      "args": ["-y", "humanpen-mcp"],      "env": { "HUMANPEN_API_KEY": "hp_your_key" }    }  }}
OpenCode

In opencode.json — the key names differ slightly from everyone else's:

json
{  "mcp": {    "humanpen": {      "type": "local",      "command": ["npx", "-y", "humanpen-mcp"],      "environment": { "HUMANPEN_API_KEY": "hp_your_key" }    }  }}
VS Code — keeps the key out of the config file
json
{  "mcp": {    "inputs": [      { "type": "promptString", "id": "humanpenKey", "description": "HumanPen API key", "password": true }    ],    "servers": {      "humanpen": {        "command": "npx",        "args": ["-y", "humanpen-mcp"],        "env": { "HUMANPEN_API_KEY": "${input:humanpenKey}" }      }    }  }}

VS Code prompts once and stores the key in its secret store, so it never lands in a file you might commit.

From source, or before the npm release lands
bash
git clone https://github.com/humanpen/humanpen-mcpcd humanpen-mcp && npm install && npm run build

Then point your client at node /path/to/humanpen-mcp/dist/index.js instead of npx -y humanpen-mcp.

Any MCP client works: this is a plain stdio server started by npx -y humanpen-mcp with HUMANPEN_API_KEY in its environment.

Tools

ToolWhat it doesCredits
humanize_documentRewrite a .docx/.pptx to read as human-written and score lower on AI detectors. Optionally take a detection report to rewrite only its flagged passages. Length can be held to a whole-document word range, or to per-passage ranges (experimental — limiting words weakens AI-rate reduction).yes
free_rehumanizeContinue a finished humanize_document job for free: upload a fresh detection report for its result and only the still-flagged passages are rewritten. Once per job, with a daily cap; the report must match that result.free
fix_citationsConvert in-text citations and the reference list to APA 7, MLA 9, Harvard, Chicago, IEEE, Vancouver, GB/T 7714, AMA, ACS or OSCOLA. Body text untouched.yes
condense_documentShorten a .docx to a target word count, keeping structure and citations.yes
translate_documentTranslate .docx/.pdf/.pptx/.xlsx/.epub/.html/.txt between 12 languages, keeping layout.yes
read_detection_reportRead a Turnitin or iThenticate AI Writing report: overall AI percentage and the flagged passages.free
check_jobLook up a job and download its result.free
get_credit_balanceCredits remaining.free

Two things worth knowing

Jobs take minutes; tool calls do not. Each operation waits about 55 seconds — enough for most documents — then returns a job_id with a note to call check_job. The work continues on the server either way; nothing is lost by the tool returning early.

ai_percent can be null, and that is usually good news. Turnitin prints * instead of a number whenever AI writing comes in under 20% — it will not quantify that band, because too much of it is false positives. So null means "under 20%, and Turnitin will say no more", never "0%" and never "no result".

Questions people ask

Will this bring a Turnitin AI score down? Usually under 20% in one pass with balanced — the threshold below which Turnitin prints * instead of a number. If it misses, hand the result back with the new report; only the passages still flagged get rewritten.

Does it work with iThenticate too? Yes — pass either report. The format is read from the file.

Is my document sent to the model? No. It uploads the file and answers with a path. A 40-page paper costs no tokens.

Privacy Policy

Documents you pass to a tool are uploaded over HTTPS to HumanPen's API (api.humanpen.net) for processing; results are written back to your disk, and processed files are kept server-side for about 7 days so check_job and the free re-humanize pass can find them. Document contents never enter the model's context. The full policy — what is collected, retention, and how to reach us — is at https://humanpen.net/legal/privacy.

Development

bash
npm installnpm run buildHUMANPEN_API_KEY=hp_... node selftest.mjs sample.docx report.pdf

selftest.mjs spawns the built server and talks JSON-RPC to it over stdio the way a real client does — proving the protocol, the tool registrations, stdout hygiene and one end-to-end job, not merely that the functions return. It needs a live key and spends credits, so it is a pre-release check rather than a CI step.

Links

Apache-2.0

Source: README.md at commit 705597a

Tools

8

humanize_document

Humanize a document

Rewrite a .docx or .pptx so it reads as human-written and scores lower on AI detectors, keeping meaning, citations, tables and layout. Optionally pass a Turnitin/iThenticate AI report to rewrite only the passages it flagged. If a fresh report still flags the result, run this tool again on the rewritten file with that new report - only the still-flagged passages are touched, and balanced remains the right strategy for the second pass. Saves the result next to the source and returns its path. COSTS CREDITS at 100 per 1,000 words processed (10 minimum) - say so and get agreement first.

Parameterssegmentsstrategymax_wordsmin_wordsoutput_pathreport_pathinstructionswait_secondsdocument_pathrequired

free_rehumanize

Re-humanize a job's still-flagged passages for free

Continue a finished humanize job for FREE. Upload a fresh detection report for that job's result; only the passages it still flags are rewritten, at no credit cost. The server enforces strict limits: one free continuation per job, a per-day cap, the report must be of THAT job's own result (>=90% match) and show >=20% AI, and the result must still exist (kept ~7 days). If a limit is not met it returns a clear reason - relay it and stop; do not retry or silently fall back to a paid job. Pass the job_id a prior humanize_document (or check_job) returned.

Parametersjob_idrequiredsegmentsoutput_pathreport_pathrequiredinstructionswait_seconds

fix_citations

Convert citation format

Rewrite a .docx's in-text citations and reference list into one target style, leaving the body text alone. Saves the result next to the source and returns its path. COSTS CREDITS at 5 per 1,000 words processed (10 minimum) - say so and get agreement first.

Parametersstylerequiredoutput_pathinstructionswait_secondsdocument_pathrequired

condense_document

Condense a document

Shorten a .docx to a target word count, keeping meaning, structure and citations. Saves the result next to the source and returns its path. COSTS CREDITS at 20 per 1,000 words processed (10 minimum) - say so and get agreement first.

Parametersmax_wordsrequiredoutput_pathinstructionswait_secondsdocument_pathrequired

translate_document

Translate a document

Translate a document into another language while keeping its layout, tables, images and formulas. Takes .docx, .pdf, .pptx, .xlsx, .epub, .html and .txt. Saves the result next to the source and returns its path. COSTS CREDITS at 10 per 1,000 words processed (10 minimum) - say so and get agreement first.

Parametersoutput_pathsource_langtarget_langrequiredwait_secondsdocument_pathrequired

read_detection_report

Read an AI-detection report

Read a Turnitin or iThenticate AI Writing report PDF: returns the overall AI percentage and the flagged passages. Free - reads the file without starting a job. Pass the same report to humanize_document to rewrite only what was flagged.

Parameterstypereport_pathrequiredinclude_segments

check_job

Check a job

Look up a job by id, and download its result if it has finished. Use this after a tool returned before the job was done.

Parametersjob_idrequiredoutput_pathdocument_path

get_credit_balance

Check the credit balance

How many credits the account has. Per 1,000 words processed: humanize 100 credits, citation fixes 5, condensing 20, translation 10, with a 10-credit minimum per job. Worth checking before a large document.

Takes no parameters.

Version history

2
  1. v1.4.4LatestOct 25, 2026
  2. v1.4.3Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts