Invoice Parser MCP
Invoice Parser MCP
Разбирайте счета, чеки и финансовые документы в структурированный JSON — прямо из вашего ИИ-агента.
Размещено на: Glama · Smithery · mcp.so
Создано для Model Context Protocol. Работает на базе Claude Vision.
Что он делает
Извлекает структурированные данные из PDF-счетов, отсканированных чеков и файлов изображений. Никаких шаблонов, никакой настройки OCR — Claude Vision считывает документ и возвращает чистый JSON.
Related MCP server: kelnix-receipt-mcp-api
Инструменты
Инструмент | Описание | Цена |
| Полный разбор счета (поставщик, позиции, итоги, срок оплаты) | $0.05/вызов |
| Разбор розничного чека (продавец, товары, налог, способ оплаты) | $0.05/вызов |
| Только список позиций, ничего больше | $0.01/вызов |
| Только промежуточный итог, налог, общая сумма, срок оплаты | $0.01/вызов |
| Математическая проверка — сверяет суммы позиций | $0.01/вызов |
| Пакетный разбор нескольких файлов → сводный CSV (макс. 20) | $0.10/вызов |
Справочник инструментов
parse_invoice
Полный разбор счета. Извлекает каждое структурированное поле из счета поставщика.
Параметры
Параметр | Тип | Обязательный | Описание |
| string | Да | Абсолютный путь к PDF-счету или изображению (PNG, JPG, WEBP). |
| string | Нет* | Ваш API-ключ InvoiceParser. Получите его на plenitudo.ai. |
| string | Нет* | Подтверждение оплаты x402 (хеш транзакции Base USDC). Альтернатива |
*Необходимо предоставить либо api_key, либо payment_proof.
Пример ввода
{
"file_path": "/Users/me/documents/invoice_acme_jan2025.pdf",
"api_key": "ip_free_abc123"
}Пример вывода
{
"ok": true,
"document_type": "invoice",
"vendor": {
"name": "Acme Corp",
"address": "123 Industrial Way, Austin TX 78701",
"email": "billing@acme.com",
"phone": "512-555-0100",
"tax_id": "12-3456789"
},
"bill_to": {
"name": "Jane Smith",
"address": "456 Oak Ave, Boston MA 02101",
"email": "jane@example.com"
},
"invoice_number": "INV-2025-0142",
"invoice_date": "2025-01-15",
"due_date": "2025-02-15",
"payment_terms": "Net 30",
"currency": "USD",
"line_items": [
{
"description": "Software consulting — January",
"quantity": 40,
"unit_price": 175.0,
"total": 7000.0,
"tax_rate": 0.0
}
],
"subtotal": 7000.0,
"discount": 0.0,
"tax_amount": 560.0,
"shipping": 0.0,
"total": 7560.0,
"amount_due": 7560.0,
"notes": "Wire transfer preferred. See banking details on page 2.",
"po_number": "PO-98765"
}parse_receipt
Разбор розничного или расходного чека. Предназначен для кассовых чеков, счетов из ресторанов и документов о расходах.
Параметры
Параметр | Тип | Обязательный | Описание |
| string | Да | Абсолютный путь к PDF-чеку или изображению (PNG, JPG, WEBP). |
| string | Нет* | Ваш API-ключ InvoiceParser. |
| string | Нет* | Подтверждение оплаты x402 (хеш транзакции Base USDC). |
Пример ввода
{
"file_path": "/Users/me/receipts/coffee_shop_march1.jpg",
"api_key": "ip_free_abc123"
}Пример вывода
{
"ok": true,
"document_type": "receipt",
"merchant": {
"name": "Blue Bottle Coffee",
"address": "300 Webster St, Oakland CA 94609",
"phone": "510-555-0200",
"website": "bluebottlecoffee.com"
},
"date": "2025-03-01",
"time": "09:14",
"receipt_number": "5541",
"cashier": "Maria",
"items": [
{ "name": "Latte (large)", "quantity": 1, "unit_price": 6.50, "total": 6.50, "sku": "", "category": "beverage" },
{ "name": "Croissant", "quantity": 1, "unit_price": 4.00, "total": 4.00, "sku": "", "category": "pastry" }
],
"subtotal": 10.50,
"discounts": 0.0,
"tax": 0.84,
"tip": 2.00,
"total": 13.34,
"currency": "USD",
"payment_method": "Visa",
"card_last_four": "4242",
"transaction_id": "TXN-88821",
"loyalty_points": null,
"notes": ""
}extract_line_items
Легковесное извлечение, возвращающее только список позиций. Быстрее и дешевле, чем parse_invoice, если вам нужны только позиции.
Параметры
Параметр | Тип | Обязательный | Описание |
| string | Да | Абсолютный путь к PDF-счету/чеку или изображению. |
| string | Нет* | Ваш API-ключ InvoiceParser. |
| string | Нет* | Подтверждение оплаты x402 (хеш транзакции Base USDC). |
Пример вывода
{
"ok": true,
"line_items": [
{ "description": "Widget A (x10)", "quantity": 10, "unit_price": 12.00, "total": 120.00 },
{ "description": "Widget B (x5)", "quantity": 5, "unit_price": 24.00, "total": 120.00 }
],
"item_count": 2
}extract_totals
Извлекает только финансовую сводку (промежуточный итог, налоги, общие суммы, срок оплаты) без разбора позиций или данных поставщика.
Параметры
Параметр | Тип | Обязательный | Описание |
| string | Да | Абсолютный путь к PDF-счету/чеку или изображению. |
| string | Нет* | Ваш API-ключ InvoiceParser. |
| string | Нет* | Подтверждение оплаты x402 (хеш транзакции Base USDC). |
Пример вывода
{
"ok": true,
"currency": "USD",
"subtotal": 240.00,
"discount": 0.0,
"tax_amount": 19.20,
"tax_rate": 8.0,
"shipping": 0.0,
"tip": 0.0,
"total": 259.20,
"amount_due": 259.20,
"invoice_date": "2025-01-15",
"due_date": "2025-02-15"
}validate_invoice
Инструмент математической проверки. Проверяет, что итоги позиций равны quantity × unit_price, что промежуточный итог соответствует сумме позиций, что расчет налога корректен и что итоговая сумма сходится. Допускает погрешность округления ±$0.02.
Параметры
Параметр | Тип | Обязательный | Описание |
| string | Да | Абсолютный путь к PDF-счету или изображению. |
| string | Нет* | Ваш API-ключ InvoiceParser. |
| string | Нет* | Подтверждение оплаты x402 (хеш транзакции Base USDC). |
Пример вывода — корректный счет
{
"ok": true,
"valid": true,
"issues": [],
"summary": {
"line_items_checked": 3,
"subtotal": 450.00,
"tax": 36.00,
"total": 486.00,
"currency": "USD"
}
}Пример вывода — некорректный счет
{
"ok": true,
"valid": false,
"issues": [
{
"field": "line_item_2_total",
"expected": 120.00,
"found": 100.00,
"description": "quantity (10) × unit_price (12.00) = 120.00, but stated total is 100.00"
}
],
"summary": {
"line_items_checked": 3,
"subtotal": 340.00,
"tax": 27.20,
"total": 367.20,
"currency": "USD"
}
}export_to_csv
Пакетный разбор до 20 счетов или чеков и экспорт сводного CSV. Каждая строка содержит: имя файла, тип документа, поставщик/продавец, дата, номер, промежуточный итог, налог, общая сумма, валюта, срок оплаты, способ оплаты.
Параметры
Параметр | Тип | Обязательный | Описание |
| массив строк | Да | Список абсолютных путей к PDF-счетам/чекам или изображениям. Максимум 20. |
| string | Да | Абсолютный путь, по которому будет сохранен CSV-файл. |
| string | Нет* | Ваш API-ключ InvoiceParser. |
| string | Нет* | Подтверждение оплаты x402 (хеш транзакции Base USDC). |
Пример ввода
{
"file_paths": [
"/Users/me/invoices/jan2025.pdf",
"/Users/me/invoices/feb2025.pdf",
"/Users/me/receipts/expense_march.jpg"
],
"output_path": "/Users/me/exports/q1_summary.csv",
"api_key": "ip_free_abc123"
}Пример вывода (JSON-ответ)
{
"ok": true,
"output_path": "/Users/me/exports/q1_summary.csv",
"rows_written": 3,
"errors": []
}Столбцы CSV: filename, document_type, vendor_merchant, date, number, subtotal, tax, total, currency, due_date, payment_method
Поддерживаемые форматы
PDF (счета, отсканированные документы)
PNG, JPG, WEBP (фотографии чеков, скриншоты)
Аутентификация
Бесплатный уровень: 20 разборов в месяц с API-ключом (получите его на plenitudo.ai)
Оплата за использование (x402): Аккаунт не требуется. Отправьте USDC в сети Base на адрес кошелька, передайте хеш транзакции как payment_proof.
{
"error": "Payment required",
"x402": {
"network": "base",
"token": "USDC",
"recipient": "0x9053FeDC90c1BCB4a8Cf708DdB426aB02430d6ad",
"amount_usdc": 0.05
}
}Использование (Claude Desktop / MCP-клиент)
{
"mcpServers": {
"invoice-parser": {
"url": "https://invoice-parser.plenitudo.ai/mcp?ref=readme"
}
}
}Архитектура
server.py — MCP server (6 tools: parse_invoice, parse_receipt,
extract_line_items, extract_totals, validate_invoice,
export_to_csv)
auth.py — API key validation + usage tracking (SQLite)
x402.py — x402 micropayment verification (USDC on Base)
config.py — Environment variable loading
worker.js — Cloudflare Worker (remote proxy for MCP traffic)
data/keys.db — API key store (created at runtime)
data/usage.db — Monthly usage counters (created at runtime)
logs/ — Structured log files
tests/ — Unit tests (mock Vision API, no real documents needed)Поток запроса
AI agent (Claude Desktop, Cursor, etc.)
│
│ MCP tool call (JSON-RPC over HTTP)
▼
Cloudflare Worker (worker.js) ← optional remote proxy
│
│ Forwards to Railway deployment
▼
server.py (FastMCP, streamable HTTP)
│
├── auth.py validates API key / x402 proof
├── x402.py verifies USDC transaction on Base
└── Anthropic API Claude Vision reads the document
│
▼
structured JSON → returned to agentПеременные окружения
Переменная | Обязательная | Описание |
| Да | API-ключ Anthropic для Claude Vision. Установите |
| Нет | Переопределение базового URL Anthropic. Установите |
| Нет | ID модели Claude. По умолчанию |
| Нет | Директория для баз данных SQLite. По умолчанию |
| Нет | HTTP-порт. По умолчанию |
Развертывание (Railway)
Сделайте форк этого репозитория
Подключитесь к Railway → New Project → Deploy from GitHub
Добавьте переменные окружения:
ANTHROPIC_API_KEY— ваш API-ключ AnthropicINVOICEPARSER_DATA_DIR—/dataSTRIPE_WEBHOOK_SECRET— из панели управления StripeSTRIPE_PRO_PRICE_ID— из панели управления Stripe
Добавьте постоянный том (persistent volume) в
/dataРазверните
Локальный запуск (опциональная маршрутизация через maxproxy)
Если вы запускаете сервер на той же машине, где работает экземпляр maxproxy на порту 3456, вы можете направлять вызовы Claude Vision через него вместо прямого обращения к API Anthropic:
ANTHROPIC_API_KEY=maxproxy
ANTHROPIC_BASE_URL=http://localhost:3456Оставьте ANTHROPIC_BASE_URL не установленным (или пустым) при любом облачном развертывании/развертывании на Railway — эти среды не имеют доступа к локальному прокси.
Участие в разработке и безопасность
CONTRIBUTING.md — настройка среды разработки и правила PR
SECURITY.md — политика ответственного раскрытия информации
CHANGELOG.md — история версий
Лицензия
MIT — Copyright © 2025 Kenneth Nygren / Plenitudo AI
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn any PDF into structured JSON via AI + OCR: invoices, bank statements, contracts.
Invoice and receipt extractor: reads PDF and image invoices/receipts with AI, pulling date…
Agent-native document parsing: PDF, scans and FR/EU invoices to structured JSON or Markdown.
- DatanemOAuthcom.datanem
Turn PDFs, scans and photos into a queryable database. Invoices, CVs, receipts, in bulk.
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceHeadless document processing for AI agents. Invoice extraction, contract analysis, and Dutch business verification. Pay-per-use via X402 on Solana. No API keys needed.101-
- AlicenseNot gradedqualityBmaintenanceTurn any receipt into structured, accounting-ready JSON or clean Markdown with one API call. AI-powered vision extracts merchant, date, line items, tax, totals, and suggests GL accounts for instant bookkeeping. 50 free credits on signup.MIT
- AlicenseAqualityBmaintenanceConvert PDFs to structured JSON. Extract invoices, bank statements, contracts, and more. Pay per call via x402 USDC.58MIT
- AlicenseNot gradedqualityBmaintenanceEnables intelligent document processing by extracting text, classifying document types, and generating structured summaries from PDFs and images using vision LLMs.MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/knportal/invoice-parser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server