EuropassMCP
EuropassMCP
Это MCP-сервер, позволяющий ИИ-агенту собрать CV в формате Europass и экспортировать его в строго соответствующий схеме Europass XML или в PDF, содержащий этот XML внутри.
Europass CV — это стандартизированный формат резюме Европейского союза. Его машиночитаемая форма представляет собой XML-документ, соответствующий определению схемы Europass CV XML версии 3.0.3. Этот сервер предоставляет агенту набор небольших инструментов, ограниченных по разделам, для заполнения резюме в ходе разговора, и отказывается экспортировать то, что схема отвергнет, так что состояние «почти валидно» недостижимо для готового документа.
Неофициальный
Этот проект не связан с Европейским союзом, Европейской комиссией или Cedefop, не одобрен ими и не создан ими. Он не содержит эмблемы ЕС и не использует товарный знак Europass; создаваемый им PDF — это независимая имитация макета Europass, а не официальный документ, о чём сказано на странице. Europass является товарным знаком Европейского союза.
Единственный актив Европейского союза, который распространяется этим репозиторием, — это сама XML-схема, на условиях гранта EUPL-1.1, под которым её опубликовали авторы. См. Лицензирование.
Требования
Python 3.11 или новее.
MCP-клиент, способный запускать сервер через stdio.
Для экспорта в PDF — четыре системные библиотеки, которые pip установить не может. См. С экспортом в PDF.
Related MCP server: layerone-mcp
Установка
В одну строку
curl -fsSL https://raw.githubusercontent.com/Tsadoq/EuropassMCP/main/install.sh | bashЭто устанавливает uv, если он отсутствует, устанавливает сервер как инструмент uv и регистрирует его в вашем клиенте: через claude mcp add, если интерфейс командной строки Claude находится в PATH, и в противном случае — путём добавления одной записи mcpServers в claude_desktop_config.json. Объединение перезаписывает только эту запись, не затрагивая остальные серверы в файле, так что повторный запуск команды по-прежнему оставляет ровно один europassmcp.
Флаги передаются скрипту через канал с помощью bash -s --:
curl -fsSL https://raw.githubusercontent.com/Tsadoq/EuropassMCP/main/install.sh | bash -s -- --with-pdf--with-pdf добавляет дополнительный пакет для PDF, а затем указывает на С экспортом в PDF для системных библиотек, которые он не может установить за вас. --config-only пропускает установку и сразу переходит к регистрации клиента для уже существующей установки.
Передача URL в оболочку запускает то, что этот URL отдаёт. Если такой обмен вас не устраивает, скрипт — это обычный файл:
curl -fsSL https://raw.githubusercontent.com/Tsadoq/EuropassMCP/main/install.sh -o install.sh
less install.sh
bash install.shВручную
Сервер общается по MCP через stdio, поэтому в обычном использовании клиент запускает его, а не вы запускаете его вручную. Что скрипт делает от вашего имени, так это устанавливает сервер и записывает команду запуска в конфигурацию клиента:
uv tool install europassmcp # or: uv tool install 'europassmcp[pdf]'затем вставляете блок из Конфигурация клиента.
Установка заранее не обязательна. Приведённые ниже команды запускают сервер через uvx, который подгружает его по запросу; любая из них может быть помещена в этот блок, а запуск одной из них в терминале запускает сервер, ожидающий ввода со стандартного ввода.
Только XML
uvx europassmcpВне Python ничего не требуется. Работают все инструменты, кроме export_pdf, который отказывается с сообщением, указывающим команду, которая это исправит.
С экспортом в PDF
Экспорт в PDF осуществляется через WeasyPrint, который загружает Pango, PangoFT2, HarfBuzz и fontconfig через C ABI при импорте. pip не может установить ни одну из них, поэтому europassmcp[pdf] устанавливается чисто на машине, где их нет, а затем отказывает в каждом PDF.
Установите их системным менеджером пакетов перед установкой дополнительного пакета. Если вы этого не сделаете, export_pdf ответит тем же отказом, что и при установке, которая никогда не имела дополнительного пакета: лежащая в основе OSError: cannot load library 'libpango-1-0-0' перехватывается и до вас не доходит. Так что на установке, где europassmcp[pdf] уже есть, такой отказ означает, что отсутствуют именно эти библиотеки.
На Debian и Ubuntu:
sudo apt install libpango-1.0-0 libpangoft2-1.0-0 libharfbuzz0b libfontconfig1На macOS, с Homebrew:
brew install pangoHomebrew подтягивает glib, harfbuzz и fontconfig как зависимости pango. Руководство по установке WeasyPrint — авторитетный источник для других платформ и для устранения неполадок при сбое загрузки.
Опционально добавьте libharfbuzz-subset0 (Debian и Ubuntu; harfbuzz от Homebrew уже включает его). Без него PDF всё ещё рендерится, но каждый шрифт встраивается целиком, а не подмножеством, что делает файл значительно больше.
Затем:
uvx --from 'europassmcp[pdf]' europassmcpДо первого релиза
europassmcp ещё не опубликован на PyPI, и у этого репозитория нет публичного удалённого доступа, поэтому ни URL raw.githubusercontent.com, ни какая-либо из приведённых выше команд не будут работать, пока оба не появятся. Для клона uvx --from . europassmcp и uvx --from '.[pdf]' europassmcp — это те же два пути, а bash install.sh --config-only по-прежнему регистрирует клиента.
Конфигурация клиента
Большинство MCP-клиентов принимают одинаковый блок mcpServers; в Claude Desktop он находится в claude_desktop_config.json.
{
"mcpServers": {
"europassmcp": {
"command": "uvx",
"args": ["europassmcp"]
}
}
}С экспортом в PDF дополнительный пакет перемещается в аргументы:
{
"mcpServers": {
"europassmcp": {
"command": "uvx",
"args": ["--from", "europassmcp[pdf]", "europassmcp"]
}
}
}Компиляция схемы занимает около трёх секунд, один раз, при запуске сервера. Клиенту, который быстро завершает тайм-аут первого ответа сервера, может потребоваться больше времени на запуск.
Что получает агент
Черновики хранятся в памяти в течение сеанса, под именем, которое выбирает агент, и собираются по разделам. Ничего не записывается на диск.
Инструмент | Что делает |
| Начинает новый пустой черновик под именем по выбору агента. |
| Записывает, о ком этот CV. Единственный раздел, который не может быть пропущен в валидном CV. |
| Добавляет одну должность в порядке, в котором она должна быть напечатана. |
| Добавляет одну квалификацию или период обучения. |
| Добавляет один язык с уровнями CEFR, включая родные языки. |
| Добавляет один цифровой или компьютерный навык. |
| Находит коды стран Europass по названию страны на любом из языков, документированных схемой. |
| Находит коды языков Europass аналогичным образом. |
| Находит коды профессий ISCO-88 по описанию работы. |
| Сообщает обо всём, что не нравится схеме, с ближайшими допустимыми значениями для отклонённого кода. |
| Возвращает готовый CV в виде Europass XML. Отказывает черновику, который не пройдёт валидацию. |
| Компонует CV в PDF с прикреплённым XML и возвращает ссылку на него. |
Два из них несут основную часть дизайна. Инструменты поиска существуют, потому что в поставляемых списках кодов содержится 1350 элементов, включая 564 профессии и 197 кодов стран, что слишком много для описания инструмента или контекста модели; агент ищет, а не получает готовый список. А validate_cv отвечает на отклонённое значение допустимыми значениями, наиболее похожими по написанию, так что отклонённый ITA возвращается с IT, что представляет собой тот же поиск в обратном направлении.
PDF возвращается в виде ссылки на ресурс, а не встроенных байтов, потому что документ объёмом в несколько сотен килобайт иначе воспроизводился бы в контексте модели на каждом последующем шаге. Исходный XML путешествует внутри PDF как вложение файла, так что документ, который получает человек, остаётся документом, который машина может прочитать обратно.
Поставляемая схема
Двенадцать XSD-файлов в src/europassmcp/schema/ поставляются, а не загружаются, потому что их больше неоткуда загрузить: каждый URL в europass.cedefop.europa.eu/xml/ с примерно 2021 года отвечает перенаправлением на маркетинговую страницу. Они были восстановлены из Интернет-архива.
docs/schema-provenance.md фиксирует, откуда взят каждый файл, единственное внесённое в них изменение и как повторить восстановление.
Лицензирование
Этот дистрибутив объединяет два отдельно лицензируемых массива работ, хранящихся в отдельных каталогах, чтобы ни одна лицензия не трактовалась как покрывающая другую.
Собственный код — всё, кроме
src/europassmcp/schema/, — находится под лицензией MIT вLICENSE.Поставляемое определение схемы Europass XML в
src/europassmcp/schema/защищено авторским правом Европейского союза 2002-2010, опубликовано Cedefop под Европейской публичной лицензией версии 1.1 (EUPL-1.1). Грант MIT на него не распространяется.
NOTICE полностью воспроизводит грант EUPL-1.1 и распространяется внутри колеса и sdist, что делает схему пригодной для перераспространения. Перераспространение этих файлов, изменённых или нет, означает их передачу вместе с ними.
Разработка
uv sync
uv run pytest
uv run pre-commit installuv run pre-commit run --all-files выполняет те же проверки ruff, ruff-format и mypy, что и CI. Сгенерированная привязка в src/europassmcp/_generated/ — это вывод xsdata и регенерируется, но никогда не редактируется вручную; CI перегенерирует её и завершается с ошибкой при любом расхождении. scripts/fetch_schema.py повторяет восстановление схемы.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseAqualityAmaintenanceResume tailoring, cover letter generation, CV PDF export, and job search tools for AI agents. 18 tools powered by the Laddro Career API.18107MIT
layerone-mcpofficial
AlicenseAqualityCmaintenanceEnables AI agents to generate documents (PDF/DOCX/Factur-X) and manage electronic signatures (eIDAS/PAdES) via natural language using LayerOne's DocX and Sign APIs.2046MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to issue Poland structured e-invoices (faktura ustrukturyzowana) through KSeF 2.0, handling FA(3) XML building, encrypted session flow, and KSeF number retrieval.MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to create and manage e-invoices through natural language, supporting EU compliance formats like ZUGFeRD and XRechnung, as well as US plain PDF invoices.7
Related MCP Connectors
Italy FatturaPA invoices for AI agents: build FPR12 XML, transmit to the SdI, query status.
Turn a description into a shareable, editable PDF — invoices, certificates, reports, resumes.
AI document editing for agents: draft, edit, export .docx/PDF. 37 MCP tools; agent self-signup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tsadoq/EuropassMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server