mcpField
M
mcp-invoicenow-sg

mcp-invoicenow-sg

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

mcp-invoicenow-sg について

mcp-invoicenow-sgは、シンガポールのInvoiceNow請求書を生成・検証するMCPサーバーです。PINT-SGまたはSG Peppol BIS Billing 3.0を実装するチーム向けで、現行の検証範囲はIRASのC5受け入れルールです。汎用Peppolネットワークツールも備えています。

主な機能

  1. 01UBL 2.1請求書の生成
  2. 02IRAS C5受け入れルールによる検証
  3. 03プロファイル識別子とGSTコードの取得
  4. 04Peppol参加者とエンドポイントの検索
  5. 05AS4による請求書送信
  6. 06公開Peppol Directoryの検索

活用シーン

  1. 01PINT-SG請求書の生成
  2. 02IRAS C5ルールによる請求書確認
  3. 03受信者のPeppolエンドポイント検索
  4. 04AS4経由でのUBLまたはCII請求書の送信

MCP 対応

請求書の生成・検証、プロファイルとGSTコードの照会、汎用Peppol操作をMCPツールとして公開します。Peppolツールは参加者検索、エンドポイント検出、ディレクトリ検索、AS4送信に対応し、IRASのC5 APIへの提出には対応していません。

設定

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

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

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

パッケージ
pypimcp-invoicenow-sg0.3.3

ツール

17

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

パラメーター型必須説明
invoice_dataobjectはいSGInvoice スキーマに一致する請求書フィールド(設定するプロファイル URN については get_profile_urn_sg を参照してください)。

詳細

mcp-invoicenow-sg 🇸🇬

英語

PyPI version Python License mcp-invoicenow-sg MCP server


はじめに

mcp-invoicenow-sg は、IMDA が運営するシンガポールの国家電子請求書プラットフォーム InvoiceNow を介した電子請求書の発行を支援する、MCP(Model Context Protocol) サーバーです。PINT-SG v1.4.1 および SG Peppol BIS Billing 3.0 に対応した送信請求書(当初発行された請求書であり、受領/購入側ではありません)を作成し、検証します。国別サーバーの mcp-einvoicing-* ファミリーの一部で、すべて mcp-einvoicing-core を基盤として構築されています。このコアは、共通の検証エンジン、EN 16931 の抽象化、Peppol ネットワークユーティリティを提供します。

対応規格

  • PINT-SG v1.4.1(urn:peppol:pint:billing-1@sg-1)— 新規送信者に推奨されるプロファイルです。
  • SG Peppol BIS Billing 3.0 — PINT プログラム以前のレガシープロファイルです。
  • どちらも EN 16931 に準拠しており、請求書モデルは mcp_einvoicing_core.en16931.EN16931Invoice を拡張しています。
  • 検証では、IRAS 独自の C5 受け入れレイヤー(non_peppol_doc_validation)を実行します。たとえば、購入者/販売者の UEN がない場合に警告する、政府機関による一次成果物です。v0.2.0 時点では、PINT-SG 独自の管轄区域 Schematron ルール(たとえば invoice_uuid の要件)はチェックされません。詳しくは、以下の「未対応の項目」を参照してください。

未対応の項目(詳細は specs/README.md を参照):

  • CEN EN16931 基本検証および PINT-SG 管轄区域 Schematron 検証。 v0.1.0 には、再配布権が確認されていない OpenPeppol の PINT-SG 管轄区域 Schematron から独自にコンパイルした派生物が含まれていましたが、v0.2.0(2026-08-28)で削除されました。適切なライセンスが付与された共有のコア CEN EN16931 基本バリデーターは接続済みですが、シンガポール向けにはまだ有効化されていません。SGInvoice の IRAS GST カテゴリーコードについて、このバリデーターが必要とする UNCL5305 コードリストへの出典付き対応表がないためです。有効化に必要な条件については、各 validate_invoice_sg の結果に含まれる EN16931_BASE_UNAVAILABLE_WARNING([CORE-EN16931-BASE-SG-CROSSWALK-1] として追跡)を参照してください。
  • Peppol Order メッセージファミリー(Order、OrderResponse など)および IMDA のシンガポール固有の Order Balance。
  • UBL 2.1 XSD 構造検証。 このパッケージ独自のテストスイートにある実際の UBL 2.1 スキーマを使って正しく検証できることは確認済みです(テスト専用フィクスチャであり、wheel には含まれていません)が、validate_invoice_sg ツールには接続されていません。必要な OASIS UBL 2.1 スキーマファイルについて、現地で確認できる再配布許諾がないためです。
  • IRAS 独自の Invoice Data Submission API(一般的な Peppol AS4 トランスポートとは異なる、5 番目の接続先「C5」へのコピーに限る。後述の Peppol ツールは一般的な Peppol AS4 トランスポートに対応しています)。IMDA 認定アクセスポイントの実際の API ベース URL や認証フローを示す公開文書はありません。
  • SG Peppol BIS Billing 3.0 Schematron 検証。このプロファイル用のルールセットは同梱されていません。
  • 受領/購入側の請求書モデル(LocalTaxInvoice、TX2_Annex Annex B Type 1B)。

インストール

要件
  • Python ≥ 3.11
  • mcp-einvoicing-core(依存関係として自動的にインストールされます)
  • オプション:xslt2 エクストラ(pip install mcp-invoicenow-sg[xslt2])。validate_invoice_sg の実行に必要です。同梱されている IRAS C5 スタイルシートには XSLT 2.0 が必要です。
