健康数据查询服务

MCP Server为巴西健康数据提供官方来源查询服务,支持药物、补充剂、大麻产品、价格及疾病分类等信息的即时检索。

  • by RodrigoFlorencio86
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 RodrigoFlorencio86/mcp-saude-br

使用说明

mcp-saude-cn

用于巴西医疗数据的 MCP 服务器 - 完全由官方来源(ANVISA,CMED,DATASUS)提供。

它允许Claude和其他人工智能代理人在对话中查询:注册药物,膳食补充剂,大麻产品,受监管的CMED价格,官方公告和国际疾病分类(ICD-10)。


你可以问克劳德

设置MCP后(下面的说明),只需用葡萄牙语询问:

Liste medicamentos genéricos para diabetes
Qual o preço máximo da metformina 500mg em São Paulo?
Quem fabrica produtos à base de canabidiol no Brasil?
Quais fabricantes produzem whey protein?
Me dê a bula oficial da dipirona sódica
O registro ANVISA 1.0004.0064.003-5 ainda é válido?
Quais doenças têm código CID E11? Quais medicamentos existem para tratá-las?

安装 — 1 分钟

您 无需手动安装.O npx 下载并自动运行服务器。您只需在 MCP 客户端中添加一个配置即可。

克劳德桌面版

编辑配置文件并添加块 mcpServers:

  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "saude-br": {
      "command": "npx",
      "args": ["-y", "mcp-saude-br"]
    }
  }
}

重新启动 Claude Desktop。在第一次运行时,MCP 下载约 10 MB 的数据(需要 5-15 秒)。数据保存在本地缓存中;下一次启动是即时的。

克劳德代码

创建 .mcp.json 在您的项目的根与上面相同的内容。

其他MCP客户

任何支持模型上下文协议 stdio 传输的客户端都可以工作 — 只需指向 npx -y mcp-saude-br.


O que na base

下面的数字反映了官方数据集的状态 2026年4月数据由服务器和每周 GitHub Action(如下所述)自动更新 — 文本中的数字可能会随着时间的推移而变化。

数据集 记录 官方来源
ANVISA 药物 (总计) ~42.900 dados.anvisa.gov.br/DADOS_ABERTOS_MEDICAMENTOS.csv
注册药物 有效的 ~17.200 ANVISA开放数据
药物 通用的 ~8.000 ANVISA开放数据
CMED 价格 (一致性表) ~53000 提交 dados.anvisa.gov.br/TA_PRECOS_MEDICAMENTOS.csv
食品补充剂 (总计) ~58700 dados.anvisa.gov.br/CONSULTAS/PRODUTOS/TA_CONSULTA_ALIMENTOS.CSV
活跃注册补充 ~10300 ANVISA Open Data
大麻产品 ~62 dados.anvisa.gov.br/CONSULTAS/PRODUTOS/TA_CONSULTA_PRODUTOS_CANNABIS.CSV
CID-10 (类别 + 子类别) ~12000 DATASUS V2008
药品制造商 ~770 ANVISA Open Data
补充剂制造商 ~7300 ANVISA Open Data
大麻制造商 ~28 ANVISA开放数据
独特的主动原则 ~4200 ANVISA Open Data
治疗课程 ~490 ANVISA Open Data

18 可用工具

药品 (11)

工具 为什么
search_medications 按名称、活动原则或条件搜索
get_medication_details 完整数据表 + CMED价格
get_bula 官方公告(患者和专业PDF)
list_manufacturers 产品计数制造商列表
get_manufacturer_medications 一家制造商的所有药物
list_generic_medications 通用,可按活性原理过滤
search_by_active_ingredient 含有活性成分的药物。
check_price 按州分列的官方PF/PMC价格
get_medications_by_condition 适合某种情况的药物。
check_anvisa_registration 检查 ANVISA 记录的有效性
list_therapeutic_classes 治疗课程计数。

食品补充剂 (3)

工具 为什么
search_supplements 按名称,品牌或制造商(乳清,维生素C等)搜索。
get_supplement_details 完整数据表:品牌,类别,功能声明
list_supplement_manufacturers 按名称过滤的分页制造商列表

大麻产品 (2)

工具 为什么
search_cannabis_products 按名称、活性原理或制造商搜索
list_cannabis_manufacturers 列出所有授权的公司

疾病 - CID-10 (2)

工具 为什么
search_by_cid 按代码 (E11, J45) 或英文名称搜索
get_cid_info ANVISA数据库中的子类别+相关药物

数据如何到达您

MCP采用战略 三层缓存 为了快速和抵御政府服务器的不稳定。 服务器总是有数据要显示即使ANVISA在空中:

