FacturX API について
FacturX APIは、電子請求書やFactur-Xを扱うエージェント向けのMCPサーバーです。FacturX APIを通じて、事前シミュレーション、PDF/A-3変換、検証、EN16931ルールの検索を提供し、stdioとHTTPに対応します。
主な機能
- 01請求書処理のシミュレーション
- 02請求書をFactur-X PDF/A-3に変換
- 03請求書ファイルの検証
- 04EN16931ルールとフィールドの検索
活用シーン
- 01変換前に請求書の準備状況を確認
- 02請求書をPDF/A-3に変換
- 03請求書の検証エラーを確認
- 04ルールやコードに関連するフィールドを検索
MCP 対応
FacturX APIの操作をMCPツールとして公開し、事前シミュレーション、変換、検証、エラーやルールの説明を提供します。stdioとStreamable HTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
facturx-mcp
FacturX API の公式 MCP サーバーです。エージェント(Claude、Codex、Cursor など)は、統合コードを書かずに、シミュレーション、Factur-X PDF/A-3 への変換、ファイルの検証、EN16931 ルールの説明を行えます。facturx-api SDK を基盤としており、stdio と HTTP のトランスポートに対応しています。
バージョン 0.1.1、PyPI で公開:
pip install facturx-mcp。公式 MCP クライアント(Python SDK)でテスト済みです。Claude Code、Codex、Cursor ではまだテストされていません(「実証済みの内容」を参照)。
インストール
pip install facturx-mcp # installe aussi facturx-api
export FACTURX_API_KEY=… # clé Sandbox gratuite : https://facturxapi.com/api-key
# FACTURX_BASE_URL est facultatif à partir de 0.1.2 (production par défaut) ; obligatoire en 0.1.1
facturx-mcp # stdio (défaut)
facturx-mcp --transport streamable-http --port 8765 # HTTP : http://127.0.0.1:8765/mcp
MCP クライアントでの stdio サーバーの一般的な宣言(mcpServers 形式、市販クライアントでは未テスト):
{"mcpServers": {"facturx": {"command": "facturx-mcp",
"env": {"FACTURX_API_KEY": "…"}}}}
ツール
| ツール | 機能 | コスト |
|---|---|---|
facturx_dry_run(invoice, validation_target?, output?) | シミュレーション。ready は generationReadiness を参照します | 無料 |
facturx_convert(invoice, out_dir, validation_target?, output?, idempotency_key?) | factur-x.pdf / .xml を書き込み、パス、サイズ、sha256、検証対象を返します | 請求書 1 件 |
facturx_validate(file_path, validation_target?) | 検証レポートの要約(最初の 10 件のエラー) | 処理対象の請求書 |
facturx_explain_error(code_or_rule) | ルール(BR-…)、BT、または JSON パスに関連する公開統合契約のフィールド | 無料、キー不要 |
ツールの説明では、エージェントに呼び出すタイミング、返される内容、コストが発生するかどうかを伝えます。API エラーは is_error の結果となり、API が送信した status、code、api_message、request_id、idempotency_key を含む Error executing tool <nom>: {"error": {...}} というテキストが返されます。自動再試行はありません(api#2111)。公開 API エラーコードレジストリはまだ存在しません(api#2089)。そのため、facturx_explain_error は説明を作り出すのではなく、その旨を伝えます。
実証済みの内容(2026/11/06)
- オフラインテスト 6 件(
facturx-apiとmcpをインストールした状態でPYTHONPATH=src python -m unittest discover -s testsを実行)。外部への接続は禁止されています。 - 公式 MCP クライアント(Python SDK
mcp2.3.0、ClientSession)から、staging(release900685311ea7)に対してfacturx-mcpを stdio で起動。テスト用 sandbox キーを使用、16:02Z。完全なトレースはtraces/stdio-staging-full-path.jsonにあります:
facturx_explain_error BR-CO-15 -> totals.net (BT-109), totals.tax (BT-110), … depuis GET /api/v1/integration-contract
facturx_dry_run -> ready=true, generationReadiness ready (request f51f89da-69df-4eea-bf8f-0da1a3e57163)
facturx_convert -> target verified en16931, xml 4584 o sha256 f332975e…e03c, pdf 20624 o
facturx_validate -> valid=true, validationStatus=valid, profile EN16931, 0 erreur
- 同じサーバーを streamable HTTP で実行(16:03Z):
tools/list、facturx_explain_error BT-1、facturx_dry_runは成功しました。無効なキーを使用した場合、facturx_dry_runはinvalid_api_keyと API メッセージをそのまま含むis_errorを返します(traces/http-staging-*.json)。 - トレースにもサーバーログにもキーが含まれていないことを確認済みです。
未実証の内容:Claude Code、Codex、Cursor からの試用(創設者のセッションから実施予定);xml_cii、署名付き URL、実際の 409/503;MCP ディレクトリへの登録申請(創設者による作業)。
mcp-name: com.facturxapi/mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。