Invoice Intelligence MCP Server

Un serveur MCP payant pour le traitement des factures. Trois outils : extraire des données structurées de toute facture (texte collé, URL ou PDF), valider la facture extraite pour sa complétude et son exactitude mathématique, et classer la dépense dans une catégorie comptable avec un code de compte nominal suggéré et un indicateur de déductibilité fiscale. Tarif de 0,005 $ à 0,01 $ par appel, payé en USDC sur Base via x402. Aucune clé API requise.

Documentation

Invoice Intelligence MCP

A paid MCP service that extracts, validates, and categorises invoices. Accepts pasted text, public URLs, or base64-encoded PDFs. Powered by x402 payments on Base mainnet.


Quick start

cd invoice-intelligence-mcp
npm install
cp .env.example .env
npm run dev        # http://localhost:3101
npm run test:run
npm run build

Tools

extract_invoice

Extract structured data from any invoice.

Input (one required):

  • text — pasted invoice text
  • url — public URL of invoice page or PDF
  • pdf_base64 — PDF encoded as base64

Output: vendor, client, invoice number, dates, line items, subtotal, VAT, total, bank details, payment terms, confidence score.

Price: $0.01


validate_invoice

Check an extracted invoice for completeness and mathematical accuracy.

Input: invoice — the output object from extract_invoice

Output: valid boolean, list of issues with severity, recalculated totals, totals_match flag.

Price: $0.005


categorise_expense

Classify an invoice into an accounting expense category.

Input: vendor_name, description, line_items (any combination)

Output: category, confidence, suggested nominal account code, tax_deductible_likely.

Categories: software_subscription, cloud_infrastructure, travel_accommodation, professional_services, marketing_advertising, utilities, hardware_equipment, office_supplies, food_entertainment, insurance, rent_facilities, payroll_contractors, other, unknown

Price: $0.005


MCP endpoint

https://your-deployment.up.railway.app/mcp

Claude Desktop config

{
  "mcpServers": {
    "invoice-intelligence": {
      "url": "https://your-deployment.up.railway.app/mcp",
      "transport": "streamable-http"
    }
  }
}

REST API

# Extract invoice from text
curl -X POST https://your-deployment.up.railway.app/api/extract-invoice \
  -H "Content-Type: application/json" \
  -d '{"text": "INVOICE\nAcme Ltd\nINV-001\n..."}'

# Validate extracted invoice
curl -X POST https://your-deployment.up.railway.app/api/validate-invoice \
  -H "Content-Type: application/json" \
  -d '{"invoice": { ...extract_invoice output... }}'

# Categorise expense
curl -X POST https://your-deployment.up.railway.app/api/categorise-expense \
  -H "Content-Type: application/json" \
  -d '{"vendor_name": "AWS", "description": "Cloud compute"}'

Payment gating (x402)

Set in .env or Railway Variables:

PAYMENTS_ENABLED=true
X402_PAY_TO_ADDRESS=0xYourWalletAddress
X402_NETWORK=eip155:8453
X402_FACILITATOR_URL=https://api.cdp.coinbase.com/platform/v2/x402
CDP_API_KEY_ID=your-key
CDP_API_KEY_SECRET=your-secret

Without payment, requests return HTTP 402 with x402 payment instructions.