Skip to main content

Fintom8 E-Invoicing Agent (MCP)

MCP Certified Peppol Ready

The official Model Context Protocol (MCP) server for Fintom8.

This server acts as an intelligent bridge to AI agentic Fintom8 E-Invoice Platform. It enables autonomous agents to validate, audit, and correct e-invoices against the latest European standards (EN16931) and Peppol regulations.

General Functionalities Provided Over MCP:

  • Convert Peppol UBL E-Invoice from PDF
  • Validate Peppol UBL E-Invoice
  • Correct Peppol UBL Invoice

Other formats and functionalities can be requested.

🚀 Features

  • Autonomous Validation: Agents can send XML content and receive detailed compliance reports.
  • Peppol 3.0.20 Support: Checks against the newest rules, including EAS code updates and PDF attachment handling.
  • Smart Explanations: The server returns structured error data that LLMs can easily parse to explain issues in human-readable language.

🛠️ Installation & Usage

Option 1: Using uvx (Recommended)

You can run this server directly without installing it globally:

uvx fintom8-mcp-server

Option 2: Clone and Run

  1. Clone this repository:

    git clone https://github.com/Fintom8/fintom8-mcp-server.git
    cd fintom8-mcp-server
    
  2. Install dependencies:

    pip install -e .
    
  3. Run the server:

    mcp run server.py
    

🔑 Configuration

By default, the server connects to the public Fintom8 endpoints:

  • Validation endpoint: https://fintom8platform-dev.ey.r.appspot.com/backend/invoice-agent
  • Converter endpoint: https://fintom8converter-prod.ey.r.appspot.com/backend/converter-workflowv2/

To use a specific API environment or authenticated tier, set the environment variables:

export FINTOM_API_URL="https://api.fintom8.com/v1/validate"
export FINTOM_CONVERTER_URL="https://api.fintom8.com/v1/convert"
export FINTOM_API_KEY="your-api-key"

📦 Tools Included

1. convert_pdf_to_invoice: Convert PDF invoices to UBL format

Converts PDF invoice documents to structured UBL/Peppol XML format using AI-powered extraction.

Input:

  • pdf_path (string, optional): Path to the PDF file to convert
  • pdf_base64 (string, optional): Base64-encoded PDF content
  • invoice_format (string, default: "ubl"): Output format for the invoice
  • gemini_model (string, default: "gemini-3-flash-preview"): The Gemini model to use
  • max_iterations (int, default: 3): Maximum number of AI iterations for refinement
  • verbose_output (bool, default: false): Include verbose processing details

Output: JSON containing the converted UBL invoice and conversion metadata

Note: Either pdf_path or pdf_base64 must be provided.

2. validate_invoice: Validate UBL/Peppol XML invoices

Validates a UBL/Peppol XML invoice against EN16931 and Peppol compliance rules.

Input:

  • xml_content (string): The raw XML string of the invoice to validate

Output: JSON compliance report (Valid/Invalid, Error List)

� Usage Examples

Example 1: Convert PDF to UBL Invoice

# Using with Claude Desktop or other MCP-compatible client
convert_pdf_to_invoice(
    pdf_path="/path/to/invoice.pdf",
    invoice_format="ubl",
    gemini_model="gemini-3-flash-preview",
    max_iterations=3
)

Example 2: Validate Converted Invoice

# First convert PDF
result = convert_pdf_to_invoice(pdf_path="/path/to/invoice.pdf")

# Then validate the result
validate_invoice(xml_content=result["ubl_xml"])

Example 3: Full Workflow

# 1. Convert PDF to UBL
converted = convert_pdf_to_invoice(
    pdf_path="/invoices/supplier_invoice.pdf",
    verbose_output=True
)

# 2. Validate the converted invoice
validation_result = validate_invoice(xml_content=converted["ubl_xml"])

# 3. Check compliance
if validation_result["is_valid"]:
    print("✅ Invoice is Peppol-compliant!")
else:
    print("❌ Validation errors:", validation_result["errors"])

�🛡️ Privacy & Security

This fintom8-mcp-server acts as a thin client proxy.

  • No data processing happens within this repository's code.
  • All validation logic is handled secure servers at Fintom8.
  • Your data is processed solely for the purpose of validation and is not used for AI model training.

📄 License

MIT License. See LICENSE for details.

Metadata

Release files for fintom8-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fintom8-mcp 0.1.0
File Size Uploaded Provenance
fintom8_mcp-0.1.0.tar.gz 5.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fintom8-mcp 0.1.0
File Interpreter ABI Platform
fintom8_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / fintom8_mcp-0.1.0.tar.gz

Download URL fintom8_mcp-0.1.0.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f23fbbd778c7e7a33c192e293ae8eee9e69573cdc8a2d5196c825a94dc037fc7
BLAKE2b-256 checksum
How to use checksums
49218f1dfcbc7c167d74726d240867a6b5de05a3e4989eafe43784c79adfb941
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / fintom8_mcp-0.1.0-py3-none-any.whl

Download URL fintom8_mcp-0.1.0-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
071bbe962f20ae58faecd41cae12ef098ee5e4f2059484b5b937f8e61b2c4fe0
BLAKE2b-256 checksum
How to use checksums
648fd1fb9470d3db862210cc9f8a79e9604cc272d81744212a5e68af6491d1af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for fintom8-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page