关于 Emendas parlamentares do Brasil
该 ETL 项目下载巴西联邦议会预算修正案数据,将记录关联到市镇并生成预算面板所用的数据表,适合按地点、收款方或作者分析资金分配。
主要功能
- 01下载透明门户的修正案数据
- 02按 IBGE 代码关联市镇
- 03生成 Parquet 表和质量报告
- 04通过 GitHub Actions 定时运行
适用场景
- 01比较各市镇的修正案金额
- 02按年份查看收款方和作者
- 03检查未能解析的地点
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
https://painel-emendas.pages.dev/mcp一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http projects-betanull-painel-emendas https://painel-emendas.pages.dev/mcpCursor.cursor/mcp.json
{"mcpServers":{"projects-betanull-painel-emendas":{"type":"http","url":"https://painel-emendas.pages.dev/mcp"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"projects-betanull-painel-emendas":{"type":"http","url":"https://painel-emendas.pages.dev/mcp"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"projects-betanull-painel-emendas":{"type":"http","url":"https://painel-emendas.pages.dev/mcp"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"projects-betanull-painel-emendas":{"serverUrl":"https://painel-emendas.pages.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Emendas 仪表板 — ETL(第 1 周)
从透明度门户下载议会拨款,将每一行关联到市镇(IBGE 代码),并生成仪表板表格。每天通过 GitHub Actions 免费运行。
data/out/ 中的输出
| 文件 | 内容 |
|---|---|
fato_emenda.parquet | 每笔拨款 × 地区 × 年份一行,包含已承诺 / 已结算 / 已支付金额、escopo(市镇、州、区域、全国、其他)、municipio_ibge、uf 和 modalidade(Pix / 其他) |
fato_favorecido.parquet | 每笔拨款的收款方(CNPJ、法律性质),按月统计,包含 municipio_ibge |
metricas_municipio.parquet | 按市镇和年份统计的收款金额(基于收款方)、拨款数量、提案人和收款方数量、在所在州的排名 |
autores.parquet | 按议员(或党团 / 委员会)和年份统计的总额 |
qualidade.json | 已关联到市镇的已支付金额占比,以及金额最高的 20 个未解析地区 |
在你的电脑上运行
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m pytest -q # testes com a amostra em tests/fixtures
python -m etl.build # baixa os dados reais e gera data/out/
ANO_INICIAL=2015 python -m etl.build 可更改起始年份(默认值:2020)。
部署上线(零成本)
- 在 GitHub 上创建一个公开仓库,并上传此文件夹(公开仓库的 Actions 使用量不限)。
- 在 Actions 中手动运行一次“每日拨款 ETL”工作流,并下载
qualidade工件。 - 准备发布数据时:在 Cloudflare R2 中创建一个存储桶,然后在 Settings → Secrets and variables → Actions 中添加
R2_ACCOUNT_ID、R2_ACCESS_KEY_ID、R2_SECRET_ACCESS_KEY和R2_BUCKET。如果未设置这些密钥,工作流只会生成并保存报告。
首次实际运行结果(02/11/2026)
- 自 2020 年以来共有 46.510 笔拨款,以及 654.094 笔向收款方支付的款项。
- 在主文件中,83% 的已支付金额对应地区“MÚLTIPLO”;因此,按市镇统计的总额使用收款方文件。
- 99,8% 的收款金额已关联到市镇(5.568 个市镇)。其余部分在原始数据中标记为“Sem informação”。
- IBGE API 无法从 GitHub 访问;市镇列表来自 GitHub 上的一个公开副本。
需要核对的事项
- **CSV 列名:**代码接受多种写法(
etl/normalize.py中的COLUNAS字典)。如果门户更改了某个标签,构建会停止并列出找到的列;只需在该处添加新名称即可。 - **地区格式:**已识别的模式包括
CIDADE - UF、CIDADE/UF、ESTADO (UF)、REGIÃO (REGIÃO)和NACIONAL。qualidade.json会显示未匹配的内容;不同拼写需添加到ALIASES_MUNICIPIO。 - **Pix 拨款:**根据行动名称(“Transferência Especial”)识别。请与实际文件中的拨款类型核对。
- **从 GitHub 访问门户:**如果下载因外国 IP 被封锁而失败,替代方案是在你的电脑上运行 ETL,然后将文件上传到 R2。
后续步骤
- 第 2 周:Transferegov(Pix 拨款的行动计划)以及 IBGE 人口数据,用于计算人均金额。
- 第 3–4 周:按市镇和议员生成静态页面。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。