DocFig
Bank statement PDFs to checked transactions, plus a free offline check for transaction tables.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen convert_statement
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"docfig": {
"command": "uvx",
"args": [
"docfig"
]
}
}
}Paquetes ejecutables
0.2.0stdio0.2.0stdioPuntos de conexión remotos
https://mcp.docfig.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (4)
🟢check_transactions(csv_text, rows, opening_balance, closing_balance, statement_type, ...)
Check a bank or credit card statement's transactions table for errors. Free and offline: no API key, nothing is uploaded. Walks the running balance row by row and reports rows where the balance does not follow, swapped debit and credit columns, sign errors, duplicated or missing rows, dates out of order, and totals that miss the opening or closing balance, each with a likely fix. Give the table as csv_text (CSV or TSV with a header row) or as rows (first row is the header). Same result as `docfig check --json`.
Esquema de entrada
{
"type": "object",
"properties": {
"csv_text": {
"type": "string",
"description": "The table as CSV or TSV text, header row first."
},
"rows": {
"type": "array",
"description": "The table as rows of cells, first row is the header, e.g. [[\"Date\",\"Description\",\"Amount\",\"Balance\"], ...]. Cells are text; numbers and null are accepted too.",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"opening_balance": {
"type": "string",
"description": "Opening balance, to check the totals."
},
"closing_balance": {
"type": "string",
"description": "Closing balance, to check the totals."
},
"statement_type": {
"type": "string",
"enum": [
"bank",
"card"
],
"default": "bank",
"description": "card: the balance is the amount owed."
},
"date_format": {
"type": "string",
"enum": [
"DMY",
"MDY"
],
"description": "How to read dates like 01/02/2026 (default: detected)."
},
"delimiter": {
"type": "string",
"description": "CSV delimiter (default: detected)."
},
"filename": {
"type": "string",
"description": "Optional name shown in the report."
}
}
}🟢convert_statement(file_url, file_base64, filename, password, statement_id, ...)
Convert a bank or credit card statement (PDF, scanned PDF, or a JPG, PNG or HEIC photo) into transactions, with every row checked against the balances. Give file_url or file_base64. Returns the bank, period, totals, check status, flagged rows, the first transactions and Excel and CSV download links that work for one hour. Uses the user's DocFig API key and their monthly pages (free key: 100 pages a month at https://docfig.com/api). Account numbers are masked; nothing is stored, results are deleted after one hour.
Esquema de entrada
{
"type": "object",
"properties": {
"file_url": {
"type": "string",
"description": "Direct https download link to the statement (PDF, JPG, PNG or HEIC, up to 20 MB). Must be publicly reachable."
},
"file_base64": {
"type": "string",
"description": "The file's bytes, base64-encoded (up to 20 MB decoded)."
},
"filename": {
"type": "string",
"description": "Optional file name, e.g. march.pdf."
},
"password": {
"type": "string",
"description": "Password for a locked PDF. Used once in memory, never stored or logged."
},
"statement_id": {
"type": "string",
"description": "Instead of a file: the statement_id of an earlier call that was still converting, to fetch its result."
},
"max_transactions": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 25,
"description": "How many transactions to include (the rest are in the downloads). Default 25."
},
"wait_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 600,
"default": 45,
"description": "How long to wait for the result before returning the statement_id to check again. Default 45."
}
}
}🟡combine_statements(files, statement_ids, wait_seconds)
Convert several statements (or reuse statement_ids from the last hour) and combine them into one set of accounts: finds missing months (gaps), overlapping periods, duplicated transactions (kept once) and balances that do not carry over. Returns the accounts, problems, counts and links to one combined Excel or CSV file (valid one hour). Uses the user's DocFig API key.
Esquema de entrada
{
"type": "object",
"properties": {
"files": {
"type": "array",
"maxItems": 12,
"items": {
"type": "object",
"properties": {
"file_url": {
"type": "string",
"description": "Direct https download link to the statement (PDF, JPG, PNG or HEIC, up to 20 MB). Must be publicly reachable."
},
"file_base64": {
"type": "string",
"description": "The file's bytes, base64-encoded (up to 20 MB decoded)."
},
"filename": {
"type": "string",
"description": "Optional file name, e.g. march.pdf."
},
"password": {
"type": "string",
"description": "Password for a locked PDF. Used once in memory, never stored or logged."
}
}
},
"description": "Statements to convert and combine, each with file_url or file_base64."
},
"statement_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "statement_id values of statements converted in the last hour (from convert_statement or an earlier combine_statements call)."
},
"wait_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 600,
"default": 90,
"description": "How long to wait for all conversions. Default 90."
}
}
}🟢usage
Pages used and left this month for the DocFig API key, and when they reset.
Esquema de entrada
{
"type": "object",
"properties": {}
}Comunidad
Evidencia