Israeli Bank Connector
Instructions
Step 1: Identify Connected Banks
Check which MCP server is available and what accounts are connected:
- israeli-bank-mcp: direct scraper integration
- il-bank-mcp: Docker-based with persistent analysis
- If no MCP: guide the user through a CSV or Excel export from the bank website
Neither MCP is installable with npx. israeli-bank-mcp is not published to npm and
declares no bin, so any instruction to run npx israeli-bank-mcp is wrong and will fail.
The real shapes, taken from each repository:
| Server |
How it is actually installed and run |
israeli-bank-mcp |
Clone the repo, npm install, npm run build, then point the MCP client at node /path/to/israeli-bank-mcp/build/server.js |
il-bank-mcp |
Docker. docker compose up -d with the bank env vars set, and the client runs docker compose -f /path/to/il-bank-mcp/docker-compose.yml run --rm -i mcp-server |
Node 22 or newer is required for the MCP servers, and Python 3.9 or newer for the bundled script. israeli-bank-scrapers declares engines.node >= 22.22.2.
On an older Node the install or the run fails before any bank is ever contacted, and the
error will not mention the bank. Check node --version first when a user reports that
nothing works at all.
israeli-bank-mcp exposes two tools and one resource, and that is the whole surface:
fetch-transactions, two-factor-auth, and the banks://list resource that reports which
credential fields each bank needs. Everything in Steps 3 to 5 below is work the agent does
on the returned data. Do not expect the server to categorize, total, or export anything.
Step 2: Retrieve Transactions
Fetch transaction data for the requested period:
- Default: Current month
- Supported: Up to 12 months history (bank-dependent)
- Include: Bank accounts AND credit card transactions
Step 3: Categorize and Analyze
Apply Israeli-specific categorization:
| Category |
Hebrew |
Examples |
| Housing |
דיור (diur) |
Rent, arnona, vaad bayit |
| Groceries |
מזון (mazon) |
Shufersal, Rami Levy, Victory |
| Transportation |
תחבורה (tahaburah) |
Rav-Kav, fuel, Gett |
| Utilities |
שירותים (shartuim) |
Electric Company, Mekorot, Bezeq |
| Healthcare |
בריאות (briut) |
Kupat Cholim, pharmacy |
| Education |
חינוך (chinuch) |
Gan, school, courses |
| Entertainment |
בילוי (bilui) |
Restaurants, cinema, streaming |
| Insurance |
ביטוח (bituach) |
Health, car, home insurance |
| Savings |
חיסכון (chisachon) |
Pension, keren hishtalmut |
Do not report money moved into savings as spending. A pension contribution, keren
hishtalmut deposit or gemel transfer is the user's own money changing pocket, not an
expense. The script reports three figures for this reason: Total Spending (excluding
savings), Into Savings, and Total Outflow (the two combined). Quoting the outflow figure
as "you spent X" overstates spending by whatever the user is putting away, which for a
typical Israeli salary deduction is a substantial share.
Categorisation is keyword matching, so review it before presenting it as fact. The
script matches merchant descriptions against Hebrew and English keyword patterns, guarded on
both scripts so a pattern matches a whole token rather than a fragment: Hebrew-letter
lookbehind so פז does not fire inside פזגז, and Latin-letter guards on both sides so
hot does not fire inside Hotel or PHOTO. Hebrew one-letter prefixes are handled by
matching a de-prefixed copy of each token as well, which is why הפקדה לפנסיה reaches the
savings rule; without that the guard blocks the most natural Hebrew phrasing and files a
pension deposit as an insurance expense.
Misclassifications remain, and this is a CLASS of failure, not a fixed list. Any Hebrew
merchant string that contains a pattern token as a real word will match it: a mall called
קניון מגדל שלום matches the insurer מגדל, and מלון הוט matches the cable company הוט. Those
two are named because they are common, not because they are the only ones. Show the user the
category breakdown and invite corrections rather than asserting it is their spending, and
never present a category total as a fact about the person without them having seen the rows
behind it.
Money coming in is not netted off spending, and no net view is offered. Any positive
amount, whether a refund, a reversal, a salary, a transfer in or a loan drawdown, is reported
on its own Credits In line and excluded from every category total and every percentage.
Nothing in the data distinguishes a refund from a salary, so a "net" figure built from that
bucket subtracts the user's salary from a spending category and reports a negative total. If
the user wants refunds netted, net the specific rows they point at, by hand. Check the sign
convention of your source first: a feed that reports every line as positive produces an empty
spending total.
Step 4: Present Insights
Provide:
- Monthly spending summary by category
- Top 10 merchants by spending
- Month-over-month trends
- Recurring charges identified
- Unusual transactions flagged
Step 5: Export for Tax (if requested)
Format transactions for Israeli tax purposes:
- Separate business vs personal expenses
- Flag VAT-deductible purchases
- Export in format compatible with Israeli accounting software
Examples
Example 1: Monthly Spending Summary
User says: "Show me my spending breakdown for January"
Result: Categorized breakdown with NIS amounts per category, top merchants, and comparison to December.
Example 2: Subscription Audit
User says: "What recurring payments am I making?"
Result: List of detected recurring charges with amounts, frequency, and suggestion for potential savings.
Example 3: Tax Expense Export
User says: "Export my business expenses for my accountant"
Result: Filtered and categorized business transactions with VAT amounts, ready for import into accounting software.
Bundled Resources
Scripts
scripts/categorize_transactions.py, Categorizes Israeli bank transactions by spending category using Israeli-specific merchant pattern matching (Shufersal, Rami Levy, Rav-Kav, etc.). Accepts transaction JSON and outputs categorized spending summaries. Run: python3 scripts/categorize_transactions.py --example for a demo, or python3 scripts/categorize_transactions.py --json transactions.json for real data. Add --output-json for machine-readable output.
References
references/spending-categories.md, Israeli spending category definitions with Hebrew terms and common merchant examples for each category (housing/diur, groceries/mazon, transportation/tahaburah, utilities/shartuim, etc.). Consult when customizing categorization rules or explaining categories to users.
references/supported-banks.md, Full list of 14 banks (Hapoalim, Leumi, Discount, Mercantile, Mizrahi-Tefahot, FIBI, Otsar HaHayal, Pagi, Union, Yahav, Massad, OneZero, Behatsdaa, Beyahad Bishvilha) and 4 credit card companies (Visa Cal, Max, Isracard, Amex) from the israeli-bank-scrapers CompanyTypes enum, with BOI bank codes, library scraper IDs, and MCP server coverage notes. Consult when setting up bank connections or troubleshooting missing accounts.
Reference Links
| Source |
URL |
What to Check |
| israeli-bank-scrapers (npm library) |
https://github.com/eshaham/israeli-bank-scrapers |
Authoritative list of supported banks, breaking changes, scraper limitations |
| israeli-bank-scrapers on npm |
https://registry.npmjs.org/israeli-bank-scrapers |
Current release, and the engines.node floor. Latest is 6.9.0 (2026-07-22), Node >= 22.22.2 |
| israeli-bank-mcp (Motti Bechhofer) |
https://github.com/mottibec/israeli-bank-mcp |
The more current MCP wrapper (last pushed May 2026). Not on npm: clone and build. Its README bank list is stale, but the server iterates the library's SCRAPERS map, so it covers whatever the installed library covers |
| il-bank-mcp (Gilad Lekner) |
https://github.com/glekner/il-bank-mcp |
Docker-based MCP with built-in spending analysis and SQLite storage. Last pushed June 2025. Its packages/scraper declares israeli-bank-scrapers ^6.1.4, a low floor rather than a hard pin, so a fresh build still resolves to the current release; a committed lockfile or a stale image is what actually freezes it |
| Bank of Israel: Consumer Enquiries |
https://www.boi.org.il/en/information-and-service-to-the-public/consumer-enquiries-and-inspections/ |
Official BOI Public Inquiries Unit, banking customer service, complaint workflow |
| Bank of Israel: Access to Payment Systems |
https://www.boi.org.il/en/economic-roles/supervision-and-regulation/payment-systems-oversight/access-to-payment-systems/ |
Payment-system access terms. NOTE: rendered in a browser on 27 August 2026 this is a landing page last updated 19/11/2023 with no identification-code list, so do not cite it for bank codes |
Handling credentials and transaction data
This skill sits on top of a scraper that takes live Israeli bank usernames, passwords and
one-time codes, and it produces a complete transaction history. Treat both as sensitive.
- Credentials belong in the MCP server's own configuration or environment, never in the
chat, never in a file you create, and never in a command you echo back to the user.
israeli-bank-mcp reads credentials from environment variables and deliberately never
from tool arguments, precisely so they do not end up in the LLM conversation history. Its
variable names are derived from the bank id and the login field by camelCase-to-upper-snake,
so leumi plus username gives LEUMI_USERNAME, and otsarHahayal plus username gives
OTSAR_HAHAYAL_USERNAME. Ask the banks://list resource which fields a given bank needs
rather than guessing, because the shape differs per bank (Hapoalim wants a usercode, not a
username). If a bank fails with a missing-credential error, it names the exact variables.
- Do not print, log, or repeat a credential, an OTP, or a card number, even partially, and
do not ask the user to paste one into the conversation.
- Do not persist raw transaction dumps beyond what the current task needs, and tell the
user where anything you do write is stored. Note that
il-bank-mcp keeps scraped data in
a local SQLite database, so the history outlives the session by design.
- Transaction descriptions reveal health providers, political donations, and religious
institutions. Summarise; do not volunteer inferences about the person from their
spending.
Gotchas
- The operational point, which IS load-bearing:
israeli-bank-scrapers uses headless browser scraping, not an official Open Banking API, and agents routinely reach for UK Open Banking or generic PSD2 endpoints that do not exist in Israel. Israel's own open-banking regime is reported to derive from the Berlin Group NextGenPSD2 framework on its own timeline, but that characterisation is unverified in this skill and should not be repeated to a user as fact.
- Bank Leumi, Hapoalim, Discount, Mizrahi-Tefahot, and First International each have different API implementations. There is no single unified API across all Israeli banks.
- Mercantile and Otsar HaHayal are SEPARATE scrapers in the upstream library even though they are subsidiaries of Discount and FIBI respectively. Treat them as their own connection (each has its own loginFields shape). Do not assume Discount credentials cover Mercantile or that FIBI credentials cover Otsar HaHayal.
- Transaction history depth is bank-specific and this skill does not have a sourced table of it. Reports put Hapoalim and Leumi below 12 months and the FIBI group at 12 or more, but that is unverified. Treat "up to 12 months" as a ceiling, never a promise, and tell the user what the scrape actually returned rather than what you expected.
- What the library can retrieve depends on the installed version, so pin before you debug. As of
israeli-bank-scrapers 6.9.0 (2026-07-22) Leumi exposes savings accounts and Max exposes credit card balances; neither existed in the 6.7.x line. If a user reports a missing Leumi savings account or a missing Max balance, check the version before assuming the scrape failed. Anything older than 6.7.10 will also fail outright on Max (login page) and Isracard (bot detection) rather than just return less.
- Both MCP wrappers declare the scraper as a caret range (
^6.7.3 and ^6.1.4), not a hard
pin, so a fresh install resolves to the current release. What actually freezes a user on an
old scraper is a committed lockfile or a stale Docker image, so check the INSTALLED version
rather than the declared range when you are diagnosing a capability gap.
- Israeli bank account numbers include a branch number (snif) prefix. Agents may validate account numbers using international IBAN format, but Israeli domestic transfers use the local branch+account format.
- Credit card statements in Israel are issued by separate companies (Isracard, Max, CAL) and not directly by the banks. Agents may try to fetch credit card data from the bank API instead of the card company.
Troubleshooting
Error: "2FA required"
Cause: the bank login may require two-factor authentication
Solution: Complete 2FA through your bank's app/SMS when prompted by the MCP server. This is a one-time setup per session.
Error: "Scraper timeout"
Cause: Bank website slow or blocking automated access
Solution: Retry after a few minutes. If persistent, check israeli-bank-scrapers GitHub issues for known bank-specific issues.
Error: "Missing credit card transactions"
Cause: Credit card company is separate from bank in Israel
Solution: Add credit card company (Visa Cal, Max, Isracard) as a separate connection in the MCP server configuration.
1---2name: israeli-bank-connector3description: Analyze Israeli bank transactions, spending patterns, and financial data across Israeli banks and credit card companies. Use when user asks about bank transactions, spending analysis, "cheshbon bank", budget tracking, or needs to categorize Israeli banking data. Pairs with israeli-bank-mcp and il-bank-mcp servers (which wrap the israeli-bank-scrapers library) to add financial-analysis workflows. Supports Hapoalim, Leumi, Discount, Mercantile, Mizrahi-Tefahot, First International (FIBI), Otsar HaHayal, Pagi, Union, Yahav, Massad, OneZero, Behatsdaa, Beyahad Bishvilha, Visa Cal, Max, Isracard, and Amex. Do NOT use for payment initiation, money transfers, or investment advice.4license: MIT5---67# Israeli Bank Connector89## Instructions1011### Step 1: Identify Connected Banks12Check which MCP server is available and what accounts are connected:13- israeli-bank-mcp: direct scraper integration14- il-bank-mcp: Docker-based with persistent analysis15- If no MCP: guide the user through a CSV or Excel export from the bank website1617**Neither MCP is installable with `npx`.** `israeli-bank-mcp` is not published to npm and18declares no `bin`, so any instruction to run `npx israeli-bank-mcp` is wrong and will fail.19The real shapes, taken from each repository:2021| Server | How it is actually installed and run |22|---|---|23| `israeli-bank-mcp` | Clone the repo, `npm install`, `npm run build`, then point the MCP client at `node /path/to/israeli-bank-mcp/build/server.js` |24| `il-bank-mcp` | Docker. `docker compose up -d` with the bank env vars set, and the client runs `docker compose -f /path/to/il-bank-mcp/docker-compose.yml run --rm -i mcp-server` |2526**Node 22 or newer is required for the MCP servers, and Python 3.9 or newer for the bundled script.** `israeli-bank-scrapers` declares `engines.node >= 22.22.2`.27On an older Node the install or the run fails before any bank is ever contacted, and the28error will not mention the bank. Check `node --version` first when a user reports that29nothing works at all.3031**`israeli-bank-mcp` exposes two tools and one resource, and that is the whole surface**:32`fetch-transactions`, `two-factor-auth`, and the `banks://list` resource that reports which33credential fields each bank needs. Everything in Steps 3 to 5 below is work the agent does34on the returned data. Do not expect the server to categorize, total, or export anything.3536### Step 2: Retrieve Transactions37Fetch transaction data for the requested period:38- Default: Current month39- Supported: Up to 12 months history (bank-dependent)40- Include: Bank accounts AND credit card transactions4142### Step 3: Categorize and Analyze43Apply Israeli-specific categorization:44| Category | Hebrew | Examples |45|----------|--------|---------|46| Housing | דיור (diur) | Rent, arnona, vaad bayit |47| Groceries | מזון (mazon) | Shufersal, Rami Levy, Victory |48| Transportation | תחבורה (tahaburah) | Rav-Kav, fuel, Gett |49| Utilities | שירותים (shartuim) | Electric Company, Mekorot, Bezeq |50| Healthcare | בריאות (briut) | Kupat Cholim, pharmacy |51| Education | חינוך (chinuch) | Gan, school, courses |52| Entertainment | בילוי (bilui) | Restaurants, cinema, streaming |53| Insurance | ביטוח (bituach) | Health, car, home insurance |54| Savings | חיסכון (chisachon) | Pension, keren hishtalmut |5556**Do not report money moved into savings as spending.** A pension contribution, keren57hishtalmut deposit or gemel transfer is the user's own money changing pocket, not an58expense. The script reports three figures for this reason: Total Spending (excluding59savings), Into Savings, and Total Outflow (the two combined). Quoting the outflow figure60as "you spent X" overstates spending by whatever the user is putting away, which for a61typical Israeli salary deduction is a substantial share.6263**Categorisation is keyword matching, so review it before presenting it as fact.** The64script matches merchant descriptions against Hebrew and English keyword patterns, guarded on65both scripts so a pattern matches a whole token rather than a fragment: Hebrew-letter66lookbehind so `פז` does not fire inside `פזגז`, and Latin-letter guards on both sides so67`hot` does not fire inside `Hotel` or `PHOTO`. Hebrew one-letter prefixes are handled by68matching a de-prefixed copy of each token as well, which is why `הפקדה לפנסיה` reaches the69savings rule; without that the guard blocks the most natural Hebrew phrasing and files a70pension deposit as an insurance expense.7172**Misclassifications remain, and this is a CLASS of failure, not a fixed list.** Any Hebrew73merchant string that contains a pattern token as a real word will match it: a mall called74קניון מגדל שלום matches the insurer מגדל, and מלון הוט matches the cable company הוט. Those75two are named because they are common, not because they are the only ones. Show the user the76category breakdown and invite corrections rather than asserting it is their spending, and77never present a category total as a fact about the person without them having seen the rows78behind it.7980**Money coming in is not netted off spending, and no net view is offered.** Any positive81amount, whether a refund, a reversal, a salary, a transfer in or a loan drawdown, is reported82on its own `Credits In` line and excluded from every category total and every percentage.83Nothing in the data distinguishes a refund from a salary, so a "net" figure built from that84bucket subtracts the user's salary from a spending category and reports a negative total. If85the user wants refunds netted, net the specific rows they point at, by hand. Check the sign86convention of your source first: a feed that reports every line as positive produces an empty87spending total.8889### Step 4: Present Insights90Provide:911. Monthly spending summary by category922. Top 10 merchants by spending933. Month-over-month trends944. Recurring charges identified955. Unusual transactions flagged9697### Step 5: Export for Tax (if requested)98Format transactions for Israeli tax purposes:99- Separate business vs personal expenses100- Flag VAT-deductible purchases101- Export in format compatible with Israeli accounting software102103## Examples104105### Example 1: Monthly Spending Summary106User says: "Show me my spending breakdown for January"107Result: Categorized breakdown with NIS amounts per category, top merchants, and comparison to December.108109### Example 2: Subscription Audit110User says: "What recurring payments am I making?"111Result: List of detected recurring charges with amounts, frequency, and suggestion for potential savings.112113### Example 3: Tax Expense Export114User says: "Export my business expenses for my accountant"115Result: Filtered and categorized business transactions with VAT amounts, ready for import into accounting software.116117## Bundled Resources118119### Scripts120- `scripts/categorize_transactions.py`, Categorizes Israeli bank transactions by spending category using Israeli-specific merchant pattern matching (Shufersal, Rami Levy, Rav-Kav, etc.). Accepts transaction JSON and outputs categorized spending summaries. Run: `python3 scripts/categorize_transactions.py --example` for a demo, or `python3 scripts/categorize_transactions.py --json transactions.json` for real data. Add `--output-json` for machine-readable output.121122### References123- `references/spending-categories.md`, Israeli spending category definitions with Hebrew terms and common merchant examples for each category (housing/diur, groceries/mazon, transportation/tahaburah, utilities/shartuim, etc.). Consult when customizing categorization rules or explaining categories to users.124- `references/supported-banks.md`, Full list of 14 banks (Hapoalim, Leumi, Discount, Mercantile, Mizrahi-Tefahot, FIBI, Otsar HaHayal, Pagi, Union, Yahav, Massad, OneZero, Behatsdaa, Beyahad Bishvilha) and 4 credit card companies (Visa Cal, Max, Isracard, Amex) from the `israeli-bank-scrapers` `CompanyTypes` enum, with BOI bank codes, library scraper IDs, and MCP server coverage notes. Consult when setting up bank connections or troubleshooting missing accounts.125126## Reference Links127128| Source | URL | What to Check |129|--------|-----|---------------|130| israeli-bank-scrapers (npm library) | https://github.com/eshaham/israeli-bank-scrapers | Authoritative list of supported banks, breaking changes, scraper limitations |131| israeli-bank-scrapers on npm | https://registry.npmjs.org/israeli-bank-scrapers | Current release, and the `engines.node` floor. Latest is 6.9.0 (2026-07-22), Node >= 22.22.2 |132| israeli-bank-mcp (Motti Bechhofer) | https://github.com/mottibec/israeli-bank-mcp | The more current MCP wrapper (last pushed May 2026). Not on npm: clone and build. Its README bank list is stale, but the server iterates the library's `SCRAPERS` map, so it covers whatever the installed library covers |133| il-bank-mcp (Gilad Lekner) | https://github.com/glekner/il-bank-mcp | Docker-based MCP with built-in spending analysis and SQLite storage. Last pushed June 2025. Its `packages/scraper` declares `israeli-bank-scrapers ^6.1.4`, a low floor rather than a hard pin, so a fresh build still resolves to the current release; a committed lockfile or a stale image is what actually freezes it |134| Bank of Israel: Consumer Enquiries | https://www.boi.org.il/en/information-and-service-to-the-public/consumer-enquiries-and-inspections/ | Official BOI Public Inquiries Unit, banking customer service, complaint workflow |135| Bank of Israel: Access to Payment Systems | https://www.boi.org.il/en/economic-roles/supervision-and-regulation/payment-systems-oversight/access-to-payment-systems/ | Payment-system access terms. NOTE: rendered in a browser on 27 August 2026 this is a landing page last updated 19/11/2023 with no identification-code list, so do not cite it for bank codes |136137## Handling credentials and transaction data138139This skill sits on top of a scraper that takes live Israeli bank usernames, passwords and140one-time codes, and it produces a complete transaction history. Treat both as sensitive.141142- Credentials belong in the MCP server's own configuration or environment, never in the143 chat, never in a file you create, and never in a command you echo back to the user.144- `israeli-bank-mcp` reads credentials from environment variables and deliberately never145 from tool arguments, precisely so they do not end up in the LLM conversation history. Its146 variable names are derived from the bank id and the login field by camelCase-to-upper-snake,147 so `leumi` plus `username` gives `LEUMI_USERNAME`, and `otsarHahayal` plus `username` gives148 `OTSAR_HAHAYAL_USERNAME`. Ask the `banks://list` resource which fields a given bank needs149 rather than guessing, because the shape differs per bank (Hapoalim wants a usercode, not a150 username). If a bank fails with a missing-credential error, it names the exact variables.151- Do not print, log, or repeat a credential, an OTP, or a card number, even partially, and152 do not ask the user to paste one into the conversation.153- Do not persist raw transaction dumps beyond what the current task needs, and tell the154 user where anything you do write is stored. Note that `il-bank-mcp` keeps scraped data in155 a local SQLite database, so the history outlives the session by design.156- Transaction descriptions reveal health providers, political donations, and religious157 institutions. Summarise; do not volunteer inferences about the person from their158 spending.159160## Gotchas161- The operational point, which IS load-bearing: `israeli-bank-scrapers` uses headless browser scraping, not an official Open Banking API, and agents routinely reach for UK Open Banking or generic PSD2 endpoints that do not exist in Israel. Israel's own open-banking regime is reported to derive from the Berlin Group NextGenPSD2 framework on its own timeline, but that characterisation is **unverified in this skill** and should not be repeated to a user as fact.162- Bank Leumi, Hapoalim, Discount, Mizrahi-Tefahot, and First International each have different API implementations. There is no single unified API across all Israeli banks.163- Mercantile and Otsar HaHayal are SEPARATE scrapers in the upstream library even though they are subsidiaries of Discount and FIBI respectively. Treat them as their own connection (each has its own loginFields shape). Do not assume Discount credentials cover Mercantile or that FIBI credentials cover Otsar HaHayal.164- Transaction history depth is bank-specific and this skill does not have a sourced table of it. Reports put Hapoalim and Leumi below 12 months and the FIBI group at 12 or more, but that is **unverified**. Treat "up to 12 months" as a ceiling, never a promise, and tell the user what the scrape actually returned rather than what you expected.165- What the library can retrieve depends on the installed version, so pin before you debug. As of `israeli-bank-scrapers` 6.9.0 (2026-07-22) Leumi exposes savings accounts and Max exposes credit card balances; neither existed in the 6.7.x line. If a user reports a missing Leumi savings account or a missing Max balance, check the version before assuming the scrape failed. Anything older than 6.7.10 will also fail outright on Max (login page) and Isracard (bot detection) rather than just return less.166- Both MCP wrappers declare the scraper as a caret range (`^6.7.3` and `^6.1.4`), not a hard167 pin, so a fresh install resolves to the current release. What actually freezes a user on an168 old scraper is a committed lockfile or a stale Docker image, so check the INSTALLED version169 rather than the declared range when you are diagnosing a capability gap.170- Israeli bank account numbers include a branch number (snif) prefix. Agents may validate account numbers using international IBAN format, but Israeli domestic transfers use the local branch+account format.171- Credit card statements in Israel are issued by separate companies (Isracard, Max, CAL) and not directly by the banks. Agents may try to fetch credit card data from the bank API instead of the card company.172173## Troubleshooting174175### Error: "2FA required"176Cause: the bank login may require two-factor authentication177Solution: Complete 2FA through your bank's app/SMS when prompted by the MCP server. This is a one-time setup per session.178179### Error: "Scraper timeout"180Cause: Bank website slow or blocking automated access181Solution: Retry after a few minutes. If persistent, check israeli-bank-scrapers GitHub issues for known bank-specific issues.182183### Error: "Missing credit card transactions"184Cause: Credit card company is separate from bank in Israel185Solution: Add credit card company (Visa Cal, Max, Isracard) as a separate connection in the MCP server configuration.