Israeli Bank MCP
# Israeli Bank MCP
A project for managing Israeli bank accounts and transactions using the Model Context Protocol (MCP).
## Features
- List available Israeli banks and credit card companies with their required credentials
- Fetch transactions from any supported bank
- Support for all major Israeli banks and credit card companies
- Secure credential handling
- Flexible transaction date ranges
- Two-factor authentication support
## Getting Started
1. Install dependencies:
```bash
npm install
```
2. Build the project:
```bash
npm run build
```
3. Connect to MCP Clients
## Connecting to MCP Clients
The server can be connected to any MCP-compatible client. Here's how to configure it:
### Example Configuration
Credentials are read from environment variables (never from tool arguments — this avoids leaking them into the LLM conversation history). Each bank requires `<BANK_ID>_<FIELD>` env vars. For example, Bank Leumi needs `LEUMI_USERNAME` and `LEUMI_PASSWORD`; Hapoalim needs `HAPOALIM_USERCODE` and `HAPOALIM_PASSWORD`. Use the `banks://list` resource to see required env-var names per bank.
For clients that support configuration files (like Claude), add the following to your configuration:
```json
{
"mcpServers": {
"israeli-bank-mcp": {
"command": "node",
"args": [
"/path/to/israeli-bank-mcp/build/server.js"
],
"env": {
"LEUMI_USERNAME": "your-username",
"LEUMI_PASSWORD": "your-password"
}
}
}
}
```
## Resources
- **Banks** (`banks://list`)
- List available banks and their required credentials
## Tools
- **Fetch transactions** (`fetch-transactions`)
- Fetch transactions from a bank
- **2FA** (`two-factor-auth`)
- 2FA authentication for banks that require that
## Supported Banks
The server supports all major Israeli banks and credit card companies through the [israeli-bank-scrapers](https://github.com/eshaham/israeli-bank-scrapers) library:
- Bank Hapoalim
- Leumi Bank
- Discount Bank
- Mercantile Bank
- Mizrahi Bank
- Otsar Hahayal Bank
- Visa Cal
- Max (Formerly Leumi Card)
- Isracard
- Amex
- Union Bank
- Beinleumi
- Massad
- Yahav
- Beyhad Bishvilha
- OneZero (Experimental)
- Behatsdaa
## Security
- Please do not attempt this at home (I honestly don't know, it's probably not a good idea, but it's really cool)
## License
MIT
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: 'fetch-transactions' retrieves transaction data, while 'two-factor-auth' handles authentication. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool.
Both tools use a consistent verb-noun pattern with hyphens (e.g., 'fetch-transactions', 'two-factor-auth'), which is predictable and readable. The minor deviation is that 'two-factor-auth' uses a compound noun without a clear verb, but overall the naming is coherent.
With only two tools, the server feels thin for a banking domain, which typically requires operations like account management, transfers, balances, or payments. This limited set may not cover essential banking workflows, indicating an under-scoped tool surface.
The tool set is severely incomplete for a banking server. It lacks basic operations such as checking account balances, initiating transfers, managing accounts, or handling payments. The two tools provided do not form a functional banking interface, leading to significant gaps that will cause agent failures.