Bank Statement Converter MCP server
{
"mcpServers": {
"mainbook-bank-statement-converter": {
"command": "uvx",
"args": [
"mainbook-mcp"
],
"env": {
"MAINBOOK_API_KEY": "<mainbook_api_key>",
"MAINBOOK_API_BASE_URL": "https://...",
"MAINBOOK_MCP_OAUTH_JWKS_URL": "https://...",
"CLIENT_ID": "<client_id>"
}
}
}
}{
"mcpServers": {
"mainbook-bank-statement-converter": {
"command": "uvx",
"args": [
"mainbook-mcp"
],
"env": {
"MAINBOOK_API_KEY": "<mainbook_api_key>",
"MAINBOOK_API_BASE_URL": "https://...",
"MAINBOOK_MCP_OAUTH_JWKS_URL": "https://...",
"CLIENT_ID": "<client_id>"
}
}
}
}{
"mcpServers": {
"mainbook-bank-statement-converter": {
"command": "uvx",
"args": [
"mainbook-mcp"
],
"env": {
"MAINBOOK_API_KEY": "<mainbook_api_key>",
"MAINBOOK_API_BASE_URL": "https://...",
"MAINBOOK_MCP_OAUTH_JWKS_URL": "https://...",
"CLIENT_ID": "<client_id>"
}
}
}
}{
"servers": {
"mainbook-bank-statement-converter": {
"command": "uvx",
"args": [
"mainbook-mcp"
],
"env": {
"MAINBOOK_API_KEY": "${input:mainbook_api_key}",
"MAINBOOK_API_BASE_URL": "${input:mainbook_api_base_url}",
"MAINBOOK_MCP_OAUTH_JWKS_URL": "${input:mainbook_mcp_oauth_jwks_url}",
"CLIENT_ID": "${input:client_id}"
}
}
},
"inputs": [
{
"id": "mainbook_api_key",
"type": "promptString",
"description": "Mainbook api key",
"password": true
},
{
"id": "mainbook_api_base_url",
"type": "promptString",
"description": "Mainbook api base url",
"password": true
},
{
"id": "mainbook_mcp_oauth_jwks_url",
"type": "promptString",
"description": "Mainbook mcp oauth jwks url",
"password": true
},
{
"id": "client_id",
"type": "promptString",
"description": "Client id",
"password": true
}
]
}{
"mcpServers": {
"mainbook-bank-statement-converter": {
"command": "uvx",
"args": [
"mainbook-mcp"
],
"env": {
"MAINBOOK_API_KEY": "<mainbook_api_key>",
"MAINBOOK_API_BASE_URL": "https://...",
"MAINBOOK_MCP_OAUTH_JWKS_URL": "https://...",
"CLIENT_ID": "<client_id>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall uvx mainbook-mcpversion 0.5.1
What it does
An MCP server that converts PDF bank statements into JSON, Excel, or CSV by uploading them to the MainBook API, which extracts transactions, normalises dates, and validates that opening balance plus credits minus debits equals the closing balance. It is intended for developers and AI assistant users who need structured transaction data from statement files they already have, not for connecting to live bank accounts.
- Convert a PDF bank statement to an Excel spreadsheet with all transactions extracted and balance-validated.
- Retrieve a previously submitted conversion job as JSON or download it as a CSV to a local folder.
- Check remaining MainBook page-credit balance before submitting large batches of statements.
Tools this server exposes
| Tool | Does |
|---|---|
| convert_bank_statement | Uploads a PDF bank statement, runs conversion, and returns the extracted transactions as JSON inline or writes XLSX/CSV to disk. |
| get_conversion | Retrieves the result of a previously submitted conversion job, returning JSON inline or writing XLSX/CSV to a specified local path. |
| list_conversions | Returns one cursor-paginated page of conversion jobs on the account. |
| get_balance | Returns the total, reserved, and available page credits for the account. |
| output_folder | Reads or sets the default local folder where result files are written. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.