Brasil Planos de Saúde (ANS)

io.github.ThiagoJacobLannes由 GitHub 帳號 ThiagoJacobLannes 發布v0.1.0更新於 Nov 1, 2026

Compare Brazilian health-plan operators with ANS open data: complaints, IDSS, fines, readjustments.

概覽

AI 產生的概覽

以 ANS 官方開放資料查詢與比較巴西健康保險業者:申訴、品質評分、罰款與費率調整。

可以做什麼
  • 依名稱、CNPJ、註冊號、州、城市或經營型態尋找業者,並依規模由大到小排列
  • 查看單一業者的完整 ANS 檔案:狀態、投保人數、申訴指數、五年 IDSS、就醫保障等級、罰款與費率調整
  • 將 2 至 8 家業者依相同指標並列比較
  • 依申訴或品質為在營業者排名,可依規模、州、經營型態與最低投保人數篩選
  • 取得 ANS 官方申訴管道與申訴流程說明
適用情境
適合在巴西挑選或評估健康保險業者時使用,例如判斷某業者評價如何、與同業相比表現如何,或在手術遭拒後了解該向何處申訴。
執行需求
以 Python 套件形式透過 uvx 在本機執行(原始碼安裝需 Python 3.10+)。不需帳號、金鑰或標頭。需能連線 ANS 開放資料入口;首次呼叫會下載約 65 MB 檔案,並在使用者快取資料夾保留約 1 MB 的精簡副本,24 小時後檢查是否更新。
安裝前請注意
僅供讀取且不需金鑰,但首次呼叫需下載較大資料集,可能耗時約一分鐘。資料針對業者,不涉及個別方案、醫療網絡或價格,也不構成法律建議。結果僅與 ANS 發布進度同步,引用數字時應註明所屬月份或年份。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Brasil Planos de Saúde (ANS),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

brasil-planos-saude-mcp

MCP server that helps answer "is this health plan any good?" in Brazil. Claude (or any MCP client) can look up a health-plan operator (operadora de plano de saúde) and see what the regulator, ANS, publishes about it: complaints, quality score, access-to-care monitoring, fines and readjustments. It can compare operators side by side and rank them.

Read-only, no key, no account. Everything comes from the ANS open-data portal. Not affiliated with ANS or any operator.

Operators, not plans or prices. ANS publishes these indicators per operator. A single operator sells many plans with different networks; check the network and the price with the operator or a broker.

Not legal advice. For a denied or delayed procedure, use where_to_complain (Disque ANS 0800 701 9656). In an emergency, get care first.

Tools

operator_profile

Everything about one operator: registration and status (active, or cancelled with date and reason), beneficiaries and size class, the complaints index with its position among operators of the same size, five years of IDSS, the access-to-care band, fines, and the small-group readjustment.

Parameters: operator (name or part of it, CNPJ, or ANS registry number), coverage (medica or odonto). A shared brand such as "Unimed" (hundreds of separate cooperatives) returns the largest matches and asks for a more specific name.

compare_operators

Two to eight operators side by side: 12-month complaints index against the median of their size class, latest IDSS, latest access-to-care band, fines in the last five years, latest small-group readjustment.

Parameters: operators (list), coverage.

rank_operators

Active operators ranked by complaints (by="reclamacoes", lower is better) or quality (by="qualidade", latest IDSS, higher is better).

Parameters: by, coverage, porte (pequeno, medio, grande), uf, modality, min_beneficiaries (default 5000), worst_first, limit.

find_operators

Search by name, CNPJ or registry number, or list by head-office state, city or modality (cooperativa médica, medicina de grupo, seguradora, autogestão, odontologia de grupo, filantropia). Largest first.

where_to_complain

The official ANS channels, checked on the ANS consumer-service page, and how a complaint (NIP) works.

What the numbers mean

IndicatorWhat it isBetterUpdated
IGR (Índice Geral de Reclamações)Complaints to ANS per 100,000 beneficiaries in a month (2023 method). ANS compares operators of the same size: small < 20k, medium 20k-100k, large > 100k beneficiaries. The server also gives a 12-month average, which is steadier.lowermonthly
IDSS (Índice de Desempenho da Saúde Suplementar)ANS's yearly 0-1 score, with four dimensions: quality of care (IDQS), access (IDGA), market sustainability (IDSM), processes and regulation (IDGR).higheryearly
Garantia de atendimentoQuarterly band for denied or delayed coverage: 0 no upheld complaints, 1 below the median, 3 more than 50% above the median. Band 3 again and again leads ANS to suspend sales of plans.lowerquarterly, when ANS publishes
PenalidadesFines ANS applied, by year and status, including fines under appeal, suspended or archived. Not what was paid.fewer, relative to sizewhen ANS publishes
Reajuste do agrupamentoThe readjustment the operator applied to its pool of collective contracts with fewer than 30 lives. Individual/family plans follow a cap set by ANS instead.yearly

Every result says which month, quarter or year each figure belongs to, and links the file it came from.

Data and cache

The first call downloads seven ANS files (about 65 MB) and keeps a compact copy (about 1 MB) in your user cache folder. After 24 hours the server asks ANS whether a file changed and downloads it again only if it did. If ANS is down, it uses the cached copy and says so. To fill the cache in advance:

bash
brasil-planos-saude-mcp --refresh

Set BRASIL_PLANOS_SAUDE_CACHE_DIR to use another folder.

The operator registry file also has the operator's contact e-mail and the name of its legal representative. This server leaves both out.

Install

