Skip to main content
Glama
Tsadoq

EuropassMCP

by Tsadoq

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 europassmcp

Python以外のものは必要ありません。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 libfontconfig1

macOSでHomebrewを使用する場合:

brew install pango

Homebrewは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 . europassmcpuvx --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秒かかります。サーバーの最初の応答をすぐにタイムアウトするクライアントは、より長い起動許容時間が必要になる場合があります。

エージェントが得るもの

ドラフトはセッションの間メモリ内に保持され、エージェントが選択した名前でキー付けされ、セクションごとに構築されます。ディスクには何も書き込まれません。

ツール

機能

create_cv

エージェントが選択した名前で新しい空のドラフトを開始します。

set_personal_info

CVの対象者を記録します。有効なCVが省略できない唯一のセクションです。

add_work_experience

印刷される順序で1つの仕事を追加します。

add_education

1つの資格またはトレーニング期間を追加します。

add_language_skill

CEFRレベルを含む1つの言語を追加します。母語も含みます。

add_digital_skill

1つのデジタルまたはコンピュータスキルを追加します。

lookup_country

スキーマが文書化する任意の言語の国名からEuropass国コードを検索します。

lookup_language

同じ方法でEuropass言語コードを検索します。

search_occupation

職務記述からISCO-88職業コードを検索します。

validate_cv

スキーマが拒否するすべてを報告し、拒否されたコードに最も近い有効な値を提供します。

export_xml

完成したCVをEuropass XMLとして返します。検証に合格しないドラフトは拒否します。

export_pdf

XMLを添付したPDFとしてCVをレイアウトし、リンクを返します。

これらのうち2つが設計の大部分を担っています。ルックアップツールが存在するのは、ベンダー提供のコードリストが1350のメンバーを保持しており、そのうち564の職業と197の国コードが含まれているためです。これはツールの説明やモデルのコンテキストに含めるにははるかに多すぎます。エージェントはリストを渡される代わりに検索します。また、validate_cvは拒否された値に対して、それに最も似た有効な値で応答するため、拒否されたITAITで返されます。これは同じ検索を逆方向から行うものです。

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 Definitionsrc/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 install

uv run pre-commit run --all-filesは、CIが行うのと同じruff、ruff-format、mypyチェックを実行します。src/europassmcp/_generated/の下の生成されたバインディングはxsdataの出力であり、手動で編集されることはなく、再生成されます。CIはそれを再生成し、差分があれば失敗します。scripts/fetch_schema.pyはスキーマの復元を再実行します。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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