PivotBank
Convert bank statement PDFs to Excel, CSV, OFX or QBO, every row checked against the balances.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"pivotbank": {
"url": "https://pivotbank.app/mcp"
}
}
}Remote endpoints
https://pivotbank.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟡convert_statement(statement, pdf_base64, filename)
Use this when the user wants a bank statement or credit card statement PDF turned into a spreadsheet: Excel (xlsx), CSV, QuickBooks (QBO), Xero (OFX), Quicken (QIF) or JSON. Reads every transaction (date, description, money in, money out, balance) and checks them against the statement's own running balances, so the reading is proved rather than guessed. Saves the statement to the user's PivotBank account and returns a link to download it in any of those formats. Needs the user to sign in to PivotBank; agents may instead send a Pro API key as 'Authorization: Bearer pvb_live_...'.
Input Schema
{
"type": "object",
"properties": {
"statement": {
"type": "object",
"description": "The bank statement PDF the user shared.",
"properties": {
"download_url": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
}
}
},
"pdf_base64": {
"type": "string",
"description": "For clients without file attachments: the statement PDF, base64-encoded. 15 MB before encoding at most."
},
"filename": {
"type": "string",
"description": "The file name, for your own records."
}
},
"additionalProperties": false
}🟢check_statement_balances(statement, pdf_base64)
Use this when the user asks whether a bank statement is complete, correct or genuine, or why its numbers do not add up. Reads the PDF and checks every row against the statement's own running balances: opening plus money in minus money out must land on the closing balance to the cent. Says whether it does, and names the rows where it breaks. Free with a PivotBank account.
Input Schema
{
"type": "object",
"properties": {
"statement": {
"type": "object",
"description": "The bank statement PDF the user shared.",
"properties": {
"download_url": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
}
}
},
"pdf_base64": {
"type": "string",
"description": "For clients without file attachments: the PDF, base64-encoded."
}
},
"additionalProperties": false
}🟢summarise_spending(statement, pdf_base64)
Use this when the user wants to know where their money went from a bank statement PDF: money in and out, spending by category, top merchants and repeating payments such as subscriptions. Free with a PivotBank account.
Input Schema
{
"type": "object",
"properties": {
"statement": {
"type": "object",
"description": "The bank statement PDF the user shared.",
"properties": {
"download_url": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"type": "string"
}
}
},
"pdf_base64": {
"type": "string",
"description": "For clients without file attachments: the PDF, base64-encoded."
}
},
"additionalProperties": false
}🟢list_supported_banks(country)
Lists the banks PivotBank recognises by name, for one country (ISO 3166 alpha-2, e.g. GB, US, ZA) or for all. A statement from a bank not listed still converts: the reader works from the layout, not a per-bank template.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166 alpha-2 code. Leave out for every bank."
}
},
"additionalProperties": false
}Community
Evidence