Brazilian regulator data: CVM filings, dam safety, airline punctuality, rules, enforcement
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Per airline, from ANAC's latest monthly VRA file: scheduled flights, cancellations and departures more than 15 minutes late, with rates. Use for 'which Brazilian airline cancels or delays most'. Needs the aviation sector licensed. Deterministic: computed from official datasets, no model in the loop.
Optional. One airline by name, e.g. 'Azul', 'LATAM'.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http onca-setorial https://tamandua.onssa.org/mcp
Per airline, from ANAC's latest monthly VRA file: scheduled flights, cancellations and departures more than 15 minutes late, with rates. Use for 'which Brazilian airline cancels or delays most'. Needs the aviation sector licensed. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| entity | string | Optional. One airline by name, e.g. 'Azul', 'LATAM'. |
{
"type": "object",
"properties": {
"entity": {
"type": "string",
"description": "Optional. One airline by name, e.g. 'Azul', 'LATAM'."
}
},
"additionalProperties": false
}How long regulatory processes take and how they end, measured over each regulator's own records (e.g. ANEEL fine → appeal → decision; ANVISA public consultation → published rule): N, median, quartiles and range per figure, with method and limits. Figures are estimativa; a figure below the minimum N is withheld and has no number. Use for 'how long until ANVISA turns a consultation into a rule'. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| study | string | Optional. A study id (e.g. 'aneel_enforcement'), a regulator ('ANVISA') or a sector. Default: every study for your sectors. |
{
"type": "object",
"properties": {
"study": {
"type": "string",
"description": "Optional. A study id (e.g. 'aneel_enforcement'), a regulator ('ANVISA') or a sector. Default: every study for your sectors."
}
},
"additionalProperties": false
}Revenue, net income, assets, equity, EBIT, D&A for a Brazilian listed company in your licensed sectors, from its own CVM filings: the annual DFP and the latest quarterly ITR (year-to-date). Derived values (EBITDA, net debt, margins, leverage) are returned separately and labelled estimativa. A company with no CVM filing says so (closed capital or IR-page only) instead of returning numbers. Use for 'what was X's revenue / net income / debt'. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| entity* | string | Company name or Onça Setorial id, e.g. 'Vale', 'Eletrobras', 'Hypera'. |
| period | string | Optional. '2025' or '2025-12-31' for the annual DFP; '2T26', '2026Q2' or '2026-06-30' for a quarterly ITR. Default: every statement on file. |
{
"type": "object",
"required": [
"entity"
],
"properties": {
"entity": {
"type": "string",
"description": "Company name or Onça Setorial id, e.g. 'Vale', 'Eletrobras', 'Hypera'."
},
"period": {
"type": "string",
"description": "Optional. '2025' or '2025-12-31' for the annual DFP; '2T26', '2026Q2' or '2026-06-30' for a quarterly ITR. Default: every statement on file."
}
},
"additionalProperties": false
}For one ANVISA consulta pública: its opening date and contribution window, whether a norm resulted (only links ANVISA itself publishes; an older norm the consultation revises is shown as prior, not as its result), the norm and its date, days elapsed, and the base rate for context (consultation → norm median days and the share of consultations that produce a norm; estimativa). Use for 'did CP 1.234/2023 become a rule, and how long did it take'. Needs the pharmaceutical sector licensed. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| consultation* | string | The consultation, e.g. 'CP 1.234/2023', 'Consulta Pública nº 1234, de 2023', 'consulta-publica-1234:2023'. |
{
"type": "object",
"required": [
"consultation"
],
"properties": {
"consultation": {
"type": "string",
"description": "The consultation, e.g. 'CP 1.234/2023', 'Consulta Pública nº 1234, de 2023', 'consulta-publica-1234:2023'."
}
},
"additionalProperties": false
}Tailings-dam safety per mining company from ANM's SIGBM register: number of dams, dams at an emergency level or at alert, high risk category (CRI) and high associated potential damage (DPA), and the worst emergency level. Use for 'which mining companies have dams in emergency'. Worst first. Needs the mining sector licensed. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| entity | string | Optional. One company by name, e.g. 'Vale'. |
{
"type": "object",
"properties": {
"entity": {
"type": "string",
"description": "Optional. One company by name, e.g. 'Vale'."
}
},
"additionalProperties": false
}The dated steps of ONE sanctioning process from the regulator's own records: an ANEEL auto de infração (issued, received, appeal, decisions, closure), an ANS penalty case (1st and 2nd instance, payment, archiving) or an ANATEL PADO process (phases, dated when first observed). Returns the regulator, the source url, the company only when the record binds it by CNPJ to a tracked company, and each span's days next to that regulator's published base rate (median, quartiles, N; estimativa). Use for 'where is auto 0001/2019-AGEPAN-SFE and is it slow'. Needs the regulator's sector licensed (ANEEL energy, ANS health, ANATEL telecom). Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| process* | string | The process id: ANEEL auto number ('0001/2019-AGEPAN-SFE') or SEI process ('48500.026432/2025-01'), ANS demanda or processo ('33902.499206/2016-46'), or ANATEL PADO process number. |
| regulator | string | Optional. Restrict the lookup to one regulator. |
{
"type": "object",
"required": [
"process"
],
"properties": {
"process": {
"type": "string",
"description": "The process id: ANEEL auto number ('0001/2019-AGEPAN-SFE') or SEI process ('48500.026432/2025-01'), ANS demanda or processo ('33902.499206/2016-46'), or ANATEL PADO process number."
},
"regulator": {
"enum": [
"ANEEL",
"ANS",
"ANATEL"
],
"type": "string",
"description": "Optional. Restrict the lookup to one regulator."
}
},
"additionalProperties": false
}For one of your licensed sectors: public consultations and other regulatory deadlines falling due in the next `days`, then the acts published in the current window (Diário Oficial, the sector regulator, Câmara/Senado), each with its lifecycle stage and a link to the act. Use for 'which regulatory deadlines are coming up in energy'. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| days | integer | Optional. Deadline horizon in days, default 90. |
| sector* | string | Sector: energy, health, pharmaceutical, telecom, logistics, last_mile, agro, retail, mining or aviation (Portuguese names work too). |
{
"type": "object",
"required": [
"sector"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Optional. Deadline horizon in days, default 90."
},
"sector": {
"type": "string",
"description": "Sector: energy, health, pharmaceutical, telecom, logistics, last_mile, agro, retail, mining or aviation (Portuguese names work too)."
}
},
"additionalProperties": false
}For one ANVISA rule (RDC or IN): its publication date and source, the ANVISA sanctions in the Diário Oficial that cite it as breached (date, act url, and the company only when the act names exactly one company by CNPJ), their count, the lag from publication to the first citing sanction when observable, and, counted apart, refusals of companies' own requests that cite the rule as grounds (these are NOT sanctions). Each act counts once. Use for 'who was sanctioned under RDC 47/2013 and since when'. Needs the pharmaceutical sector licensed. Deterministic: computed from official datasets, no model in the loop.
| Argument | Type | Description |
|---|---|---|
| rule* | string | The rule, e.g. 'RDC 47/2013', 'RDC nº 47, de 2013', 'rdc-anvisa-47:2013', 'IN 9/2014'. Without a year, every year on record for that number. |
{
"type": "object",
"required": [
"rule"
],
"properties": {
"rule": {
"type": "string",
"description": "The rule, e.g. 'RDC 47/2013', 'RDC nº 47, de 2013', 'rdc-anvisa-47:2013', 'IN 9/2014'. Without a year, every year on record for that number."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 11, 2026.