Swiss Clearing Lookup
lookup_ch_clearingResolve a Swiss BC-Nummer / IID (1 to 5 digits) into the underlying institution. USE WHEN: the user mentions a Swiss bank by BC-Nummer or IID, pastes a CH or LI IBAN clearing code, asks routing details for a Swiss instant transfer (SIC, euroSIC), asks about QR-bill QR-IID resolution, or needs to classify a Swiss financial institution (bank vs PFS vs SIC-only participant). EVERY IID OF THE SIX BANKMASTER, with its full payment-rail participation (SIC, RTGS CHF, Instant Payments CHF, euroSIC, LSV+/BDD) plus QR-IID allocation, not just a name lookup. BACKED BY: 1,100+ SIX BankMaster entries (Swiss official source, re-read weekly). RETURNS: institution { name, type, iid_type, headquarters_iid }, address, bic, payment_services { sic, rtgs_chf, instant_payments_chf, eurosic, lsv_bdd_chf, lsv_bdd_eur }, sic_iid, qr_iid, valid_on. Only relevant for CH and LI accounts. COST: $0.003 per call (free with no key on this transport: 25 units a week per source address, one per call and one per IBAN in batch_validate_iban, reset on Monday 00:00 UTC. Or an ifk_ key with no e-mail at all: POST https://api.ibanforge.com/v1/keys/generate with no body for 25 calls/month, on the REST API or on this transport, and POST /v1/keys/claim lifts that same key to 200 a month. Send the key here as Authorization: Bearer ifk_… (or X-API-Key) and each call counts against it exactly as on the REST API).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"iid": "<iid>"
},
"name": "lookup_ch_clearing"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| iid | Yes | Swiss IID (1-5 digit number) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bic | No | BIC if mapped. | |
| iid | No | Normalized 5-digit BC-Nummer. | |
| note | No | ||
| error | No | ||
| found | No | ||
| qr_iid | No | QR-bill enabled IID. | |
| address | No | ||
| message | No | ||
| qr_iids | No | Every QR-IID SIX allocates to the institution, present only when there is more than one; qr_iid carries the lowest. | |
| sic_iid | No | ||
| valid_on | No | ||
| cost_usdc | No | What THIS call was billed. Zero on the free MCP tier. | |
| is_qr_iid | No | Present (true) only when the IID asked about is a QR-IID (SIX QR-bill range 30000-31999); iid then carries the standard IID of the institution and qr_iid the QR-IID asked about. | |
| institution | No | ||
| qr_iid_source | No | How qr_iid was obtained. register = SIX BankMaster publishes this pairing; headquarters = inherited from the head office (headquarters_iid), an inference and not a published SIX pairing. Null when qr_iid is null. | |
| list_price_usdc | No | Catalogue price of the same call on the paid REST/x402 route. | |
| redirected_from | No | ||
| state_guarantee | No | Present for the 24 Swiss cantonal banks only, matched by head-office IID; a branch or QR-IID takes its head office's entry. A description of the institution, not an assessment of the bank or of any account. | |
| payment_services | No |