Invoice Intelligence MCP Server
A paid MCP server for invoice processing. Three tools: extract structured data from any invoice (pasted text, URL, or PDF), validate the extracted invoice for completeness and mathematical accuracy, and classify the expense into an accounting category with a suggested nominal account code and tax deductibility flag. Priced from $0.005 to $0.01 per call, paid in USDC on Base via x402. No API key required.
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 texturl— public URL of invoice page or PDFpdf_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.