mcp-invoicenow-sg について
mcp-invoicenow-sgは、シンガポールのInvoiceNow請求書を生成・検証するMCPサーバーです。PINT-SGまたはSG Peppol BIS Billing 3.0を実装するチーム向けで、現行の検証範囲はIRASのC5受け入れルールです。汎用Peppolネットワークツールも備えています。
主な機能
- 01UBL 2.1請求書の生成
- 02IRAS C5受け入れルールによる検証
- 03プロファイル識別子とGSTコードの取得
- 04Peppol参加者とエンドポイントの検索
- 05AS4による請求書送信
- 06公開Peppol Directoryの検索
活用シーン
- 01PINT-SG請求書の生成
- 02IRAS C5ルールによる請求書確認
- 03受信者のPeppolエンドポイント検索
- 04AS4経由でのUBLまたはCII請求書の送信
MCP 対応
請求書の生成・検証、プロファイルとGSTコードの照会、汎用Peppol操作をMCPツールとして公開します。Peppolツールは参加者検索、エンドポイント検出、ディレクトリ検索、AS4送信に対応し、IRASのC5 APIへの提出には対応していません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
17掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| invoice_data | object | はい | SGInvoice スキーマに一致する請求書フィールド(設定するプロファイル URN については get_profile_urn_sg を参照してください)。 |
詳細
mcp-invoicenow-sg 🇸🇬
はじめに
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_sg | UBL 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_dns | SMP への到達性とは独立した、DNS のみ(SML)の診断を行います |
peppol_send | AS4 経由で UBL/CII インボイスを送信します |
peppol_directory_search | 参加者、名前、国、またはドキュメントタイプで公開 Peppol Directory を検索します |
list_participant_id_schemes、list_document_type_ids、list_process_ids、list_spis_use_case_ids | OpenPeppol 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_version | OpenPeppol 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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。