# How can an AI assistant convert a bank statement PDF to CSV for me through MCP?

With the Bills AI MCP server connected, the assistant can call convert_statement_pdf for a small PDF sent as base64, or create_statement_upload_url to get a one-time link where a shell-capable agent uploads a PDF of up to 10 MB with curl. Both read the PDF in memory, return CSV, and do not save the file.

Last reviewed: 2026-11-13. Canonical page: https://billsai.cc/solutions/convert-bank-statement-pdf-to-csv-with-an-ai-assistant-mcp

## Steps

1. Connect the Bills AI MCP server to your assistant and approve the consent screen.
2. For a PDF attached in ChatGPT or a small PDF, the assistant calls convert_statement_pdf with the attachment or the file as base64 (up to 2 MB). It returns the CSV text, the column headers, the row count and any warnings.
3. For a larger file, or when the agent can run shell commands, it calls create_statement_upload_url. The response is a one-time URL valid for 10 minutes. The agent sends the PDF (up to 10 MB) to that URL with a curl PUT request, and the response to the PUT is the CSV.
4. Read the warnings and compare the CSV with the original statement.
5. Remember that the CSV goes to the connected assistant, and is visible to it under its provider's terms. Bills AI does not save the file or the CSV.

## When this will not work

- An assistant that cannot access the PDF file (no attachment support, no base64, no shell to run curl) cannot use these tools on that file.
- The upload URL works once and expires after 10 minutes.
- Scanned or photographed PDFs are not supported, because the converter has no OCR.
- Statement layouts vary. A converted table can have misplaced values, so check it against the original.

## Frequently asked questions

### Is the PDF stored when an assistant converts it through MCP?

No. The convert and upload tools read the PDF in memory and return the CSV only to the connected assistant. Nothing is saved to the Bills AI database or file store.

### How large can the PDF be?

Up to 2 MB as base64, and up to 10 MB as a ChatGPT attachment or through the one-time upload URL.

### Are the file name and contents logged?

File names and contents are not logged or sent to error tracking.

### Do I need a Bills AI account for this?

Yes. The assistant connects to your Bills AI account through OAuth sign-in, which works for every account including free ones.

## Related

- [Bills AI MCP server](https://billsai.cc/mcp)
- [Connecting an assistant with MCP](https://billsai.cc/solutions/connect-claude-or-chatgpt-to-bank-statements-with-mcp)
- [Free bank statement PDF to CSV converter](https://billsai.cc/tools/pdf-to-csv)
- [Converter test results, including the layouts that fail](https://billsai.cc/tools/pdf-to-csv/accuracy)

More answers: [https://billsai.cc/solutions](https://billsai.cc/solutions)
