{"name":"com.moltlinestudio/humanizer","slug":"moltlinestudio-humanizer","title":"Moltline Humanizer","description":"Find AI-isms with evidence and fingerprint a writing voice from samples. 3 of 5 free.","url":"https://mcp.market/server/moltlinestudio-humanizer","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-19T15:00:29.000Z","license":"MIT"},"uptime":{"percent":100,"checks":3,"ok":3,"last_checked_at":"2026-09-20T03:21:08.425Z","last_ok_at":"2026-09-20T03:21:08.425Z","latency_ms":130},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/GarphenGate/moltline-mcp","website":"https://moltlinestudio.com/servers.html#humanizer","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://mcp.moltlinestudio.com/humanizer"}],"packages":[],"tools":[{"name":"ai_tell_scan","description":"Scan a draft for the measurable tells of AI-generated prose. FREE.\n\nFlags stock phrases (with exact quotes), structural reflexes, uniform\nsentence rhythm, em-dash overuse, and hedging boilerplate — every flag\ncites the actual text. Typical input {\"text\": \"<draft>\"} returns\n{\"reads_human_score\": 0-100, \"metrics\": {\"burstiness\": ...,\n\"avg_sentence_len\": ..., ...}, \"evidence\": [{\"type\": \"stock_phrase\",\n\"quote\": \"...\"}], \"note\": \"...\"}.\n\nUse for a first read on whether a draft carries machine-writing signals.\nReports measurable patterns, not a verdict on who wrote the text, and must\nnot be used to accuse a person of anything. Not for rhythm detail\n(burstiness_report) or for a rewrite brief (humanize_plan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"empty text\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"The draft to scan — at least one full sentence of plain text."}},"required":["text"],"additionalProperties":false}},{"name":"burstiness_report","description":"Map a draft's sentence rhythm and find where it goes flat. FREE.\n\nReports per-sentence lengths, the burstiness coefficient, and runs of\nsimilar-length sentences. Typical input {\"text\": \"<draft>\"} returns\n{\"sentence_lengths\": [12, 14, 13, 5, 28], \"burstiness\": 0.52,\n\"flat_runs\": [{\"sentences\": \"1-3\", \"lengths\": [12, 14, 13]}],\n\"tip\": \"...\"}.\n\nUse when prose reads flat and sentence-length pattern is the suspect. Not\nfor a full inventory of tells (ai_tell_scan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"need 3+ sentences\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"The draft to analyze; needs at least 3 sentences."}},"required":["text"],"additionalProperties":false}},{"name":"humanize_plan","description":"Produce a precise rewrite brief that de-AIs a draft, with numeric targets. PREMIUM (license).\n\nLists every flagged tell with its fix and sentence-rhythm surgery\ntargets; when a voice_fingerprint result is supplied, adds numeric\ntargets to hit that person's voice. Apply the brief with your agent,\nthen confirm with verify_rewrite. Typical input {\"text\": \"<draft>\",\n\"fingerprint\": <voice_fingerprint result>} returns {\"current_score\":\n0-100, \"edit_list\": [\"...\"], \"numeric_targets\": {...}, \"process\": ...,\n\"integrity_note\": ...}.\n\nUse after a scan has identified what to fix; returns a brief, not\nrewritten prose. Not for checking whether a rewrite worked\n(verify_rewrite). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"The AI draft to plan a rewrite for."},"fingerprint":{"additionalProperties":true,"default":null,"type":"object","description":"Optional voice profile object exactly as returned by\nvoice_fingerprint; omit for a style-only pass."}},"required":["text"],"additionalProperties":false}},{"name":"verify_rewrite","description":"Verify a rewrite actually improved: score delta, meaning check, voice distance. PREMIUM (license).\n\nCompares reads-human score before/after, a meaning-preservation proxy,\nand (with a fingerprint) numeric distance to the target voice. Typical\ninput {\"original\": \"<draft>\", \"rewrite\": \"<edited draft>\"} returns\n{\"score_before\": N, \"score_after\": N, \"score_delta\": N,\n\"content_word_retention_pct\": N, \"remaining_tells\": [...],\n\"verdict\": \"Improved — ship it\" | \"Marginal — ...\"}.\n\nUse only when both the before and the after text are available. Not for\nscoring a single draft (ai_tell_scan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"both texts must be non-empty\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"original":{"type":"string","description":"The draft before editing."},"rewrite":{"type":"string","description":"The same content after the humanize_plan edits."},"fingerprint":{"additionalProperties":true,"default":null,"type":"object","description":"Optional voice profile object exactly as returned by\nvoice_fingerprint, to measure distance to the target voice."}},"required":["original","rewrite"],"additionalProperties":false}},{"name":"voice_fingerprint","description":"Build a measurable voice profile from samples of a person's real writing. FREE.\n\nFeed it 2+ samples (emails, posts, essays — 150+ words total) and use\nthe result with humanize_plan / verify_rewrite. Typical input\n{\"samples\": [\"<email text>\", \"<blog post>\"]} returns {\"label\":\n\"my-voice\", \"target_metrics\": {\"avg_sentence_len\": ..., \"burstiness\":\n..., ...}, \"favorite_words\": [...], \"signature_habits\": [\"...\"],\n\"words_analyzed\": N}.\n\nUse on samples the person actually wrote, to build a target profile. Not\nfor scoring an unknown draft (ai_tell_scan) and not on text the person did\nnot write. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"need 150+ words of real writing across the samples\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"samples":{"items":{"type":"string"},"type":"array","description":"List of real writing samples by the same person; 150+\nwords combined across all samples."},"label":{"default":"my-voice","type":"string","description":"Optional name for this voice profile. Default \"my-voice\"."}},"required":["samples"],"additionalProperties":false}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-09-20T00:23:54.936Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:23:54.967Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 373ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":5,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.moltlinestudio.com/humanizer","reachable":true,"authRequired":false,"latencyMs":373,"serverInfo":{"name":"moltline-humanizer","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"GarphenGate","repo":"moltline-mcp","archived":false,"pushedAt":"2026-09-19T15:00:29Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/316633241?v=4","ownerCreatedAt":"2026-08-13T15:17:26Z","license":"MIT"},"icon":{"url":"https://moltlinestudio.com/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-19T15:00:29.000Z","score":23}}}},"grade_history":[],"reviews":[]}