Skip to main content
Glama
mottibec

Israeli Bank MCP

by mottibec
README.md
# 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

D1.6/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness1/5

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.

Maintenance

ActivityInactive
ResponsivenessUnresponsive