Wrapper Mcp

io.github.Buggy1111由 GitHub 账号 Buggy1111 发布v0.8.5更新于 Oct 24, 2026

Czech NLP tools: NER (35 langs), anonymization (80+ PII), morphology, translation, spellcheck

概览

AI 生成的概览

本地运行的 MCP 服务器,封装 LINDAT/ÚFAL 捷克语 NLP 工具,提供多语言命名实体识别、PII 匿名化、形态分析、翻译、拼写检查与可读性分析。

可以做什么
在 35 种自动检测语言中抽取人名、机构、地名等实体,捷克语标签集更丰富,本地模式仅支持捷克语和英语实体。用 80 多种 PII 模式(各国证件号、IBAN、欧盟增值税号、加密货币地址、API 令牌)结合实体识别对文本做匿名化或假名化,可选确定性占位符。进行形态分析:分词、词形还原、词性标注和依存句法分析,支持 35 种语言。检查捷克语可读性,纠正捷克语拼写和变音符号。在 8 种语言(捷、英、法、德、波、俄、乌、印地)之间翻译,含直接语言对和英语中转。
适用场景
适合在把法律、医疗、学术、银行等敏感文档交给 AI 审阅前先去除个人数据,也适合处理捷克语及中东欧文本时需要实体抽取、形态分析、翻译或拼写检查的场景。
运行要求
作为本地 Python 进程运行,从 PyPI 安装(pip install anonymize-mcp);默认云端模式需要访问 LINDAT/ÚFAL 的 REST 服务。可选的零外传模式需安装 local 附加组件、一次性下载约 31 MB 模型,并设置环境变量 ANONYMIZE_MCP_LOCAL=1。未声明需要账号或 API 密钥。
安装前请注意
默认云端模式会把文本发送到外部 ÚFAL 服务器,敏感内容应先匿名化再发送。零外传模式需通过 ANONYMIZE_MCP_LOCAL=1 主动开启;在该模式下其他工具会被拒绝,除非设置 ANONYMIZE_MCP_LOCAL_ALLOW_CLOUD=1。模型为非商业许可(CC BY-NC-SA),LINDAT API 仅对学术和个人用途免费,商业使用需联系工具作者。这是非官方社区封装,未获 ÚFAL 认可。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Wrapper Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

anonymize-mcp

[CI] [PyPI] [Python] [License: MIT]

MCP server obalující NLP nástroje LINDAT / ÚFAL MFF UK — multilingvální NER + morfologie (35 jazyků auto-detect), production-grade anonymizace s 80+ PII patterny napříč 9 sektory + mezinárodním pokrytím (US/UK/DE/FR/IT/ES/PL/RU/IN, EU VAT 28 zemí, IBAN 30+ zemí, crypto, API tokeny), překlad mezi 8 jazyky (17 přímých párů + auto EN-pivot), čitelnost a korektura.

🔒 Nově (v0.10.0): zero-egress lokální mód — plně offline anonymizace, žádný text neopustí stroj. Pro GDPR / právní / zdravotnická data. Zapnutí: ANONYMIZE_MCP_LOCAL=1.

🌐 Nechcete nic instalovat? Vyzkoušejte to online zdarma → anonymizace.js.org — anonymizace, NER, morfologie, korektor a překlad češtiny přímo v prohlížeči. Doprovodný web k tomuto MCP serveru.

Pouze pro nekomerční použití. Modely NameTag a UDPipe jsou pod CC BY-NC-SA. LINDAT API je bezplatné pro akademické a osobní použití. Pro komerční nasazení kontaktujte autory nástrojů a [email protected].

Neoficiální komunitní projekt — není provozován ani schválen ÚFAL MFF UK; wrapper kolem veřejných LINDAT API od nezávislého vývojáře. Historie názvů: ufal-mcp → wrapper-mcp (v0.8.0, na žádost ÚFAL) → anonymize-mcp (v0.9.0). Pokud máte nainstalovaný deprecated balíček wrapper-mcp, přejděte na pip install anonymize-mcp — je to tentýž projekt.

Co umí

