reconcile-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| reconcileA | Reconcile expected payments against observed bank-statement entries. Purpose: Matches expected payment instructions (e.g. from pain.001) against observed bank transactions (e.g. from camt.053) and produces an explainable reconciliation report covering exact matches, short/over adjustments, split settlements (one-to-many), batch credits (many-to-one), and unmatched residuals. When to use:
When NOT to use:
Behavioral transparency: Pure, deterministic, side-effect-free, read-only calculation without network or disk access. |
| explain_matchA | Explain the match score between one expected and one observed record. Purpose: Scores a single transaction pair across reference, amount, date, and name signals, returning individual signal weights and an explanation even for pairs below threshold. When to use:
When NOT to use:
Behavioral transparency: Pure, deterministic, side-effect-free, read-only calculation without external dependencies. |
| normalize_pain001A | Convert parsed pain.001 payment instructions into canonical expected records. Purpose: Adapts parsed ISO 20022 pain.001 credit transfer documents or transaction lists into canonical expected records ready for the reconcile engine. When to use:
When NOT to use:
Behavioral transparency: Pure, deterministic, read-only data normalization. |
| normalize_camt053A | Convert parsed camt.053 statement entries into canonical observed records. Purpose: Adapts parsed ISO 20022 camt.053 bank statement documents or entry lists into canonical observed records ready for the reconcile engine. When to use:
When NOT to use:
Behavioral transparency: Pure, deterministic, read-only data normalization. |
| list_sandbox_scenariosA | List built-in sandbox reconciliation scenarios and magic references. Purpose: Returns the catalog of deterministic test-mode scenarios and synthetic magic references to demonstrate reconciliation outcomes without production data. When to use:
When NOT to use:
Behavioral transparency: Static catalogue retrieval; read-only and instantaneous. |
| load_sandbox_scenarioA | Load expected and observed record inputs for a named sandbox scenario. Purpose: Retrieves the test-mode expected and observed fixture records for a named scenario so they can be inspected, customized, or passed to reconcile. When to use:
When NOT to use:
Behavioral transparency: Deterministic dictionary lookup; read-only with no side effects. |
| run_sandbox_scenarioA | Load a named sandbox scenario and immediately return its reconciliation report. Purpose: One-call execution that loads built-in fixture records and executes the reconciliation pipeline, returning a complete explainable match report. When to use:
When NOT to use:
Behavioral transparency: Deterministic, in-memory execution; read-only and idempotent. |
| match_names_probabilisticA | Score two counterparty names using Jaro-Winkler string similarity. Purpose: Computes similarity in [0, 1] between two company or individual names, tolerating typographical variations and legal suffix abbreviations (e.g. 'Corp' vs 'Corporation Inc'). When to use:
When NOT to use:
Behavioral transparency: Pure, deterministic string calculation; read-only and idempotent. |
| match_amounts_with_fx_driftA | Compare two amounts in different currencies within an FX drift tolerance. Purpose: Converts currency amounts using a provided exchange rate and verifies if the percentage difference falls within an acceptable tolerance window using exact decimal arithmetic. When to use:
When NOT to use:
Behavioral transparency: Pure mathematical calculation; read-only and idempotent. |
| reconcile_many_to_manyA | Match statement deposits to disjoint subsets of invoices via subset-sum ILP. Purpose: Solves bounded subset-sum as an integer linear program (ILP) to pair statement deposits against matching combinations of outstanding invoice records. When to use:
When NOT to use:
Behavioral transparency: Deterministic ILP optimization; read-only and idempotent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| reconcile_workflow | Step-by-step guidance for driving an end-to-end ISO 20022 reconciliation with these tools, from raw pain.001/camt.053 through to an explained match report. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| sandbox_scenarios_resource | The catalogue of built-in sandbox scenarios and magic references, as JSON -- the resource form of `list_sandbox_scenarios`. |
TDQS
Scored across 10 tools
Each tool targets a distinct operation and resource, with explicit 'When NOT to use' guidance that cleanly separates reconcile, reconcile_many_to_many, explain_match, and the specialized matchers. The sandbox tools are also clearly divided into list, load, and run.
All names use snake_case and follow a consistent verb-first pattern (normalize_*, reconcile*, explain_match, match_*, list/load/run_*). Domain-specific suffixes like camt053 and pain001 are predictable and do not introduce mixed conventions.
Ten tools is well-scoped for a reconciliation engine, covering normalization, core matching, explanation, specialized matchers, and sandbox fixtures. No tool appears to be filler, and the set is neither too thin nor too heavy.
The core reconciliation lifecycle is covered: normalize both message types, reconcile, explain, many-to-many matching, specialized matchers, and sandbox fixtures. Minor gaps exist for full batch FX-drift reconciliation and other ISO 20022 message types, but agents can work around them.