mcpField
M
mcp-einvoicing-ae

mcp-einvoicing-ae

ローカル
github.com/cmendezs金融データ27 週間前に更新

mcp-einvoicing-ae について

mcp-einvoicing-aeは、UAEのPINT AE電子請求書を扱うMCPサーバーです。請求書の生成・解析・検査に加え、Peppolの検索や送信機能を提供しますが、TDD検証は利用できません。

主な機能

  1. 01PINT AE請求書XMLの生成
  2. 02UAEルールを適用した請求書解析
  3. 03EN 16931基本ルールによる検証
  4. 04Peppol参加者の検索
  5. 05エンドポイント解決とAS4送信

活用シーン

  1. 01請求書または自己請求書の作成
  2. 02請求書の構造と合計額の確認
  3. 03企業のPeppol登録状況の検索

MCP 対応

請求書の生成・解析・検証、およびPeppol関連ツールをMCPクライアントに公開します。TDD検証は現在、利用不可の結果を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cmendezs-mcp-einvoicing-ae": {
"command": "uvx",
"args": [
"mcp-einvoicing-ae"
],
"env": {
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドuvx mcp-einvoicing-ae
設定が必要な環境変数
LOG_LEVELLogging level: DEBUG, INFO (default), WARNING, or ERROR

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-einvoicing-ae0.3.5

ツール

17

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
variantenumいいえPINT AE プロファイルのバリアント:'billing'(デフォルト)または 'selfbilling'billing | selfbilling
invoice_dataobjectはいAEInvoice スキーマに対応するインボイスのフィールド

詳細

mcp-einvoicing-ae 🇦🇪

英語 | アラビア語

PyPI version Python License mcp-einvoicing-ae MCP server


はじめに

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_aePINT AE UBL 2.1 請求書を、core の共有 CEN EN16931 ベース Schematron に照らして検証します(構造および算術・合計ルールのみ。PINT AE の管轄区域オーバーレイは対象外)。xslt2 エクストラが必要です。
validate_tdd_aePeppol AE Tax Data Document(TDD)用のライセンス済み検証アーティファクトが現在利用できないため、常に明示的な「利用不可」の結果を返します。
parse_invoice_aePINT 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_dnsSMP の到達可能性とは独立した、DNS のみ(SML)の診断を行います
peppol_sendAS4 経由で 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 をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。