PluginBench
MCP Server
Active
MIT

humanizer-ru MCP Server

io.github.Vladimir-Human/humanizer-ru

Detect and remove chat interface artifacts from Russian text with 40 regex markers, zero false positives on class A.

What is the humanizer-ru MCP server?

The humanizer-ru MCP server detects and removes artifacts from pasted Russian text originating from chat interfaces, using 40 deterministic regex markers organized into classes A (hard artifacts like citation links) and B (contextual indicators like invisible characters). It provides offline text hygiene checking, safe artifact removal, fact verification, and detailed reporting without making authorship claims.

humanizer-ru helps editors, teachers, developers, and AI users identify machine-generated traces in Russian text before publication. It detects 40 types of chat-interface artifacts (contentReference links, citation markers, invisible characters, keyboard layout artifacts) with verified false-positive rates, safely removes supported artifacts while preserving code and URLs, verifies facts across edits, and generates detailed reports. The tool works entirely offline—text never leaves your machine.

How to install humanizer-ru

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "humanizer-ru": {
      "command": "uvx",
      "args": [
        "humanizer-ru",
        "humanizer-mcp"
      ]
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • humanizer-markers — Scan text for chat interface artifacts and machine-generated traces; outputs findings with line numbers, marker class (A/B), and explanations; supports --json output and --remove modes for invisible characters
  • humanizer-clean — Safely remove supported class A artifacts from text while preserving code blocks, URLs, Markdown, and protected regions; includes pre/post-scan verification and fact checking; generates .bak backup
  • humanizer-polish — Normalize typography and formatting without changing meaning; supports --preserve-markup mode for Markdown and --typographic mode for style normalization
  • humanizer-facts — Verify and compare facts (numbers, dates, URLs, names, quotes, negations, modalities) across text versions; detects lost or changed facts after edits
  • humanizer-report — Generate detailed reports of text edits with fact verification and artifact removal summary
  • humanizer-scan — Detect soft indicators of machine-generated writing for calibration; does not render verdicts

Use cases

  • Scan a document before publication to identify chat-interface copy-paste artifacts and machine-generated traces
  • Remove detected artifacts safely while preserving code, URLs, and Markdown formatting, then verify facts haven't changed
  • Set up a CI/CD gate to block pull requests containing unremoved class A artifacts from chat interfaces
  • Verify that edited text hasn't lost or altered critical facts (numbers, dates, names, quotes) after cleanup
  • Use within an AI agent (Claude, Cursor) via MCP to check generated or pasted text in real-time

humanizer-ru MCP server FAQ

What does humanizer-ru detect?

It detects 40 types of artifacts from Russian chat interfaces: class A (hard artifacts like :contentReference[oaicite:3]{index=3} citation links, invisible metadata) and class B (contextual indicators like invisible Unicode characters, hidden keyboard layouts). It also supports English detection with --language en or --language auto for mixed text.

Is it free and open source?

Yes. humanizer-ru is MIT licensed and available on PyPI. Source code is on GitHub at Vladimir-Human/humanizer-ru with full documentation, benchmarks, and methodology.

How do I install it in Claude or Cursor?

Add this to your MCP configuration: {"mcpServers": {"humanizer-ru": {"command": "uvx", "args": ["--from", "humanizer-ru==3.36.4", "humanizer-mcp"]}}}. Or install locally with `pip install humanizer-ru` and run `humanizer-mcp`.

Does it require authentication or API keys?

No. humanizer-ru works entirely offline—no API calls, no authentication required, no data leaves your machine.

What are the false-positive rates?

Class A (hard artifacts): 0 false positives on 12,314 non-native Russian texts. Class B (soft indicators): 8 false positives (0.00065 rate, 95% CI 0.0003–0.0013). Full methodology and benchmarks are in the research/ directory.

What doesn't it do?

It does not detect paraphrased machine text without artifacts, smooth machine-generated writing without traces, watermarks without cryptographic keys, or make authorship verdicts. It handles Russian and English but does not apply Russian stylistic heuristics to English text.

README (reference)

Source of truth, from the repository.

humanizer-ru

Проверяемая гигиена вставки из чата для русского текста

40 regex-маркеров артефактов вставки из чат-интерфейсов, у 38 из них полная запись доказательств. Ложных срабатываний класса A на 12314 текстах-неносителях ноль, класса B — 8, то есть 0.00065 (Wilson 95% CI от 0.0003 до 0.0013; замер 04.09.2026 по замороженной предрегистрации). Каждое число с датой и командой воспроизведения — в разделе «Цифры проекта».

Очистка артефактов вставки и сверка фактов доступны и для английского текста: добавьте --language en к humanizer-clean, humanizer-polish, humanizer-facts или humanizer-report (либо --language auto). Это не включает русские стилевые эвристики и не даёт вердиктов об авторстве; профиль сохраняет код, URL, Markdown и проверяемые факты. Русский профиль остаётся значением по умолчанию для совместимости.

Терминал humanizer-markers подсвечивает следы машинного текста и объясняет причину каждого флага

License: MIT PyPI CI

Кому это нужно

  • Редактору и преподавателю: проверить текст перед публикацией: humanizer-markers --scan файл.md.
  • Разработчику и CI: гейт вставки из чат-интерфейсов: action и контракт.
  • Пользователю ИИ-ассистента: та же проверка внутри агентной среды: MCP одной конфигурацией или демо.

Попробовать за 30 секунд

  • Демо в браузере: ничего не устанавливать, текст не покидает браузер.
  • Сообщить о проблеме или опыте использования: issue в репозитории; пользовательский текст не передаётся автоматически ни демо, ни сборщиком обратной связи.
  • Проверка конкретной вставки:

Самый короткий путь «нашёл → убрал → проверил»:

pip install humanizer-ru
humanizer-markers --scan input.txt       # найти следы (rc=1 = находка)
humanizer-clean --in-place input.txt     # снять поддержанные артефакты
humanizer-markers --scan input.txt       # убедиться, что остатка нет (rc=0)

Для английского входа добавьте --language en; для смешанного — --language auto. Очистка не переписывает стиль и смысл: проверьте результат вручную и используйте humanizer-facts diff до.txt после.txt --no-additions после редакторской правки.

python -c "open('primer.txt','w',encoding='utf-8').write('Согласно отчёту :contentReference[oaicite:3]{index=3}, рост заявок.\n')"
humanizer-markers --scan primer.txt; echo "rc=$?"
  primer.txt:1 [contentReference] Согласно отчёту :contentReference[oaicite:3]{index=3}, рост заявок.
  Найдено маркеров: 1.
  rc=1

rc=1 означает «найдены маркеры» — это ожидаемый результат проверки на образце со следом вставки, а не ошибка; rc=0 — следов нет, rc=2 — вход не читается (с --json конверт ошибки печатается в stdout).

Полный сценарий: найти, безопасно очистить, сверить, сообщить

  1. Найти артефакт вставки. humanizer-markers --scan файл.md печатает находки с координатами и классом: A — жёсткие артефакты копипасты из чат-интерфейсов, B — контекстные индикаторы вроде невидимых символов и скрытой раскладки; rc=1 означает находки. Демо-страница делает то же в браузере без установки и подсвечивает исходные диапазоны. Мягкие признаки машинного письма считает humanizer-scan: они калибруют объём правки и не дают вердикта.

  2. Безопасно очистить. humanizer-clean --in-place файл.md одной командой выполняет проверку до, снятие поддерживаемых артефактов, проверку после и сверку фактов; оригинал остаётся в копии .bak. Снимаются невидимые метки слоя A и видимые артефакты класса A вне защищённых областей (код, frontmatter, URL, HTML-атрибуты, ZWJ-кластеры эмодзи). Стиль и смысл не переписываются; неподдерживаемые находки вроде класса B, вики-разметки и плейсхолдеров остаются явным остатком с кодом возврата 1, полная чистота не заявляется. При нарушении инвариантов защищённых областей результат не записывается. Невидимые символы снимаются и точечно, по классам риска из поля invisible_classes файла markers.v1.json: humanizer-markers --remove файл.md убирает safe автоматически, ambiguous — только с явным флагом --include-ambiguous, dangerous показывает и не снимает. Типографику без правки смысла нормализует humanizer-polish; на разметке используйте режимы --preserve-markup и --typographic.

  3. Проверить диф. humanizer-clean --diff файл.md печатает унифицированный диф до и после без записи; конверт --json несёт сверку фактов и перечень остатка. После ручной правки сверьте факты отдельно: humanizer-facts diff до.txt после.txt --no-additions сравнит числа, даты, URL, имена, цитаты, отрицания и модальности; поля lost и changed обязаны быть пустыми, иначе верните факты в текст.

  4. Сообщить результат. humanizer-report до.txt после.txt готовит отчёт о правке со сверкой фактов. Находку коллеге передаёт humanizer-markers --scan --json файл.md: пересылайте поля file, line, marker, class и fragment, а не весь документ. Находка класса A устанавливает факт вставки, а не автора: помечайте источник, на который указывал артефакт, как «требует проверки». Вердиктов об авторстве нет ни у инструментов, ни у скилла — это Главное правило SKILL.md.

Сценарий одним блоком:

humanizer-markers --scan вставка.md              # 1: найти; rc=1 = находки есть
humanizer-clean --diff вставка.md                # 2: показать, что будет снято
humanizer-clean --in-place вставка.md            # 2: очистить; оригинал в .bak
humanizer-facts diff вставка.md.bak вставка.md --no-additions  # 3: сверить факты
humanizer-report вставка.md.bak вставка.md       # 4: отчёт о правке

Подробности команд и режимов — в docs/USAGE.md.

MCP одной конфигурацией

{
  "mcpServers": {
    "humanizer-ru": {
      "command": "uvx",
      "args": ["--from", "humanizer-ru==3.36.4", "humanizer-mcp"]
    }
  }
}

Форма uvx устанавливает закреплённый выпуск PyPI и запускает stdio-сервер. При локальной установке эквивалентны pip install humanizer-ru и запуск humanizer-mcp.

Матрица проверенных возможностей и границ

Без заявлений о лидерстве: сопоставимого внешнего исследования в нише на дату записи нет (см. LEADERBOARD.md). Строки — что фактически проверено гейтами и тестами цикла; границы — что поверхность не делает.

ПоверхностьПроверка известных артефактовБезопасная очисткаСверка фактовМашинный конвертГраница
CLI (humanizer-markers, -polish, -facts, -report)да, с координатами и классами A/Bрежимы strip / --preserve-markup / --typographic с инвариантами сохраненияhumanizer-facts (категории фактов)--json, коды возврата по контрактусемантику не проверяет; вердиктов об авторстве нет
MCP (humanizer-mcp, набор инструментов contract.v1.json)те же команды через stdioте же режимы через humanizer_polishhumanizer_factsJSON-RPC конверты, isError по контрактутекст не покидает процесс
Демо на Pagesда, подсветка исходных диапазонов в браузереда, preview + явное Apply + Undo для поддержанных артефактовнеткопирование отчёта из одного результатаофлайн в браузере, без установки
GitHub Actionгейт вставки + автофикс текстового пути (класс A)action_fix вне fenced/коданетrc гейтафикс не трогает защищённые области
Текстовый скилл (SKILL.md)процедуры агента по referencesстилевая правка только по явной просьбенетнет (проза скилла)гарантий естественности и сохранности смысла нет

Что это НЕ делает

  • Переписанный текст: теоретический потолок детекции при парафразе [bib:sadasivan2023]; парафраз обнуляет детекторы [bib:dipper2023].

  • Нативно-гладкий машинный текст без артефактов: документная граница там же [bib:sadasivan2023]; популяционная детекция возможна только на больших выборках [bib:chakraborty2023], вердикт по документу не заявляется.

  • Короткий текст: сигналов меньше, чем слов, водяной знак и статистика требуют длины [bib:anthropic2026wm], [bib:synthid2024].

  • Водяные знаки без ключа: distortion-free знак не виден стороннему наблюдателю по построению [bib:kuditipudi2023]; криптографическая неотличимость без ключа [bib:cgz2023]; детектор SynthID-Text требует ключ разработчика [bib:synthid2024]; Anthropic подтверждает: без ключа знак не проверяется, детектор-API в закрытом preview [bib:anthropic2026wm].

  • Ключи [bib:…] раскрыты в research/BIBLIOGRAPHY.md.

  • polish не запускать на Markdown и разметке: снимает ##, **, ёлочки, тире; для разметки — режим --preserve-markup.

Почему можно доверять

Установка скилла в браузерные клиенты

  • Демо работает без установки: https://vladimir-human.github.io/humanizer-ru/ — текст не покидает браузер.
  • Claude.ai и Claude Code: добавьте скилл из каталога dsh/skills/humanizer-ru по инструкции установки в docs/USAGE.md.
  • Агентные клиенты с поддержкой agentskills.io (opencode, DeepSeek Harness): распакуйте текстовый бандл из архива релиза.
  • Браузерное расширение отклонено: новый поверхностный контур (permissions, store review) не окупается; очередь идей — research/BACKLOG.md.

Каталоги: Glama MCP · skills.sh.

Одноимённые проекты

На GitHub есть скиллы с тем же именем и другим содержанием. Снимок 2026-09-11 (проверка: gh repo view <владелец>/humanizer-ru --json stargazerCount):

  • ilyautov/humanizer-ru — 333 звезды: позиционирование «убирает признаки нейросети», публичного реестра чисел нет; приглашён к совместному публичному бенчмарку (issue 220).
  • smixs/humanizer-ru — 154 звезды: детерминированный линтер; единственный тёзка, включённый в LEADERBOARD.md как кандидат (парный прогон 2026-09-03).
  • Этот проект — проверяемая гигиена вставки из чат-интерфейсов: каждое число из детерминированных снимков и реестра фактов, границы — в THREAT-MODEL, ложные срабатывания — в бенчмарке.

Пришли по имени — выбирайте по способу проверки, а не по звёздам.

Цифры проекта

  • 58 паттернов машинного письма и 40 regex-маркеров (классы A и B).
  • Записи доказательств: 38 из 40 маркеров (реестр research/fixtures/marker-sources.json).
  • Гейты: 156 гейтов полного check_all (145 в --quick); фикстуры в tests/fixtures/, документация сверяется check_docs.py, персона описана в PERSONA.md.

Почему так называется: имя унаследовано от первой функции, снимавшей слой копипасты после чат-бота и возвращавшей тексту человеческий вид. Вторая функция продукта: диагностика, подсветить машинные следы и объяснить причину каждого флага, без вердиктов об авторстве. Обе функции работают офлайн, текст не покидает вашу машину.

Классовая разбивка FP, exploratory, вне предрега F16: класс A: 0 случаев на 12314 текстов-неносителей; класс B: 8 случаев на 12314, то есть 0.00065, Wilson 95% CI от 0.0003 до 0.0013; контрольный набор 40 текстов: флагов 0; тяжёлый домен S4 legal и official, n=381, дефицит объёма зафиксирован в предреге: 18 случаев на 381, то есть 0.0472, Wilson 95% CI от 0.0301 до 0.0734; знаменатели: 12354 полный корпус F16, 12314 validation-страта.

Подробнее

Regex-маркеры: классы A и B

Класс A — жёсткие артефакты копипасты: служебные ссылки и метки цитирования чат-интерфейсов. Класс B — контекстные индикаторы: невидимые символы, скрытая раскладка, placeholder-поля; одного совпадения B недостаточно. Класс маркеров — copypaste_artifacts; ретайр маркера возможен только по провалу на своём классе, статусы и даты — в markers.v1.json.

История изменений

История изменений — в CHANGELOG.md и на GitHub Releases.

Лицензия

MIT

Статус проекта

Версия Skills.sh Догфудинг

Догфудинг — проект проверяет собственные тексты собственными правилами: порог маркеров стиля в файлах поставки сверяется гейтом scripts/check_own_style.py (текущий максимум выводится в его запуске).

Related MCP servers

Read-only MCP servers for Russian and Chinese marketplaces: prices, stock, ratings, reviews, seller details.

66
Python
MIT
View repository →

90+ pure finance calculators: loans, investing, bonds, options, tax. Stateless, stores nothing.

2
JavaScript
Apache-2.0
View repository →
RORoundWatch logo

Durable Algorand USDC payment monitoring for autonomous workflows.

0
TypeScript
MIT
View repository →

Multi-chain wallet intelligence: balances, transactions, ENS, OFAC screening across 7 chains.

Cross-source search across 18 real-time data sources, source-cited and corroboration-checked.

Live crypto trend signals, ranking, and backtesting for BTC/ETH/SOL/XRP/ADA. x402 pay-per-call.