mcp-einvoicing-ae について
mcp-einvoicing-aeは、UAEのPINT AE電子請求書を扱うMCPサーバーです。請求書の生成・解析・検査に加え、Peppolの検索や送信機能を提供しますが、TDD検証は利用できません。
主な機能
- 01PINT AE請求書XMLの生成
- 02UAEルールを適用した請求書解析
- 03EN 16931基本ルールによる検証
- 04Peppol参加者の検索
- 05エンドポイント解決とAS4送信
活用シーン
- 01請求書または自己請求書の作成
- 02請求書の構造と合計額の確認
- 03企業のPeppol登録状況の検索
MCP 対応
請求書の生成・解析・検証、およびPeppol関連ツールをMCPクライアントに公開します。TDD検証は現在、利用不可の結果を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
17掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| variant | enum | いいえ | PINT AE プロファイルのバリアント:'billing'(デフォルト)または 'selfbilling'billing | selfbilling |
| invoice_data | object | はい | AEInvoice スキーマに対応するインボイスのフィールド |
詳細
mcp-einvoicing-ae 🇦🇪
はじめに
mcp-einvoicing-ae は、アラブ首長国連邦の電子インボイス向けツールを提供するMCP(Model Context Protocol)サーバーです。国ごとに特化したサーバー群である mcp-einvoicing-* ファミリーの一部であり、共通の検証エンジン、EN 16931 の抽象化、および Peppol ネットワークユーティリティを提供する
mcp-einvoicing-coreを基盤としています。
生成される PINT AE インボイスは構造上の適合性を満たします。cbc:UUID、cbc:ProfileExecutionID、明細ごとの cac:ItemPriceExtension、および trade_license_number がすべて出力され、parse_invoice_ae による再解析も可能です。標準 VAT 税率 5.00% はモデルバリデーターによって適用され、Peppol 参加者検索ツールも提供されます。validate_invoice_ae が検証するのは、core の共通 CEN EN16931 ベース Schematron のみであり、PINT AE の管轄区域オーバーレイは対象外です。validate_tdd_ae は現在「利用不可」と報告します。詳しくは、以下の対応規格と利用可能なツールを参照してください。
UAE Peppol Authority の PINT AE(請求)仕様はステータス:最終版で、バージョンは 1.0.4(2026-06-02)です。Peppol AE Tax Data Document(TDD)はステータス:最終版で、バージョンは 1.0.4(2026-07-23)です。完全な出典情報については、specs/README.mdを参照してください。
サポート対象の標準
- PINT AE(請求) — UBL 2.1、
CustomizationID: urn:peppol:pint:billing-1@ae-1、ProfileID: urn:peppol:bis:billing。バージョン 1.0.4(2026-06-02)。 - PINT AE(セルフビリング) —
CustomizationID: urn:peppol:pint:selfbilling-1@ae-1、ProfileID: urn:peppol:bis:selfbilling。 - Peppol AE TDD(税務データ文書)— FTA に送信される第 5 コーナーの報告文書です。独自の XML 名前空間(
urn:peppol:schema:taxdata:1.0)を持ち、UBL 請求書ではありません。バージョン 1.0.4 (2026-07-23)。
UAE プログラムは、認定サービスプロバイダー経由でルーティングされる分散型 Peppol 5 コーナーモデルです。このファミリーの他の地域で使われる 4 コーナー交換に、税務当局への報告経路(前述の TDD)が追加されています。請求書ツリーの経路は EN16931Invoice であることが確認されています(PINT AE は EN 16931-1:2017 の UBL 2.1 CIUS です)。提供された仕様書では、JSON バインディングは見つかりませんでした。
AEInvoice は mcp_einvoicing_ae.wire_formats.AEUBLSerializer を通じてシリアライズされます。このシリアライザーは、コアの EN16931UBLSerializer に AE 固有の要素(cbc:ProfileExecutionID、および schemeAgencyID="TL" を指定した PartyLegalEntity/CompanyID(trade_license_number 用))を重ねます。コアのシリアライザーは、profile/business_process に Peppol の実際の URN がすでに格納されているため、現在は cbc:UUID(document_uuid から)と明細行ごとの cac:ItemPriceExtension をネイティブに出力します(mcp-einvoicing-core v1.25.0)。AEParty.vat_id には 15 桁の TRN が格納され、TaxIdentifier.validate_ae_trn() による形式検証が行われます(core v1.22.0)。Peppol 参加者 ID(TIN)は、その最初の 10 桁から自動的に導出されます。AETaxDataDocument は TDD の必須フィールドをモデル化しますが、UBL 請求書ではなく、AEInvoice を基にしていません。parse_invoice_ae は生の XML から AE 固有の要素を再抽出し、結果を AEInvoice として再検証します。そのため、解析時にも、新規に作成した場合と同じ TRN および税率チェックが適用されます。対象範囲と対象外については、利用可能なツールを参照してください。TDD の転送チャネル(請求書と同じ AS4 チャネルか、別のチャネルか)は、コードの不足ではなく、未解決のドキュメント上の疑問点です。詳細については、specs/README.mdを参照してください。
検証範囲(v0.2.0 時点): validate_invoice_ae がチェックするのは CEN EN16931 基本 Schematron のみです(構造および算術・合計ルール。mcp-einvoicing-be/mcp-ksef-pl と共通)。PINT AE の地域固有オーバーレイ(ibr-*-ae ルール)はチェックしません。BR-CO-09(VAT 識別子には ISO 3166-1 の 2 文字国コード接頭辞が必要)は、UAE の TRN に国コード接頭辞がないため、正規の AE 請求書では毎回発生することが想定されます。これはデータの不備ではなく、その旨はすべての結果に明記されます。現在、validate_tdd_ae では検証をまったく利用できません。v0.1.0 には、再配布権が確認されていない OpenPeppol の PINT AE および TDD Schematron/XSD ソースから独自にコンパイルしたファイルが 5 つ含まれていましたが、v0.2.0 で削除されました。CHANGELOG.mdを参照してください。
インストール
要件
- Python ≥ 3.11
mcp-einvoicing-core(依存関係として自動的にインストールされます)
uvx を使用する(推奨)
uvx mcp-einvoicing-ae
uv を使用する
uv add mcp-einvoicing-ae
ソースからインストールする
git clone https://github.com/cmendezs/mcp-einvoicing-ae.git
cd mcp-einvoicing-ae
uv sync --all-extras
設定
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
LOG_LEVEL | いいえ | INFO | ログレベル:DEBUG、INFO、WARNING、または ERROR |
国固有の変数(転送エンドポイント、認証情報、環境切り替え)は、仕様書に記載され次第追加されます。.env.exampleを参照してください。現在、このサーバーの実行に認証情報は必要ありません。
Claude Desktop との連携
このサーバーを Claude で使用するには、claude_desktop_config.json ファイルに次の設定を追加してください。
{
"mcpServers": {
"einvoicing-ae": {
"command": "uvx",
"args": ["mcp-einvoicing-ae"]
}
}
}
Cursor との連携
Cursor は stdio 経由で MCP サーバーをサポートしています。次の場所に設定を追加してください。
- グローバル(すべてのプロジェクト):
~/.cursor/mcp.json - プロジェクト(このリポジトリのみ):
.cursor/mcp.json
{
"mcpServers": {
"einvoicing-ae": {
"command": "uvx",
"args": ["mcp-einvoicing-ae"]
}
}
}
変更を適用するには、Cursor ウィンドウを再読み込みしてください(Ctrl+Shift+P を押してから Reload Window を選択します)。
Kiro との連携
Kiro は、専用の設定ファイルを通じて MCP サーバーをサポートしています。次の 2 つのレベルを利用できます。
- グローバル(すべてのプロジェクト):
~/.kiro/settings/mcp.json - ワークスペース(このリポジトリのみ):
.kiro/settings/mcp.json
{
"mcpServers": {
"einvoicing-ae": {
"command": "uvx",
"args": ["mcp-einvoicing-ae"],
"disabled": false,
"autoApprove": []
}
}
}
ファイルは保存時に自動的に再読み込みされます。コマンドパレット(Cmd+Shift+P / Ctrl+Shift+P)を開いてから MCP を選択して、設定を開くこともできます。
利用可能なツール
| ツール | 説明 |
|---|---|
generate_invoice_ae | 構造化データから AEUBLSerializer を使用して PINT AE UBL 2.1 請求書 XML(請求またはセルフビリング)を生成します。無条件に必須となるすべての PINT AE 要素(cbc:UUID、cbc:ProfileExecutionID、明細ごとの cac:ItemPriceExtension、および PartyLegalEntity/CompanyID(trade_license_number が設定されている場合))を出力します。 |
validate_invoice_ae | PINT AE UBL 2.1 請求書を、core の共有 CEN EN16931 ベース Schematron に照らして検証します(構造および算術・合計ルールのみ。PINT AE の管轄区域オーバーレイは対象外)。xslt2 エクストラが必要です。 |
validate_tdd_ae | Peppol AE Tax Data Document(TDD)用のライセンス済み検証アーティファクトが現在利用できないため、常に明示的な「利用不可」の結果を返します。 |
parse_invoice_ae | PINT AE UBL 2.1 請求書 XML を構造化 dict に解析します。生の XML から document_uuid、profile_execution_id、trade_license_number を再抽出し、結果を AEInvoice として再検証します。TRN の形式と税率・カテゴリのチェックは、新たに作成されたデータだけでなく、解析された内容にも再適用されます。 |
Peppol 参加者の検索(core の register_peppol_tools プラグイン、TIN ベースの ID アダプター — スキーム
0235、TRN の先頭 10 桁):
| ツール | 説明 |
|---|---|
peppol_lookup_participant | 事業者が Peppol ネットワークに登録されているかを確認し、登録状況とサポート対象の文書タイプを返します |
peppol_get_service_endpoint | 参加者の文書タイプに対応する AS4 エンドポイントを取得します |
resolve_peppol_dns | SMP の到達可能性とは独立した、DNS のみ(SML)の診断を行います |
peppol_send | AS4 経由で UBL/CII 請求書を送信します |
generate_invoice_ae/validate_invoice_ae/parse_invoice_ae でベース Schematron バリデーターを読み込むには、mcp-einvoicing-ae[xslt2]
(saxonche をバンドル)が必要です。これがない場合、validate_invoice_ae
はサイレントに合格するのではなく、明示的な「利用不可」の結果を返します。
docs/TOOLS.md のツールリファレンスは、実行中のサーバーから生成されます。
uv run python scripts/gen_tool_reference.py
ベンダー中立性
このサーバーは標準そのものを実装し、ドキュメントをローカルで構築、検証、署名します。商用請求書プラットフォームのクライアントではなく、署名キーや認証情報が自分のインフラストラクチャーの外部に出ることはありません。
PINT AE/Peppol AE TDD には Peppol アクセスポイントが必要ですが、認定されたアクセスポイントはどれも同じ AS4 プロファイルに対応しているため、プロバイダーの切り替えに必要なのは設定変更であり、コード変更ではありません。
コントリビューション
開発環境のセットアップ、テストと lint のコマンド、プルリクエストのチェックリストについては、CONTRIBUTING.md を参照してください。セキュリティ上の問題については、SECURITY.md に記載されている非公開の開示プロセスに従ってください。
その他の電子インボイス MCP サーバー
| 国 | サーバー |
|---|---|
| 🌍 グローバル | mcp-einvoicing-core |
| 🇧🇪 ベルギー | mcp-einvoicing-be |
| 🇧🇷 ブラジル | mcp-nfe-br |
| 🇫🇷 フランス | mcp-facture-electronique-fr |
| 🇩🇪 ドイツ | mcp-einvoicing-de |
| 🇮🇳 インド | mcp-einvoicing-in |
| 🇮🇹 イタリア | mcp-fattura-elettronica-it |
| 🇲🇽 メキシコ | mcp-cfdi-mx |
| 🇵🇱 ポーランド | mcp-ksef-pl |
| 🇸🇬 シンガポール | mcp-invoicenow-sg |
| 🇪🇸 スペイン | mcp-facturacion-electronica-es |
| 🇦🇪 アラブ首長国連邦 | mcp-einvoicing-ae |
ライセンス
このプロジェクトは Apache 2.0 ライセンスの下で提供されています。詳細は LICENSE をご覧ください。全バージョンの変更履歴は CHANGELOG.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。