The identifier routing is the part worth having: check_contractor works out from length and check digit whether it was handed a company or a sole trader, so a caller pasting a number off a contract never has to classify it first. Management history is the thinner part of the surface, and says so in its own description: get_directors_history currently returns the sitting director from egrul.nalog.ru together with a warning that the data is incomplete, with dated appointments and departures deferred to a later stage that loads the EGRUL Open Data slice.
A counterparty due-diligence server over Russian company registries, keyed by INN or OGRN, returning the registration card, current lifecycle status, activity codes, management and an aggregated risk check.
- One identifier, no classification needed: check_contractor takes a single identifier and decides what it is from length and check digit — a 10-digit INN for a legal entity, 12 for a sole trader, a 13-digit OGRN for a legal entity, 15 for a sole trader — so a number copied off an invoice can be passed straight through.
- Direct lookups when the identifier type is already known: check_inn takes inn and check_ogrn takes ogrn, each returning the counterparty card and each accepting include_extended.
- Lifecycle status on its own: get_legal_status returns active, liquidating, bankruptcy, liquidated, reorganizing or excluded_inactive, and accepts either inn or ogrn.
- Registered lines of business: get_okveds returns the primary and additional OKVED codes decoded against the OKVED-2 reference book, with include_history for superseded entries.
- Management: get_directors_history takes inn, with depth_years to bound the period and include_founders to pull in shareholders.
- An aggregated risk pass: check_for_red_flags always runs mass_address against the FNS mass-registration address list, mass_director for a director holding ten or more active companies, disqualified_director against the disqualified-directors register, and bankruptcy_records for open EFRSB cases; include_extended adds a further set beginning with tax_debts, and lawsuits_threshold_rub sets the rouble value above which lawsuits count.
- A liveness call: ping confirms the server is running and reachable.
Nothing — no account, no key. What each call needs is the counterparty's own identifier: an INN or an OGRN.
One command — pip install atomno-mcp-fns-check