ToolBackendK čemu
extract_entitiesNameTag 3NER pro CZ (bohatý CNEC 2.0 tagset) + 34 dalších jazyků (UNER PER/ORG/LOC) s auto-detekcí
anonymizeMasKIT + NameTagProduction-grade pseudonymizace: regex pre-pass přes 80+ PII patternů — CZ + international (IBAN 30+ zemí, EU VAT 28, US SSN/EIN, DE/UK/FR/IT/ES/PL/RU/IN ID, crypto, API tokeny). Opt-in placeholder_mode (deterministické OSOBA1/MESTO1). 🔒 Zero-egress lokální mód (ANONYMIZE_MCP_LOCAL=1) — plně offline, viz níže.
analyze_morphologyUDPipeTokenizace, lemmatizace, POS tagging, závislostní parse — auto-detect 35 jazyků
check_readabilityPONKČitelnost CZ — 4 feature sety: metrics + rules + lexical surprise + speech acts
correct_textKorektorCZ spell checker + auto-doplnění/odstranění diakritiky
translate_textCharles TranslatorPřeklad mezi 8 jazyky (CZ/EN/FR/DE/PL/RU/UK/HI), 17 přímých párů + auto EN-pivot

Podporované jazyky — NER + morfologie (35 jazyků, auto-detect)

  • 🇨🇿 CZ · 🇸🇰 SK · 🇬🇧 EN · 🇩🇪 DE · 🇫🇷 FR · 🇮🇹 IT · 🇪🇸 ES · 🇵🇹 PT · 🇳🇱 NL
  • 🇵🇱 PL · 🇭🇺 HU · 🇷🇴 RO · 🇸🇮 SL · 🇧🇬 BG · 🇬🇷 EL · 🇭🇷 HR · 🇷🇸 SR · 🇺🇦 UK · 🇷🇺 RU
  • 🇫🇮 FI · 🇱🇹 LT · 🇱🇻 LV · 🇪🇪 ET · 🇩🇰 DA · 🇸🇪 SV · 🇳🇴 NO (Bokmål + Nynorsk)
  • 🇨🇳 ZH · 🇦🇪 AR · 🇹🇷 TR · 🇻🇳 VI · 🇮🇳 HI · 🇮🇱 HE · 🇯🇵 JA · 🇰🇷 KO · 🇹🇭 TH

Pro koho je tohle (sektory + use cases)

Stress-tested napříč 9 sektory na 12.7KB cross-sektorovém spisu — výsledek 94/94 unique PII chyceno v jednom volání. Plus international corpus 17/17 (US/UK/DE/FR/IT/ES/PL/RU/IN + crypto + akademické + fleet):

SektorUse casePII které MCP zvládne
⚖️ PrávoAnonymizace spisu před AI review, GDPR complianceJména, RČ, adresy, č.j., sp.zn., IBAN, OP, datovky
🏥 MedicínaPropouštěcí zprávy pro výzkum, statistika hospitalizacíRČ, IČZ, č. pojištěnce, kontakty lékaře — klinické kódy MKN-10 zachované
🎓 Věda / akademiePeer review, citace v publikaciORCID, Researcher ID, e-maily kolegů, granty
💳 BankovnictvíCompliance, výpisy do AI, vykazováníČ.ú., karta, IBAN, VS/KS/SS, header výpisu
🏠 Reality / katastrAnonymizace výpisů z KN, smluvLV, parcely, k.ú., vlastník + RČ + adresa
🚗 PojišťovnyLikvidace škod, AI analýzaVIN, SPZ, č. pojistky, TP, OP, RČ pojištěného
📜 NotářiNotářské zápisy pro AI summaryNZ, OP, datovka notáře, sp. zn.
📚 Studijní odděleníPotvrzení o studiu, statistika studentůUČO, studijní č., ISIC, kontakty studenta
🔬 Výzkum / NGOAnonymizace korpusu pro etiku výzkumuVše výše + zachování klinických/právních kódů

Plus 35 jazyků v multilingvální stack (legal docs SK/EN/DE/PL/UK/RU/FR/HI/ES/IT/AR + 24 dalších otestovány na NER+morfologii, auto EN-pivot pro překlad mimo přímé Charles páry). CJK jména (čínská/japonská) maskována od v0.8.4.

Sektor #10 — International

Use casePII které MCP zvládne
🌍 US/UK/DE/FR/IT/ES/PL/RU/IN dokumentySSN, NIN, Steuer-ID, NIR, Codice Fiscale, DNI, PESEL, Aadhaar, PAN, cestovní pasy (8 jazyků) — auto bez lang= parametru
💰 Crypto/Web3 outreach, smart contractsBitcoin (Legacy/P2SH/Bech32/Taproot), Ethereum, Monero, XRP, TRON
🔐 DevOps logs / API key leak detectionOpenAI, Anthropic, OpenRouter, GitHub PAT, AWS, Google, Slack, Stripe tokeny
🏢 Cross-border B2BForeign companies (SARL/SAS/GmbH/AG/Ltd/LLC/Inc/SpA/SL/Sp. z o.o.) + EU VAT (28 zemí) + IBAN (30+ zemí)

