norma43-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host for HTTP transport. | |
| PORT | No | Port for HTTP transport. | |
| KEYFLINT_URL | No | URL of the KeyFlint service for hosted HTTP mode, e.g. https://keyflint.com. | |
| NORMA43_PRICES | No | Configurable tool prices, e.g. parse_norma43=2,reconcile_movements=5. | |
| KEYFLINT_LICENSE | No | KeyFlint license key (LIC-...) for local stdio mode. | |
| NORMA43_MAX_BYTES | No | Maximum input file size in bytes; default is 5 MB. | 5 MB |
| NORMA43_TRANSPORT | No | Transport mode: stdio or http. | |
| KEYFLINT_PUBLIC_KEYS | Yes | Public keys used to verify KeyFlint licenses (Ed25519). | |
| KEYFLINT_CHECKOUT_URL | Yes | Checkout URL included in the no-credits error so clients can purchase more credits, e.g. https://.../comprar. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| parse_norma43A | Read a Spanish Norma 43 (Cuaderno 43 / AEB43 / CSB43) bank statement into structured JSON. Returns every account (CCC, computed IBAN, bank, holder, period, opening/closing balance, debit/credit
totals, breakdown by AEB common concept) and its movements (dates, signed amount, running balance,
concept, references, record-23 texts, decoded SEPA fields in modalidad 3). Checks the file the way a
bank does: record 33 counts and totals, opening + movements = closing, record 88 record count, dates,
signs and field formats. Args: content: The file as text (paste the .n43/.txt content). content_base64: The raw file bytes as base64 (use for CP850/Latin-1 files with Ñ and accents). include_movements: False returns only accounts, totals and checks. max_movements: Cap on returned movements across all accounts (default 2000, max 20000). |
| norma43_to_csvB | Convert a Norma 43 statement to CSV (one row per movement, with IBAN, running balance and concept names). Defaults suit Spanish Excel (';' separator, decimal comma). Free-text cells are protected against spreadsheet formula injection. Integrity issues are returned alongside the CSV. |
| reconcile_movementsA | Bank reconciliation (conciliación bancaria): match bank movements to expected items, deterministically. Bank side: a Norma 43 file ( Finds 1:1 matches, one transfer paying several invoices (1:N) and partial payments (N:1). Each match
has a 0-100 score, a confidence (alta/media/baja) and the evidence used (amount, invoice reference found
in the bank concept, counterparty name, date distance, uniqueness). Ties are never guessed: they are
returned under Args:
expected: Items to find in the bank (max 5000).
content: Norma 43 file as text (alternative to |
| validate_identifierA | Validate a Spanish/EU banking identifier. Free. Recognises IBAN (any SEPA country, plus the inner CCC check for ES), CCC (20 digits, returns the IBAN),
NIF/NIE/CIF (also ES-prefixed VAT numbers), SEPA creditor identifier (AT-02) and Norma 43 Referencia 1.
Returns Args: value: The identifier, spaces and dashes allowed. kind: auto | iban | ccc | nif | creditor_id | reference1. |
| sepa_creditor_idA | Compute the Spanish SEPA creditor identifier (AT-02, 'identificador de acreedor') from a NIF. Free. Format: ES + 2 check digits + 3-character business code (default '000') + NIF, per EPC262-08. Needed to issue SEPA direct debits (adeudos / remesas de recibos, Cuaderno 19.14). |
| pricingA | Credit price of each tool and where to buy credits. Free. |
| credits_balanceA | Remaining credits on your KeyFlint license. Free. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a distinct primary purpose: parsing to JSON, converting to CSV, reconciling, validating identifiers, computing a creditor ID, and two billing/meta tools. The only mild overlaps are parse_norma43 vs norma43_to_csv (same input, different output shape) and validate_identifier (which validates a creditor ID) vs sepa_creditor_id (which computes one), but descriptions make the boundaries clear.
Four tools follow a clear verb_noun snake_case pattern (parse_norma43, reconcile_movements, validate_identifier, sepa_creditor_id), but norma43_to_csv uses a noun_to_format pattern and pricing / credits_balance are noun-only with no verb. Readable overall, but the convention breaks in three of seven names.
Seven tools is well within a comfortable range and each earns its place: core parsing, export, reconciliation, two identifier utilities, plus pricing and balance helpers. Nothing feels redundant or padding.
The read/validate/reconcile/export lifecycle for Spanish bank statements is covered, but there is no tool to generate or write a Norma 43 file and nothing for Cuaderno 19 (remesas/adeudos) despite the creditor-ID tool pointing that direction. Agents hitting a 'produce a statement or remittance' workflow will dead-end.