MCP server
RegAlert MCP tools
Every tool, grouped by what it helps you do, with its REST twin.
This page lists the tools your assistant can use after you connect RegAlert. You ask in plain words; your assistant chooses the tool and fills in the inputs.
Every tool only reads. No tool changes your account or any document.
Find documents
Start here: search by words, or list what was published, newest first.
| Tool | What it returns | Inputs |
|---|---|---|
search_documents | Full-text search. Each hit: uid, title, date, regulator, the first 300 characters of the summary. total is exact. licence (slug; also matches documents for all regulated firms) and in_force_only (drop superseded; keeps documents with no known superseding document, which does not prove they are in force) filter by what a document applies to; if the index cannot filter yet, the answer says how the hits were filtered. | query, regulator?, jurisdiction?, region?, topic?, licence?, in_force_only?, sort?, limit?, fields? |
recent_documents | Newest first, with the exact total. No input = the newest documents of all regulators. Dates are YYYY-MM-DD. licence (slug; also matches documents for all regulated firms) and in_force_only (drop superseded; keeps documents with no known superseding document, which does not prove they are in force) filter by what a document applies to. | regulator?, jurisdiction?, region?, topic?, licence?, in_force_only?, since?, until?, limit?, offset?, fields? |
Filters take codes, not names: regulator (CBN), jurisdiction (NG), region and topic. A wrong code is an error that names the right ones, so your assistant can correct itself. Some regulator codes are used in several countries (FSC, FMA, CBB…): give the jurisdiction with them.
Read a document
Read the text of one document, and check what it changed and what changed it.
| Tool | What it returns | Inputs |
|---|---|---|
get_document | One document: metadata, summary, lineage and the English text (markdown). With query: only the passages that hold those words (up to 8000 characters). Without: the text from offset, 40000 characters a call (most 400000). The original-language text only with include_original. A document that holds annexes or forms lists them as enclosures; each one is in the text under a ## <label> heading, after the main text. | uid, query?, offset?, max_chars?, include_original? |
get_lineage | A page of a document's confirmed citation links: what it amends, replaces, is issued under or refers to (outgoing), and what did that to it (incoming). Not a check that a document is in force. | uid, direction (outgoing|incoming), relation?, limit?, offset? |
Cite a document by its page: the page of get_document, or the url field of a list, https://regalert.today/document/<slug>-<uid>. A bare /document/<uid> redirects there.
Regulators and topics
The codes the filters take. Your assistant uses these when you name a regulator or a subject.
| Tool | What it returns | Inputs |
|---|---|---|
list_regulators | The regulators and their codes. No input = totals by region; query finds a regulator by part of its name or by country. fields adds status (ok, late, down, paused, none), last_checked_at, docs_30d, latest_published when coverage data is available. | region?, jurisdiction?, query?, all?, fields? |
list_topics | The topic tags the topic filter takes, with the number of documents of each. | — |
Your account
Your own access. No tool can see another person's account.
| Tool | What it returns | Inputs |
|---|---|---|
get_account | This account's access: whether full-text reads are available right now. | — |
Answers
Answers are TOON, a compact text form of JSON that costs a model fewer tokens. A list opens with name[n]{a,b}: — n rows with the columns a and b. Each answer ends with next[n]:, the calls that follow from it. An error has a stable code and often suggestions.
REST
Every tool has a REST twin on this host, with the same inputs and the same defaults. Send Authorization: Bearer <token> with an OAuth token from a RegAlert sign-in; answers are JSON.
GET /v1/search?q=…®ulator=&jurisdiction=®ion=&topic=&licence=&in_force_only=true&sort=relevance|newest&limit=&fields=
GET /v1/recent?regulator=&jurisdiction=®ion=&topic=&licence=&in_force_only=true&since=&until=&limit=&offset=&fields=
GET /v1/documents/{uid}?query=&offset=&max_chars=&include_original=true
GET /v1/documents/{uid}/lineage?direction=outgoing|incoming&relation=&limit=&offset=
GET /v1/regulators?region=&jurisdiction=&query=&all=true&fields=
GET /v1/topics
GET /v1/accountGET /v1 lists the routes, /openapi.json describes them, and /llms.txt is the whole reference as plain text, written for agents.
Example prompts
| Tool | Try asking |
|---|---|
search_documents | “Search RegAlert for guidance on outsourcing from the Monetary Authority of Singapore.” |
recent_documents | “What did the Central Bank of Nigeria publish in the last two weeks?” |
get_document | “Read the newest of those and list what it requires, from whom, and by when.” |
get_lineage | “Has this rule been amended or replaced? By what?” |
list_regulators | “Which regulators in Kenya does RegAlert cover?” |
list_topics | “Which topics can I filter by?” |
get_account | “Can I read full texts right now?” |
For questions about access, see access and fair use. For failed calls or missing tools, see troubleshooting.