MCP server wrapping LINDAT NLP tools — production-grade anonymization, multilingual NER (33+ languages), UDPipe (961 models), Charles Translator (8 languages), PONK readability, Korektor spellcheck. Non-commercial use only.
Project description
wrapper-mcp
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.
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
ufal@ufal.mff.cuni.cz.
Dříve
ufal-mcp— přejmenováno na žádost ÚFAL MFF UK (v0.8.0).
Co umí
| Tool | Backend | K čemu |
|---|---|---|
extract_entities |
NameTag 3 | NER pro CZ (bohatý CNEC 2.0 tagset) + 34 dalších jazyků (UNER PER/ORG/LOC) s auto-detekcí |
anonymize |
MasKIT | Production-grade pseudonymizace (v0.7.26): 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). |
analyze_morphology |
UDPipe | Tokenizace, lemmatizace, POS tagging, závislostní parse — auto-detect 35 jazyků |
check_readability |
PONK | Čitelnost CZ — 4 feature sety: metrics + rules + lexical surprise + speech acts |
correct_text |
Korektor | CZ spell checker + auto-doplnění/odstranění diakritiky |
translate_text |
Charles Translator | Př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
Instalace
Z PyPI (doporučeno):
pip install wrapper-mcp
Nebo ze source:
git clone https://github.com/Buggy1111/wrapper-mcp.git
cd wrapper-mcp
pip install -e .
Registrace v MCP klientovi
wrapper-mcp je standardní MCP server (stdio transport). Po registraci a restartu klienta máš k dispozici 6 nástrojů:
mcp__wrapper__extract_entities— multilingvální NER (35 jazyků auto-detect)mcp__wrapper__anonymize— production-grade pseudonymizace CZ (regex pre-pass + stop-list + placeholder mode)mcp__wrapper__analyze_morphology— morfologie 35 jazyků auto-detect (UDPipe 961 modelů)mcp__wrapper__check_readability— čitelnost CZ (4 feature sety)mcp__wrapper__correct_text— spell check + diakritika CZmcp__wrapper__translate_text— překlad mezi 8 jazyky
Claude Code (terminál)
claude mcp add wrapper -s user -- wrapper-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):
{
"mcpServers": {
"wrapper": {
"command": "wrapper-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 wrapper-mcp zde přidat nelze.
Na Windows může být
wrapper-mcp.exemimo PATH (typickyC:\Python\Python3xx\Scripts\wrapper-mcp.exe). V configu pak použij plnou cestu.
OpenAI Codex CLI (autorem netestováno)
Edituj ~/.codex/config.toml:
[mcp_servers.wrapper]
command = "wrapper-mcp"
Cursor (autorem netestováno)
Edituj .cursor/mcp.json v projektu (nebo globálně ~/.cursor/mcp.json):
{
"mcpServers": {
"wrapper": {
"command": "wrapper-mcp"
}
}
}
Windsurf, Cline, Zed, VS Code Copilot Agent (autorem netestováno)
Stejný mcpServers JSON formát — viz dokumentace daného klienta. command: "wrapper-mcp" (případně absolutní cesta).
Použití
V Claude Code stačí napsat například:
Anonymizuj text z
dokument.mdv 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
wrapper-mcp napsal Michal Bürgermeister (@Buggy1111, michalbugy12@gmail.com) — 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/wrapper-mcp.
Licence
Tento wrapper má MIT licenci (viz LICENSE).
Pod ním jsou čtyři samostatné nástroje, každý s vlastní licencí:
| Komponenta | Autoři | Licence software | Licence modelů |
|---|---|---|---|
| NameTag 3 | Jana Straková, Milan Straka | MPL 2.0 | CC BY-NC-SA (NON-commercial) |
| UDPipe | Milan Straka, Jana Straková | MPL 2.0 | CC BY-NC-SA (NON-commercial) |
| MasKIT | Jiří Mírovský, Barbora Hladká | MPL 2.0 | (rule-based) |
| PONK | Jiří 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 wrapper 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še posíláš 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řesanonymize. - Pro plně privátní zpracování doporučuji lokální self-host: NameTag i UDPipe mají modely ke stažení (CC BY-NC-SA), MasKIT a PONK mají MPL 2.0 source.
Použité API (6 LINDAT REST endpointů)
POST https://lindat.mff.cuni.cz/services/nametag/api/recognize— NERPOST https://lindat.mff.cuni.cz/services/udpipe/api/process— morfologiePOST https://lindat.mff.cuni.cz/services/korektor/api/correct— spell checkPOST https://lindat.mff.cuni.cz/services/translation/api/v2/models/{src-tgt}— překladPOST https://quest.ms.mff.cuni.cz/maskit/api/process— anonymizacePOST https://quest.ms.mff.cuni.cz/ponk/api/process— čitelnost
Vývoj
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# Smoke test (volá živé API)
python test_live.py
Release proces
PyPI publish je automatický přes Trusted Publisher (OIDC).
# Bump version v pyproject.toml a src/wrapper_mcp/__init__.py
git commit -am "release: v0.X.0"
git tag v0.X.0
git push origin main --tags
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wrapper_mcp-0.8.0.tar.gz.
File metadata
- Download URL: wrapper_mcp-0.8.0.tar.gz
- Upload date:
- Size: 91.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30f5f638e97a9f8f888ad86131f9f30b96cb7f7ca336249664b9278a2d586f43
|
|
| MD5 |
db94df4da1894a4fcb496a6f27bec4a8
|
|
| BLAKE2b-256 |
8645c4fb7288b4876d35b007fc68bf07b362258542a0c963adff58f4ccdedb2c
|
Provenance
The following attestation bundles were made for wrapper_mcp-0.8.0.tar.gz:
Publisher:
release.yml on Buggy1111/wrapper-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wrapper_mcp-0.8.0.tar.gz -
Subject digest:
30f5f638e97a9f8f888ad86131f9f30b96cb7f7ca336249664b9278a2d586f43 - Sigstore transparency entry: 1629459756
- Sigstore integration time:
-
Permalink:
Buggy1111/wrapper-mcp@f156fc267eb41a6d50cb7a981edad7825dfa261b -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/Buggy1111
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f156fc267eb41a6d50cb7a981edad7825dfa261b -
Trigger Event:
push
-
Statement type:
File details
Details for the file wrapper_mcp-0.8.0-py3-none-any.whl.
File metadata
- Download URL: wrapper_mcp-0.8.0-py3-none-any.whl
- Upload date:
- Size: 102.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0826a9bccc7eb9b8b8354784473d79078857f627ee565a562908f0edcb93e64
|
|
| MD5 |
53a0a74d8918daf3fccbf3347a9f09ad
|
|
| BLAKE2b-256 |
943a5e7cb79a508c04d491d94835e7c57f912d02a8f55757fd4dc323927b0300
|
Provenance
The following attestation bundles were made for wrapper_mcp-0.8.0-py3-none-any.whl:
Publisher:
release.yml on Buggy1111/wrapper-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wrapper_mcp-0.8.0-py3-none-any.whl -
Subject digest:
f0826a9bccc7eb9b8b8354784473d79078857f627ee565a562908f0edcb93e64 - Sigstore transparency entry: 1629459787
- Sigstore integration time:
-
Permalink:
Buggy1111/wrapper-mcp@f156fc267eb41a6d50cb7a981edad7825dfa261b -
Branch / Tag:
refs/tags/v0.8.0 - Owner: https://github.com/Buggy1111
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f156fc267eb41a6d50cb7a981edad7825dfa261b -
Trigger Event:
push
-
Statement type: