EuropassMCP
EuropassMCP
AIエージェントがEuropass CVを組み立て、厳密にスキーマ準拠のEuropass XMLとして、またはそのXMLを内部に含むPDFとしてエクスポートできるようにするMCPサーバーです。
Europass CVは、欧州連合の標準化された履歴書形式です。その機械可読形式は、Europass CV XML Schema Definition バージョン3.0.3に準拠したXML文書です。このサーバーは、エージェントに、会話の過程で1つを埋めるための小さなセクション単位のツールをいくつか提供し、スキーマが拒否するものをエクスポートすることを拒否するため、「ほぼ有効」という状態は完成した文書が到達できる状態ではありません。
非公式
このプロジェクトは、欧州連合、欧州委員会、またはCedefopとは提携しておらず、承認も受けておらず、制作もされていません。EUの紋章やEuropassのワードマークは同梱されていません。生成されるPDFは、Europassのレイアウトの独立した類似物であり、公式文書ではなく、その旨がページに記載されています。Europassは欧州連合の商標です。
このリポジトリが再配布する唯一の欧州連合の資産は、XMLスキーマ自体であり、その著者が公開したEUPL-1.1の許諾に基づいています。ライセンスを参照してください。
要件
Python 3.11以降。
stdio経由でサーバーを起動できるMCPクライアント。
PDFエクスポートの場合のみ、pipがインストールできない4つのシステムライブラリ。PDFエクスポートを参照。
Related MCP server: layerone-mcp
インストール
1行で
curl -fsSL https://raw.githubusercontent.com/Tsadoq/EuropassMCP/main/install.sh | bashこれにより、uvが欠落している場合はインストールされ、サーバーがuvツールとしてインストールされ、クライアントに登録されます。ClaudeコマンドラインインターフェースがPATHにある場合はclaude mcp addを介して、それ以外の場合はclaude_desktop_config.jsonに単一のmcpServersエントリをマージすることで登録されます。このマージはその1つのエントリを書き換え、ファイル内の他のすべてのサーバーはそのままにするため、コマンドを2回実行してもeuropassmcpは正確に1つだけ残ります。
フラグは、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を介してサーバーを起動します。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は同じ2つのパスであり、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秒かかります。サーバーの最初の応答をすぐにタイムアウトするクライアントは、より長い起動許容時間が必要になる場合があります。
エージェントが得るもの
ドラフトはセッションの間メモリ内に保持され、エージェントが選択した名前でキー付けされ、セクションごとに構築されます。ディスクには何も書き込まれません。
ツール | 機能 |
| エージェントが選択した名前で新しい空のドラフトを開始します。 |
| CVの対象者を記録します。有効なCVが省略できない唯一のセクションです。 |
| 印刷される順序で1つの仕事を追加します。 |
| 1つの資格またはトレーニング期間を追加します。 |
| CEFRレベルを含む1つの言語を追加します。母語も含みます。 |
| 1つのデジタルまたはコンピュータスキルを追加します。 |
| スキーマが文書化する任意の言語の国名からEuropass国コードを検索します。 |
| 同じ方法でEuropass言語コードを検索します。 |
| 職務記述からISCO-88職業コードを検索します。 |
| スキーマが拒否するすべてを報告し、拒否されたコードに最も近い有効な値を提供します。 |
| 完成したCVをEuropass XMLとして返します。検証に合格しないドラフトは拒否します。 |
| XMLを添付したPDFとしてCVをレイアウトし、リンクを返します。 |
これらのうち2つが設計の大部分を担っています。ルックアップツールが存在するのは、ベンダー提供のコードリストが1350のメンバーを保持しており、そのうち564の職業と197の国コードが含まれているためです。これはツールの説明やモデルのコンテキストに含めるにははるかに多すぎます。エージェントはリストを渡される代わりに検索します。また、validate_cvは拒否された値に対して、それに最も似た有効な値で応答するため、拒否されたITAはITで返されます。これは同じ検索を逆方向から行うものです。
PDFはインラインのバイトではなくリソースリンクとして返されます。なぜなら、数百キロバイトの文書が後続のターンごとにモデルのコンテキストに再生されることになるからです。ソースXMLはファイル添付としてPDF内に含まれるため、人が受け取る文書は、機械が読み戻すことができる文書のままです。
ベンダー提供のスキーマ
src/europassmcp/schema/の下にある12個のXSDファイルは、取得ではなくベンダー提供です。なぜなら、それらを取得する場所が残っていないからです。europass.cedefop.europa.eu/xml/の下のすべてのURLは、およそ2021年以降、マーケティングページへのリダイレクトで応答しています。それらはInternet Archiveから復元されました。docs/schema-provenance.mdには、各ファイルの出所、それらに加えられた1つの変更、および復元を繰り返す方法が記録されています。
ライセンス
この配布物は、別々にライセンスされた2つの作品をまとめたもので、それぞれのライセンスが他方をカバーしていると読まれる必要がないように、別々のディレクトリに保持されています。
ファーストパーティコード(
src/europassmcp/schema/を除くすべて)は、LICENSEのMITライセンスの下にあります。ベンダー提供のEuropass XML Schema Definition(
src/europassmcp/schema/内)は、欧州連合2002-2010の著作権であり、Cedefopが欧州連合公共ライセンスバージョン1.1(EUPL-1.1)の下で公開しています。MITの許諾はこれには及びません。
NOTICEはEUPL-1.1の許諾を完全に述べており、wheelとsdist内に同梱されます。これによりスキーマの再配布が可能になります。これらのファイルを変更の有無にかかわらず再配布することは、それらと一緒にNOTICEを運ぶことを意味します。
開発
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はそれを再生成し、差分があれば失敗します。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