Quickest (needs uv): no clone needed, it runs straight from PyPI.

bash
claude mcp add brasil-planos-saude -- uvx brasil-planos-saude-mcp

For Claude Desktop, use "command": "uvx", "args": ["brasil-planos-saude-mcp"].

From source:

Requires Python 3.10+.

bash
git clone https://github.com/ThiagoJacobLannes/brasil-planos-saude-mcpcd brasil-planos-saude-mcppython -m pip install -e .

On Windows, if you keep code in a cloud-synced folder (Google Drive, OneDrive), create the virtual environment outside it. Sync clients drop desktop.ini files into folders, which can crash packages on startup.

Add to Claude Code

bash
claude mcp add brasil-planos-saude -- python -m brasil_planos_saude_mcp.server

Add to Claude Desktop

Merge claude_desktop_config.snippet.json into your Claude Desktop claude_desktop_config.json, then restart Claude Desktop:

json
{  "mcpServers": {    "brasil-planos-saude": {      "command": "python",      "args": ["-m", "brasil_planos_saude_mcp.server"]    }  }}

Example questions

  • "Is Hapvida any good? How does it do on complaints?"
  • "Compare Amil, Bradesco Saúde, SulAmérica and Porto Seguro."
  • "Which large health plans get the fewest complaints?"
  • "Best-rated dental plans."
  • "Has Unimed Campinas been fined by ANS?"
  • "My plan denied a procedure. Where do I complain?"

License

MIT

來源:README.md,提交 50176d1

工具

5

find_operators

Find Brazilian health-plan operators (operadoras de planos de saúde) registered with ANS. Use it to turn a brand the user mentions ("Unimed BH", "Amil", "Bradesco Saúde") into the ANS registry number, or to list operators by state, city or type. Largest first. Args: query: Part of the name, the CNPJ, or the ANS registry number. Accents and case don't matter. Several words must all match ("unimed campinas"). uf: State of the operator's head office, e.g. "SP", "MG". city: City of the head office, e.g. "Belo Horizonte". modality: e.g. "Cooperativa Médica", "Medicina de Grupo", "Seguradora", "Autogestão", "Odontologia de Grupo", "Filantropia", "Administradora de Benefícios" (substring match). include_cancelled: Also list operators whose registration was cancelled. limit: How many to return (default 10, max 50). Each operator: registro_ans, name, legal name, modality, head office, status, and beneficiaries and size class (porte) per coverage. Head office is not where the operator sells plans.

輸入參數ufcitylimitquerymodalityinclude_cancelled

operator_profile

Everything ANS publishes about one health-plan operator, to judge whether it is a good choice. Use for "is Hapvida good?", "how does Unimed Campinas rank on complaints?", "has SulAmérica been fined?". Returns: - registration: legal name, CNPJ, modality, head office, phone, status (active or cancelled, with date and reason), beneficiaries and size class; - complaints (IGR): latest month, 12-month average, the median of operators of the same size, the operator's position among them, and the monthly series; - quality (IDSS, 0-1, higher is better) for the last 5 years with its four dimensions; - access-to-care monitoring band (0 best, 3 worst) for the last published quarters; - fines applied by ANS: totals, last 5 years, status and the most recent cases; - the readjustment applied to its small-group pool (contracts with < 30 lives). Args: operator: Name (or part of it), CNPJ, or ANS registry number. If the name matches several operators, the largest active one is used and the others are listed in outras_operadoras_com_nome_parecido: check it is the one the user meant (Unimed, for example, is hundreds of separate cooperatives). coverage: "medica" or "odonto". Default: every coverage the operator has. Always quote the month/year of each figure and explain that IGR is lower-is-better and IDSS higher-is-better (see como_ler in the result).

輸入參數coverageoperator必填

compare_operators

Side-by-side comparison of 2 to 8 health-plan operators on the ANS indicators. Use for "Amil or Bradesco Saúde?", "compare the plans my company offers". For each operator: 12-month complaints index (IGR) with the median of its size class and its position, latest IDSS, latest access-to-care band, number of fines in the last 5 years, and the latest small-group readjustment. Args: operators: Names, CNPJs or ANS registry numbers, e.g. ["Amil", "Bradesco Saúde", "SulAmérica"]. coverage: "medica" (default) or "odonto".

輸入參數coverageoperators必填

rank_operators

Rank active health-plan operators by complaints or by quality. Use for "which large health plans get the fewest complaints?", "best-rated dental plans", "worst operators in Minas Gerais". Args: by: "reclamacoes" (12-month IGR, lower is better) or "qualidade" (latest IDSS, higher is better). coverage: "medica" (default) or "odonto". porte: "pequeno" (< 20k beneficiaries), "medio" (20k-100k) or "grande" (> 100k). ANS itself only compares operators of the same size. uf: Head-office state, e.g. "MG". Not the same as where it sells plans. modality: e.g. "Cooperativa Médica", "Medicina de Grupo", "Seguradora". min_beneficiaries: Skip operators smaller than this (default 5000; tiny ones swing wildly). worst_first: True to list the worst first. limit: How many to return (default 10, max 50).

輸入參數byuflimitportecoveragemodalityworst_firstmin_beneficiaries

where_to_complain

How to complain about a health plan in Brazil: the official ANS channels and the steps. Use when a user's plan denied or delayed a procedure, or they have a contract problem. Each channel was checked on the ANS consumer-service page (conferido_em).

無需輸入參數。

版本歷史

1
  1. v0.1.0最新Nov 1, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分