EuropassMCP
EuropassMCP
AI 에이전트가 Europass CV를 작성하고, 스키마를 엄격히 준수하는 Europass XML 또는 그 XML을 내부에 포함한 PDF로 내보낼 수 있게 해주는 MCP 서버입니다.
Europass CV는 유럽연합의 표준화된 이력서 형식입니다. 기계가 읽을 수 있는 형태는 Europass CV XML Schema Definition 버전 3.0.3을 따르는 XML 문서입니다. 이 서버는 에이전트에게 대화 중에 하나씩 채워 넣을 수 있는 작고 섹션별로 구분된 여러 도구를 제공하며, 스키마가 거부하는 것은 무엇이든 내보내기를 거부합니다. 따라서 '거의 유효한' 상태로 완성된 문서가 남는 일은 없습니다.
비공식
이 프로젝트는 유럽연합, 유럽위원회 또는 Cedefop과 제휴, 승인, 또는 제작 관계가 아닙니다. EU 엠블럼이나 Europass 워드마크를 포함하지 않으며, 생성되는 PDF는 공식 문서가 아닌 Europass 레이아웃의 독립적인 유사물이며, 페이지에 그렇게 명시되어 있습니다. Europass는 유럽연합의 상표입니다.
이 저장소가 재배포하는 유일한 유럽연합 자산은 XML 스키마 자체이며, 저자가 게시한 EUPL-1.1 허가에 따릅니다. 라이선스를 참조하세요.
요구 사항
Python 3.11 이상.
stdio를 통해 서버를 실행할 수 있는 MCP 클라이언트.
PDF 내보내기 전용으로, pip이 설치할 수 없는 네 가지 시스템 라이브러리. PDF 내보내기를 참조하세요.
Related MCP server: layerone-mcp
설치
한 줄 설치
curl -fsSL https://raw.githubusercontent.com/Tsadoq/EuropassMCP/main/install.sh | bash이 명령은 uv가 없으면 설치하고, 서버를 uv 도구로 설치한 다음 클라이언트에 등록합니다. Claude 명령줄 인터페이스가 PATH에 있으면 claude mcp add를 통해, 그렇지 않으면 claude_desktop_config.json에 단일 mcpServers 항목을 병합하여 등록합니다. 병합은 해당 항목만 다시 쓰고 파일의 다른 서버는 그대로 두므로, 명령을 두 번 실행해도 정확히 하나의 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수동 설치
서버는 stdio를 통해 MCP를 사용하므로, 일반적인 사용에서는 클라이언트가 서버를 실행하며 직접 실행하지 않습니다. 스크립트가 대신 수행하는 일은 서버를 설치하고 그 실행 명령을 클라이언트 구성에 작성하는 것입니다:
uv tool install europassmcp # or: uv tool install 'europassmcp[pdf]'그 다음 클라이언트 구성의 스탠자를 따릅니다.
하지만 사전 설치는 선택 사항입니다. 아래 명령은 uvx를 통해 서버를 실행하며, 필요할 때 가져옵니다. 둘 중 하나가 그 스탠자에 들어가며, 터미널에서 실행하면 stdin을 기다리는 서버가 시작됩니다.
XML 전용
uvx europassmcpPython 외에는 아무것도 필요하지 않습니다. export_pdf를 제외한 모든 도구가 작동하며, export_pdf는 문제를 해결할 명령을 알려주는 메시지와 함께 거부합니다.
PDF 내보내기 포함
PDF 내보내기는 WeasyPrint를 통해 이루어지며, WeasyPrint는 가져오기 시점에 C ABI를 통해 Pango, PangoFT2, HarfBuzz 및 fontconfig를 로드합니다. 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 libfontconfig1macOS에서 Homebrew 사용 시:
brew install pangoHomebrew는 glib, harfbuzz 및 fontconfig를 pango의 종속성으로 가져옵니다. 다른 플랫폼과 실패하는 로드 문제 해결에 대한 권위는 WeasyPrint의 설치 가이드입니다.
선택적으로 libharfbuzz-subset0을 추가하세요 (Debian 및 Ubuntu; Homebrew의 harfbuzz에는 이미 포함되어 있습니다). 없어도 PDF는 렌더링되지만, 모든 글꼴이 서브셋되지 않고 전체로 포함되어 파일이 상당히 커집니다.
그런 다음:
uvx --from 'europassmcp[pdf]' europassmcp첫 릴리스 전
europassmcp는 아직 PyPI에 없고 이 저장소에는 공개 원격 저장소가 없으므로, raw.githubusercontent.com URL도 위의 어떤 명령도 둘 다 존재할 때까지 해석되지 않습니다. 클론에 대해서는 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"]
}
}
}스키마 컴파일은 서버 시작 중에 한 번 약 3초가 걸립니다. 서버의 첫 응답을 빠르게 타임아웃하는 클라이언트는 더 긴 시작 허용 시간이 필요할 수 있습니다.
에이전트가 얻는 것
초안은 세션 동안 메모리에 유지되며, 에이전트가 선택한 이름으로 키가 지정되고 섹션별로 작성됩니다. 디스크에 기록되는 것은 없습니다.
Tool | What it does |
| 에이전트가 선택한 이름으로 새 빈 초안을 시작합니다. |
| CV의 대상이 누구인지 기록합니다. 유효한 CV가 생략할 수 없는 유일한 섹션입니다. |
| 인쇄되어야 할 순서대로 하나의 직업을 추가합니다. |
| 하나의 자격 또는 교육 기간을 추가합니다. |
| CEFR 수준과 함께 하나의 언어를 추가하며, 모국어도 포함됩니다. |
| 하나의 디지털 또는 컴퓨터 기술을 추가합니다. |
| 스키마가 문서화하는 모든 언어의 국가 이름에서 Europass 국가 코드를 찾습니다. |
| 같은 방식으로 Europass 언어 코드를 찾습니다. |
| 직업 설명에서 ISCO-88 직업 코드를 찾습니다. |
| 스키마가 거부하는 모든 것을 보고하며, 거부된 코드에 대해 가장 가까운 유효 값을 제공합니다. |
| 완성된 CV를 Europass XML로 반환합니다. 유효하지 않은 초안은 거부합니다. |
| CV를 XML이 첨부된 PDF로 배치하고 링크를 반환합니다. |
이 중 두 가지가 설계의 대부분을 담당합니다. 조회 도구가 존재하는 이유는 번들된 코드 목록에 1350개의 항목(564개의 직업과 197개의 국가 코드 포함)이 있어 도구 설명이나 모델의 컨텍스트에 넣기에는 너무 많기 때문입니다. 에이전트는 목록을 받는 대신 검색합니다. 그리고 validate_cv는 거부된 값에 대해 가장 유사하게 철자된 유효 값을 응답하므로, 거부된 ITA는 IT로 돌아옵니다. 이는 반대 방향에서의 동일한 검색입니다.
PDF는 인라인 바이트가 아닌 리소스 링크로 반환됩니다. 그렇지 않으면 수백 킬로바이트의 문서가 이후의 모든 턴에서 모델의 컨텍스트로 다시 재생되기 때문입니다. 소스 XML은 파일 첨부로 PDF 내부에 포함되므로, 사람이 받는 문서는 여전히 기계가 다시 읽을 수 있는 문서입니다.
번들된 스키마
src/europassmcp/schema/ 아래의 12개 XSD 파일은 가져오는 대신 번들로 제공됩니다. 가져올 곳이 더 이상 없기 때문입니다. europass.cedefop.europa.eu/xml/ 아래의 모든 URL은 대략 2021년부터 마케팅 페이지로 리디렉션되었습니다. 이 파일들은 인터넷 아카이브에서 복구되었습니다. docs/schema-provenance.md는 각 파일의 출처, 파일에 적용된 유일한 수정 사항, 그리고 복구를 반복하는 방법을 기록합니다.
라이선스
이 배포판은 별도로 라이선스가 부여된 두 작업을 통합하며, 각각 별도의 디렉터리에 보관되어 어느 라이선스도 다른 라이선스를 포함하는 것으로 읽히지 않습니다.
자체 코드는
src/europassmcp/schema/를 제외한 모든 것으로,LICENSE의 MIT 라이선스에 따릅니다.번들된 Europass XML 스키마 정의는
src/europassmcp/schema/에 있으며, 유럽연합 2002-2010 저작권으로, Cedefop이 유럽연합 공공 라이선스 버전 1.1(EUPL-1.1)에 따라 게시했습니다. MIT 허가는 여기에 적용되지 않습니다.
NOTICE는 EUPL-1.1 허가를 전체로 명시하며 wheel과 sdist 내부에 포함되어 스키마를 재배포 가능하게 유지합니다. 이 파일들을 수정 여부와 관계없이 재배포한다는 것은 그 허가를 함께 전달한다는 뜻입니다.
개발
uv sync
uv run pytest
uv run pre-commit installuv run pre-commit run --all-files는 CI가 수행하는 것과 동일한 ruff, ruff-format 및 mypy 검사를 실행합니다. src/europassmcp/_generated/ 아래의 생성된 바인딩은 xsdata 출력이며 수동으로 편집하지 않고 다시 생성됩니다. CI는 이를 다시 생성하고 diff가 있으면 실패합니다. 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