Instalace

Z PyPI (doporučeno):

bash
pip install anonymize-mcp

Nebo ze source:

bash
git clone https://github.com/Buggy1111/anonymize-mcp.gitcd anonymize-mcppip install -e .

Registrace v MCP klientovi

anonymize-mcp je standardní MCP server (stdio transport). Po registraci a restartu klienta máš k dispozici 6 nástrojů:

  • mcp__anonymize__extract_entities — multilingvální NER (35 jazyků auto-detect)
  • mcp__anonymize__anonymize — production-grade pseudonymizace CZ (regex pre-pass + stop-list + placeholder mode)
  • mcp__anonymize__analyze_morphology — morfologie 35 jazyků auto-detect (UDPipe 961 modelů)
  • mcp__anonymize__check_readability — čitelnost CZ (4 feature sety)
  • mcp__anonymize__correct_text — spell check + diakritika CZ
  • mcp__anonymize__translate_text — překlad mezi 8 jazyky

Claude Code (terminál)

bash
claude mcp add anonymize -s user -- anonymize-mcp

Claude Desktop

Starší Claude Desktop (Mac .app z anthropic.com, Windows .exe installer):

Edituj ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) nebo %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "anonymize": {      "command": "anonymize-mcp"    }  }}

Nová Claude Desktop (Microsoft Store / appx package, "Cowork" UI): k 05/2026 podporuje pouze remote MCP servery přes HTTP URL. Lokální stdio MCP servery jako anonymize-mcp zde přidat nelze.

Na Windows může být anonymize-mcp.exe mimo PATH (typicky C:\Python\Python3xx\Scripts\anonymize-mcp.exe). V configu pak použij plnou cestu.

OpenAI Codex CLI (autorem netestováno)

Edituj ~/.codex/config.toml:

toml
[mcp_servers.anonymize]command = "anonymize-mcp"

Cursor (autorem netestováno)

Edituj .cursor/mcp.json v projektu (nebo globálně ~/.cursor/mcp.json):

json
{  "mcpServers": {    "anonymize": {      "command": "anonymize-mcp"    }  }}

Windsurf, Cline, Zed, VS Code Copilot Agent (autorem netestováno)

Stejný mcpServers JSON formát — viz dokumentace daného klienta. command: "anonymize-mcp" (případně absolutní cesta).

Použití

V Claude Code stačí napsat například:

Anonymizuj text z dokument.md v placeholder_mode a vrať mi čistou verzi.

Vytáhni z dokumentu všechny osoby, soudy a č.j.

Klient přinesl ukrajinský dokument — přelož mi ho do češtiny, najdi entity a zanalyzuj morfologii.

Projeď moje podání přes PONK — vrať aktivovaná gramatická pravidla.

Klient mi posílá text bez diakritiky z mobilu — doplň diakritiku přes Korektor.

Autor

anonymize-mcp napsal Michal Bürgermeister (@Buggy1111, [email protected]) — nezávislý vývojář z ČR.

Wrapper kolem skvělých nástrojů ÚFAL MFF UK — bez NameTag, MasKIT, UDPipe, PONK, Korektor a Charles Translator by tenhle MCP server neexistoval. Díky celému ÚFAL týmu (Jana Straková, Milan Straka, Jiří Mírovský, Barbora Hladká, Silvie Cinková a další) za roky práce na production-grade NLP nástrojích pro češtinu.

Issues, PR a feedback jsou vítané na github.com/Buggy1111/anonymize-mcp.

Licence

Tento nástroj má MIT licenci (viz LICENSE).

Pod ním jsou čtyři samostatné nástroje, každý s vlastní licencí:

KomponentaAutořiLicence softwareLicence modelů
NameTag 3Jana Straková, Milan StrakaMPL 2.0CC BY-NC-SA (NON-commercial)
UDPipeMilan Straka, Jana StrakováMPL 2.0CC BY-NC-SA (NON-commercial)
MasKITJiří Mírovský, Barbora HladkáMPL 2.0(rule-based)
PONKJiří Mírovský, Silvie Cinková, Barbora Hladká + autoři podaplikací: Ivan Kraus, Arnold Stanovský, Jan Černý, Ivana Kvapilíková, Tomáš Polák, Silvie CinkováMPL 2.0(rule-based + UDPipe → CC BY-NC-SA)

