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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| reconcileA | Reconcile expected payments against observed bank-statement entries, returning exact matches, short/over payments, split settlements (one-to-many), batch credits (many-to-one) and unmatched residuals, each with an explainable score and reasons. |
| explain_matchA | Score a single expected/observed pair and break down every signal (reference, amount, date, name). A tuning aid -- it explains the score even for pairs below the review threshold. |
| normalize_pain001A | Convert parsed pain.001 payment instructions into canonical expected records ready to reconcile. Accepts a list of transactions or a dict wrapping them under 'transactions'/'payments'/'records'. |
| normalize_camt053A | Convert parsed camt.053 statement entries into canonical observed records ready to reconcile. Accepts a list of entries or a dict wrapping them under 'entries'/'transactions'/'statements'. |
| list_sandbox_scenariosA | List the built-in sandbox scenarios (test-mode fixtures). Each demonstrates one reconciliation outcome so you can try the flow with zero real data. |
| load_sandbox_scenarioA | Return the expected/observed inputs for one named sandbox scenario, so you can inspect or edit the fixture before reconciling. |
| run_sandbox_scenarioA | Load a named sandbox scenario and immediately reconcile it -- the one-call way to see a full, explainable result with zero setup. Great for a first run or a smoke test. |
| match_names_probabilisticA | Score two counterparty names with Jaro-Winkler similarity and report whether they match at a given threshold. Tolerant of legal-suffix drift, e.g. 'ACME Corp' vs 'ACME Corporation Inc'. |
| match_amounts_with_fx_driftA | Compare two amounts in different currencies, converting one via a supplied FX rate and matching if the percentage difference is within tolerance. Uses exact decimal arithmetic. |
| reconcile_many_to_manyA | Match each statement/deposit to a disjoint subset of invoices whose amounts sum to it (bounded subset-sum solved as an integer program). Returns matched groups and the unmatched residuals on each side. |
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
Most tools have clearly distinct roles: normalization, scenario management, pairwise matching, and the main reconcile flow. The only real overlap is between `reconcile` and `reconcile_many_to_many`, whose descriptions make the advanced grouping case explicit but could still lead an agent to pick the wrong one for many-to-one batch-credit scenarios.
All tools use consistent snake_case verb-first names, with clear patterns like normalize_<format>, match_<target>_<method>, and sandbox-scenario lifecycle verbs. The naming makes the toolset predictable and easy to navigate.
Ten tools is a well-scoped size for a reconciliation server: a main reconciler, an explainability aid, two input normalizers, a sandbox set, and specialized matchers. Each tool serves a distinct purpose in the reconciliation workflow without feeling padded or redundant.
The surface covers the full reconciliation flow end to end: normalize inputs, run reconciliation, explain scores, inspect/reset with sandbox scenarios, and handle advanced many-to-many cases. No critical dead ends or missing lifecycle operations are apparent for the stated purpose.