uvx を使用(推奨)
uvx mcp-invoicenow-sg
uv を使用
uv add mcp-invoicenow-sg
ソースから
git clone https://github.com/cmendezs/mcp-invoicenow-sg.git
cd mcp-invoicenow-sg
uv sync --all-extras

設定

環境変数
変数必須デフォルト説明
LOG_LEVELいいえINFOログレベル:DEBUG、INFO、WARNING、または ERROR
EINVOICING_PEPPOL_CODELIST_DIRいいえ—OpenPeppol eDEC コードリストの独自コピーを含むローカルディレクトリです。list_*/check_* Peppol コードリストツールで必要です(このパッケージには同梱されていません。mcp-einvoicing-core の README を参照してください)。参加者の検索、AS4 送信、ディレクトリ検索は、この設定がなくても利用できます。

このサーバーの実行に認証情報は必要ありません。

Claude Desktop との統合

このサーバーを Claude で使用するには、次の設定を claude_desktop_config.json ファイルに追加します。

{
  "mcpServers": {
    "invoicenow-sg": {
      "command": "uvx",
      "args": ["mcp-invoicenow-sg"]
    }
  }
}

Cursor との統合

Cursor は stdio 経由で MCP サーバーをサポートしています。次のいずれかに設定を追加します。

  • グローバル(すべてのプロジェクト):~/.cursor/mcp.json
  • プロジェクト(このリポジトリのみ):.cursor/mcp.json
{
  "mcpServers": {
    "invoicenow-sg": {
      "command": "uvx",
      "args": ["mcp-invoicenow-sg"]
    }
  }
}

変更を適用するには、Cursor ウィンドウを再読み込みします(Ctrl+Shift+P を押してから Reload Window を選択)。

Kiro との統合

Kiro は専用の設定ファイル経由で MCP サーバーをサポートしています。設定には次の 2 つのレベルがあります。

  • グローバル(すべてのプロジェクト):~/.kiro/settings/mcp.json
  • ワークスペース(このリポジトリのみ):.kiro/settings/mcp.json
{
  "mcpServers": {
    "invoicenow-sg": {
      "command": "uvx",
      "args": ["mcp-invoicenow-sg"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

ファイルは保存時に自動的に再読み込みされます。コマンドパレット(Cmd+Shift+P/Ctrl+Shift+P)を開いてから MCP を選択して、設定を開くこともできます。

利用可能なツール

ツール説明
generate_invoice_sg構造化データから SGInvoice を作成し、UBL 2.1 XML にシリアライズします。
validate_invoice_sgUBL 2.1 インボイスを IRAS の C5 受け入れレイヤーに照らして検証します(CEN EN16931 基本仕様、PINT-SG 管轄の Schematron、SG BIS 3.0、UBL 2.1 XSD の構造検証は対象外です。上記の「未対応」を参照してください)。
get_gst_category_codes_sgシンガポールのインボイスで使用できる IRAS GST カテゴリーコード(Annex E)を返します。
get_profile_urn_sg指定されたプロファイル(PINT_SG または BIS3)の CustomizationID(BT-24)と ProfileID(BT-23)を返します。

推奨ワークフロー: get_profile_urn_sg でプロファイルの組み合わせを選び、その組み合わせをインボイスデータに指定して generate_invoice_sg を実行し、結果に対して validate_invoice_sg を実行します。

Peppol ツール

汎用 Peppol ネットワークツール(参加者の検索、AS4 送信、ディレクトリ検索、eDEC コードリスト)も mcp_einvoicing_core.peppol.tools から登録されています。シンガポールの UEN のみが指定された場合は、スキーム 0195 の参加者 ID に正規化されます。

ツール説明
peppol_lookup_participant事業者が Peppol ネットワークに登録されているか確認し、登録状況と対応するドキュメントタイプを返します
peppol_get_service_endpoint参加者のドキュメントタイプに対応する AS4 エンドポイントを取得します
resolve_peppol_dnsSMP への到達性とは独立した、DNS のみ(SML)の診断を行います
peppol_sendAS4 経由で UBL/CII インボイスを送信します
peppol_directory_search参加者、名前、国、またはドキュメントタイプで公開 Peppol Directory を検索します
list_participant_id_schemes、list_document_type_ids、list_process_ids、list_spis_use_case_idsOpenPeppol eDEC コードリストを検索します(EINVOICING_PEPPOL_CODELIST_DIR が必要です)
check_document_type_id_in_codelist、check_process_id_in_codelist、check_participant_id_scheme_in_codelist、get_peppol_codelist_versionOpenPeppol eDEC コードリストを確認し、バージョンを報告します

peppol_send は、受信者の Access Point に汎用 Peppol AS4 転送を行うツールです。IRAS 独自の C5 コーナーへの送信とは異なり、こちらは未対応です(上記の「未対応」を参照してください)。

docs/TOOLS.md のツールリファレンスは、実行中のサーバーから生成されます。

uv run python scripts/gen_tool_reference.py

ベンダー中立性

このサーバーは標準そのものを実装しており、ドキュメントの生成、検証、署名をローカルで行います。商用の請求プラットフォーム向けのクライアントではなく、署名鍵や認証情報がお客様のインフラストラクチャの外に出ることはありません。

InvoiceNow を利用するには 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 つのサーバーを複数のクライアントで再利用できます。