Důležité: tento nástroj nevolá lokální instalaci, ale veřejné API služby (lindat.mff.cuni.cz, quest.ms.mff.cuni.cz). Bezplatné pro akademické a osobní použití. Hromadný / placený / produkční traffic vyžaduje explicitní souhlas autorů a provozovatele API.

Bezpečnost

  • V cloudovém módu posíláš text na externí server (quest.ms.mff.cuni.cz, lindat.mff.cuni.cz). Před odesláním citlivých dat nejdřív projeď text přes anonymize.
  • Pro plně privátní zpracování použij zero-egress lokální mód (níže) — žádný text neopustí tvůj stroj.

Zero-egress / on-prem mód 🔒

Anonymizace kompletně lokálně — žádné volání externího API, žádný text neopustí stroj. Pro GDPR / právní / zdravotnická data, kde citlivý obsah nesmí ven.

bash
pip install "anonymize-mcp[local]"          # přidá ufal.nametag (lokální NER)python -m anonymize_mcp.local_backend        # jednorázově stáhne model (~31 MB)ANONYMIZE_MCP_LOCAL=1 anonymize-mcp          # spusť server v lokálním módu

V Claude Code stačí přidat env proměnnou k registraci:

bash
claude mcp add anonymize -s user -e ANONYMIZE_MCP_LOCAL=1 -- anonymize-mcp

Jak to funguje: anonymize přeskočí MasKIT API a anonymizuje přes lokální regex pre-pass (80+ vzorů) + NameTag NER běžící v procesu (ufal.nametag + CNEC 2.0 model). Jména, města, instituce, telefony, IČO, RČ, č.j. atd. se nahradí placeholdery (OSOBA1, MESTO1, TELEFON1…) bez jediného síťového volání.

Konfigurace (env):

ProměnnáVýznam
ANONYMIZE_MCP_LOCAL=1Zapne zero-egress mód
ANONYMIZE_MCP_NAMETAG_MODEL=/cesta/model.nerVlastní cesta k modelu (jinak auto-download do ~/.cache/anonymize-mcp/models/)
ANONYMIZE_MCP_NO_DOWNLOAD=1Zakáže auto-download (model musíš dodat ručně)
ANONYMIZE_MCP_LOCAL_ALLOW_CLOUD=1Vědomě povolí cloudové tooly i v lokálním módu (jinak odmítnuté, viz níže)

Co je v lokálním módu lokální (v0.10.1): anonymize i extract_entities běží plně offline (lokální CNEC 2.0 NER; multilingvální model vyžaduje API, tool na to upozorní warningem). Ostatní tooly (translate_text, correct_text, check_readability, analyze_morphology) by text poslaly na ÚFAL API — proto jsou v zero-egress módu odmítnuté s vysvětlující chybou; vědomě je povolíš přes ANONYMIZE_MCP_LOCAL_ALLOW_CLOUD=1.

Hardened setup (air-gapped/auditované stroje): model si předstáhni předem (python -m anonymize_mcp.local_backend — ověřuje se SHA-256) a server nasaď s ANONYMIZE_MCP_NO_DOWNLOAD=1 — pak proces nikdy neotevře žádné síťové spojení.

Tradeoff: lokální NameTag 1 (CNEC 2.0, CC BY-NC-SA, non-commercial) je o něco jednodušší než cloudový NameTag 3 a vynechává MasKIT rule-engine — výměnou za nulový egress.

Použité API (6 LINDAT REST endpointů)

  • POST https://lindat.mff.cuni.cz/services/nametag/api/recognize — NER
  • POST https://lindat.mff.cuni.cz/services/udpipe/api/process — morfologie
  • POST https://lindat.mff.cuni.cz/services/korektor/api/correct — spell check
  • POST https://lindat.mff.cuni.cz/services/translation/api/v2/models/{src-tgt} — překlad
  • POST https://quest.ms.mff.cuni.cz/maskit/api/process — anonymizace
  • POST https://quest.ms.mff.cuni.cz/ponk/api/process — čitelnost

Vývoj

bash
python3 -m venv .venvsource .venv/bin/activatepip install -e .
# Testy (272 offline testů; síťové: pytest -m network)pip install -e ".[test]"pytest -m "not network"

Release proces

PyPI publish je automatický přes Trusted Publisher (OIDC).

bash
# Bump version v pyproject.toml a src/anonymize_mcp/__init__.pygit commit -am "release: v0.X.0"git tag v0.X.0git push origin main --tags

来源:README.md,提交 15fb051

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.8.5最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。