1. GitHub Release (CDN, atualizado semanalmente) ─── primário, dados frescos
         ↓ falhou?
2. Fonte oficial ANVISA/DATASUS (ao vivo) ────────── fallback online
         ↓ falhou?
3. Snapshot commitado no pacote npm ──────────────── garantia offline
   (atualizado a cada release minor — pode estar
   alguns dias/semanas defasado, mas funciona sempre)

为什么这很重要: 2026年4月,ANVISA重组了开放数据服务器并删除了前缀。 /dados/ 所有CSV。早期版本的 MCP 在启动时崩溃。三层战略:

  • 正常情况: 下载GitHub版本(快速,直到当前周始终新鲜)。
  • 空气之外: 使用已缓存的版本。
  • GitHub 关闭: 使用 npm 软件包本身中提交的快照 — 你已经安装了,所以你有数据。

当使用静态快照时,服务器会在日志中警告: ⚠ Usando snapshot estático committed no repo (X MB). Dados podem estar defasados.

更新架构

   Segunda-feira 03:00 UTC (GitHub Actions)
                    │
                    ▼
       Baixa + valida + gzipa os 5 CSVs
       das fontes oficiais ANVISA/DATASUS
                    │
                    ▼
       Publica como GitHub Release
       (data-YYYY-MM-DD, ~10 MB total)
                    │
                    ▼
       Cliente baixa de /releases/latest/
       na inicialização (5–15s)

缓存本地

首次运行后,CSV 将保留在 ~/.cache (或在哪里) DATA_DIR 指出) 与TTL本身:

数据 本地TTL 上游更新
ANVISA 药物 7 天 每日发布
CMED 价格 30 天 每月发布
CID-10 1年 罕见变化 (V2008)
大麻 7天 每周出版
补充 7天 每周发布

当 TTL 过期时,服务器会尝试在后台进行更新,而不会阻止查询。


地方发展

git clone https://github.com/RodrigoFlorencio/mcp-saude-br.git
cd mcp-saude-br
npm install
npm run build
npm run inspect        # Abre MCP Inspector no navegador

脚本

命令 描述
npm run build 编译TypeScript→ dist/
npm run dev 罗达via tsx 没有编译。
npm run inspect Abre MCP检查器(测试工具)
npm run build-release 本地运行与 CI 相同的管道(生成) release-output/)
npm test 罗达测试com Vitest

MCP Inspector 中的示例

{ "query": "dipirona", "limit": 5 }                           // search_medications
{ "query": "whey protein" }                                   // search_supplements
{ "manufacturer": "VERDEMED" }                                // search_cannabis_products
{ "medication_name": "Metformina", "state": "SP" }            // check_price
{ "code_or_name": "E11" }                                     // get_cid_info
{ "filter": "suplementos", "limit": 20 }                      // list_supplement_manufacturers

项目结构

src/
├── index.ts                    # Entry point
├── server.ts                   # Servidor MCP + 18 tools
├── config.ts                   # URLs, TTLs, paths
├── data/
│   ├── types.ts                # Tipos TypeScript
│   ├── store.ts                # Medicamentos (5 índices)
│   ├── cid10-store.ts          # CID-10
│   ├── cannabis-store.ts       # Cannabis
│   ├── supplements-store.ts    # Suplementos alimentares
│   └── loader.ts               # Orquestra download + parse + refresh
├── sources/                    # Uma por dataset
│   ├── anvisa-csv.ts
│   ├── cmed.ts
│   ├── cid10.ts
│   ├── anvisa-cannabis.ts
│   ├── anvisa-alimentos.ts
│   ├── bulario.ts              # API Bulário Eletrônico
│   └── consultaremedios.ts     # Scraping controlado
├── http/
│   ├── client.ts               # Axios + gunzip + ICP-Brasil
│   └── queue.ts                # Rate limiting por domínio
└── utils/
    ├── text.ts                 # Normalização PT-BR
    └── errors.ts               # Erros MCP

scripts/
└── build-data-release.ts       # Script do Action semanal

assets/
└── CID10CSV.zip                # Asset estático (fallback CID-10)

.github/workflows/
└── build-data.yml              # Action semanal de republicação

要求

  • Node.js≥18 (推荐 LTS - 20 或 22)
  • 第一次运行时连接到 Internet (~10 MB)

无原生依赖关系 — 在任何 Node 运行的平台上运行。


许可证

麻省 理工 学院 - 道路 许可证.


警告

该项目与ANVISA,CMED,DATASUS或任何政府机构没有官方联系。数据来自开放的公共来源,可能与官方门户网站相比有误。对于临床决策,请始终咨询医疗保健专业人员并检查原始来源: