What MCP now understands about data source schemes

ISO 20022 doesn’t force every code in a message into a fixed, standard list. In a handful of specific places, it deliberately leaves the door open for a market infrastructure, a central securities depository, or an industry body to define its own proprietary codes instead. That mechanism is called a Data Source Scheme (DSS), and it’s tracked in its own registry by the ISO 20022 Registration Authority — separate from the main specification, and until now, separate from what our MCP server could tell you.

That’s changed. The MCP server now embeds the DSS registry directly and can answer, for a given context, exactly who’s allowed to issue proprietary codes there.

Why this matters

If you’re parsing an ISO 20022 message and hit a GenericIdentification field carrying something like ECLR or DIFX — a code that clearly isn’t from a standard ISO code set — the DSS registry is how you find out it isn’t a typo or an error. It’s a proprietary code, and the registry tells you which organization is authorized to define codes in that particular slot, so you know whose documentation to go find for the actual meaning of the value itself. (The DSS registry records who’s allowed to issue codes where — not the code values themselves; those are maintained separately by each issuer.)

What you can resolve now

The registry is organized by context — the specific spot in the message model where proprietary codes are permitted — and each context lists every issuer registered for it. A few examples, straight from the current registry (version 2025-12-12):

Long Number Identification (coupon, pool, lot numbers on a financial instrument) has 6 registered issuers, including exchanges and depositories you’d actually recognize:

Issuer Description Country
XSWX Swiss Exchange CH
XVTX Virt-x GB
GCSD Granite Central Securities Depository ZA
STRA Strate Limited ZA
SMPG Securities Market Practice Group Global
REGL Securities Market Practice Group Global

Proprietary Party identification is the largest context in the registry — 114 issuers, spanning national bank codes, central securities depositories, and exchanges worldwide:

Issuer Description Country
DIFX Dubai International Financial Exchange Ltd. AE
ATAT Austrian Bankleitzahl AT
ACLR Austraclear Limited AU
ECLR Euroclear Bank BE
CAVL Caja de Valores S.A. AR

Beyond those two, the registry covers 9 more contexts — proprietary indicator codes (52 issuers), reason codes (26), status codes (16), account types (17), place codes, quantity types, and a couple of narrower ones — 11 contexts in total, all drillable the same way.

How to explore it

It’s part of the same drill-down interface as our other supplementary reference documents:

get_reference_data("Data Source Schemes")                            → lists all 11 contexts
get_reference_data("Data Source Schemes", "Long Number Identification") → lists issuers for that context

Partial context names match, so you don’t need the full string verbatim — enough to disambiguate is enough. Ask get_reference_data("__status__") at any time to see the registry’s current version alongside our other reference documents.

This registry, like the rest of what our MCP server serves, is kept current against the source ISO 20022 publishes — not a stale copy from whenever we first built the feature.