warninglists
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@warninglistscheck clientzone.dmaeu.com against regulator warning lists"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
warninglists
Warning lists published by financial regulators, in one schema, with domain and name matching. A Python library, a command line tool and an MCP server.
Source | What it is | How it is read |
| IOSCO I-SCAN: alerts submitted by IOSCO members (FCA, CNMV, AMF, FINMA, SEC, CONSOB, …) | public CSV export |
| CONSOB website blocking orders (Italy, since July 2019) | full text of the press releases |
| FCA Warning List, latest items | official warnings RSS feed |
Why three sources when I-SCAN already aggregates regulators: I-SCAN is voluntary and lags.
On 14 October 2026, of the 1,944 registrable domains named in CONSOB blocking orders,
598 were also in I-SCAN; of the 20 domains in that week's FCA feed, 1 was.
warninglists stats recomputes both figures on your own cache.
Install
pip install warninglists # library and CLI
pip install "warninglists[mcp]" # plus the MCP serverPython 3.10+. Two dependencies: publicsuffixlist and idna.
Related MCP server: DAP Bellwether
Command line
warninglists fetch # download all three lists into ~/.cache/warninglists
warninglists check https://clientzone.dmaeu.com/login
warninglists check etoro.com --json
warninglists search "Goldgcapital"
warninglists stats # freshness and completeness of each source
warninglists export --format csv -o alerts.csv$ warninglists check https://clientzone.dmaeu.com/login
https://clientzone.dmaeu.com/login: 1 listed, 0 similar
LISTED
[consob] CONSOB (Italy) · blocked · 2026-09-24
host: clientzone.dmaeu.com · DMAsseteuBV
https://www.consob.it/documents/d/area-pubblica/comunicato-stampa-del-24-settembre-2026check --exit-code exits with 1 when anything is listed, for use in scripts.
Python
from warninglists import store
from warninglists.sources import consob, fca, iosco
for source in (iosco, consob, fca):
store.save(source.fetch())
index = store.load_index()
for match in index.check("tradoxiumpro.com"):
print(match.relation, match.alert.authority, match.alert.published, match.alert.source_url)MCP server
The server reads the local cache and never downloads; run warninglists fetch first.
It exposes check_domain, search_entity and list_sources.
{
"mcpServers": {
"warninglists": { "command": "warninglists", "args": ["mcp"] }
}
}Reading a result
Every match has a relation:
listed: the queried host, registrable domain or entity name appears in an alert.similar: an alert contains a look-alike domain (edit distance, confusable characters, the query as a token inside a longer label) or a name equal to the domain's label. Similarity has no direction. If you query a legitimate brand, similar entries are more likely clones of that brand than evidence against it.
Three more things to keep in mind:
An alert is issued by one authority for its own jurisdiction. A firm licensed in one country can be listed by a regulator of another country where it is not authorised; the
authorityandjurisdictionfields say which.No match means these lists do not contain the query. They are not complete, and they are not a register of authorised firms.
Clone warnings concern firms impersonating an authorised one. For FCA clones the genuine firm is kept apart in
details["impersonated_firm"]and never attributed to the clone.
How complete each source is
Each fetch records what the source makes measurable, in warninglists stats:
CONSOB. Every press release states how many sites it blocks and the running total. On the full archive (285 releases, 19 September 2019 to 9 October 2026) the parsed site count matches the declared count in 261 of 271 releases, and the parsed sites add up to 1,803 against a declared total of 1,838. The remaining mismatches are listed one by one; some come from the releases themselves (truncated URLs such as
https://kapidexnx., and a counting unit that differs between releases). The thresholds and every correction made to the parser are in docs/verification.md.I-SCAN. Date of the latest validated alert, and how many alerts carry no domain (27,542 of 47,367 on 14 October 2026: those are matchable by name only).
FCA. The feed holds about 20 items, roughly one week. Older FCA warnings are in I-SCAN, where the FCA is the largest contributor.
Data and terms of use
The package contains no data. Lists are downloaded on your machine, when you run fetch, and
stay there. Every record keeps the issuing authority and a source_url. Before reusing the data,
read each source's terms:
IOSCO I-SCAN: public information; reuse requires attribution and no distortion. The I-SCAN API needs a signed agreement; this package uses the public CSV export instead.
CONSOB: reuse for study, research, information and documentation, citing the source and without altering meaning or completeness (informazioni legali).
FCA: saved copies are for personal use or use within your organisation, not for redistribution (fca.org.uk/legal).
The FCA fixture in tests/ is synthetic for that reason; the I-SCAN and CONSOB fixtures are short
excerpts with attribution (tests/fixtures/NOTICE.md).
From datacenter networks (CI runners, cloud VMs) the I-SCAN export has been seen to answer 403.
Download the CSV from https://www.iosco.org/i-scan/ ("Export to CSV") and run
warninglists fetch iosco --iosco-file <file.csv>. Requests identify themselves as
warninglists/<version>; CONSOB pages are fetched two seconds apart.
Schema
Alert(
source="consob", # iosco | consob | fca
source_id="2026-10-09:goldgcapital.net",
authority="CONSOB", # for iosco: the member that submitted the alert
jurisdiction="Italy",
kind="blocked", # unauthorised | clone | blocked | other
names=["Goldgcapital"],
urls=["goldgcapital.net", "my.aipltfrm.com"],
hosts=[...], domains=[...], # derived; only values valid under the Public Suffix List
emails=[...],
published="2026-10-09",
source_url="https://www.consob.it/documents/d/area-pubblica/comunicato-stampa-del-9-ottobre-2026",
details={...}, # source-specific: sites vs pages, categories, impersonated firm
)Domains are handled with the Public Suffix List only: unknown TLDs are rejected, so tokens such as
decreto.crescita in free text never become domains. Two traps remain that the PSL cannot see,
because .analytics and .target are real TLDs: script code is stripped from pages before parsing.
License
MIT for the code. The data belongs to the issuing authorities and follows their terms.
This server cannot be deployed
Maintenance
Related MCP Connectors
Check sites and firms against regulator scam warning lists: SEC, CFTC, AMF, FSMA, BaFin, AFM, CBI
51Screen names against OFAC, EU and UN lists; check CVEs, domain DNS and WHOIS, and public tenders
Screen names against OFAC, EU, UK, UN sanctions lists; resolve entities via GLEIF. Screening aid.
Company and domain due diligence for agents: registers, sanctions, VAT, domain. Pay per call.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceScreen names against consolidated OFAC, EU, UK, and UN sanctions lists and resolve legal entities via GLEIF, with offline fuzzy matching.131 npm1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server that aggregates and serves regulatory changes from Canadian, US, UK, and EU financial regulators via read-only tools for search, recent changes, and coverage monitoring.MIT
- AlicenseNot gradedqualityCmaintenanceChecks names against US FinCEN financial crime lists for compliance and AML due diligence, with a single read-only tool.MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to check names against the ICIJ Offshore Leaks database for compliance and AML due diligence. Provides a single read-only tool accessible via MCP over HTTP.MIT