Turn bank statement PDFs, CSVs, XLSX and OFX into categorised transactions plus a summary.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. 'Bearer stb_live_…' — an API key from https://statementtobudget.com/for-agents. Without it, conversions return a masked preview plus an unlock link.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Upload a bank statement (PDF, CSV, XLS, XLSX, or OFX) as base64 and run AI extraction + categorisation. Returns a session_id plus access.level: "full" when an API key with credit was supplied, otherwise "preview" (5 sample rows, other rows masked) with an unlock_url a human can open to buy the full file for $9.99. Large statements can take 1-3 minutes; if status is "processing", poll get_job.
Original file name including extension
File bytes encoded as base64
PDF password if the file is locked
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Upload a bank statement (PDF, CSV, XLS, XLSX, or OFX) as base64 and run AI extraction + categorisation. Returns a session_id plus access.level: "full" when an API key with credit was supplied, otherwise "preview" (5 sample rows, other rows masked) with an unlock_url a human can open to buy the full file for $9.99. Large statements can take 1-3 minutes; if status is "processing", poll get_job.
| Argument | Type | Description |
|---|---|---|
| filename* | string | Original file name including extension |
| password | string | PDF password if the file is locked |
| content_base64* | string | File bytes encoded as base64 |
{
"type": "object",
"required": [
"filename",
"content_base64"
],
"properties": {
"filename": {
"type": "string",
"description": "Original file name including extension"
},
"password": {
"type": "string",
"description": "PDF password if the file is locked"
},
"content_base64": {
"type": "string",
"description": "File bytes encoded as base64"
}
}
}Poll a conversion job by session_id. Status is processing, complete, or error.
| Argument | Type | Description |
|---|---|---|
| session_id* | string |
{
"type": "object",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string"
}
}
}Fetch categorised transactions and a spending summary for a completed session. Preview sessions return 5 sample rows, locked_rows (date, category, masked description) for the rest, and unlock_url.
| Argument | Type | Description |
|---|---|---|
| session_id* | string |
{
"type": "object",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string"
}
}
}