参议院-br-mcp
巴西联邦参议院开放数据(立法者、法案、投票、委员会)的MCP服务器。
MCP(模型上下文协议)服务器,允许结构化访问巴西联邦参议院的开放数据,通过人工智能对话实现对立法信息的民主化。
特性
- 33工具 用于访问参议院数据
- 来自官方API的实时数据
- 电子公民融合:通过网络抓取公民参与数据
- 结构化JSON响应
- 使用可操作建议处理错误
- 具有完全类型安全的TypeScript
- 两种访问模式: stdio(npm)和HTTP远程
两种使用方法
| 模式 | 安装 | 最适合 |
|---|---|---|
| stdio/npm | npx senado-br-mcp | 技术用户,本地使用 |
| HTTP远程 | 无需 | 非技术用户,云访问 |
这两种模式都提供了对相同33种工具的访问。
______________________________________________________________________
选项1:stdio/npm(本地)
安装
使用npx(推荐):
npx senado-br-mcp全球安装:
npm install -g senado-br-mcp
senado-br-mcp来源:
git clone https://github.com/SidneyBissoli/senado-br-mcp.git
cd senado-br-mcp
npm install
npm run build
npm startClaude桌面配置
添加到您的 claude_desktop_config.json:
窗户: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"senado-br-mcp": {
"command": "npx",
"args": ["-y", "senado-br-mcp"]
}
}
}______________________________________________________________________
选项2:HTTP远程(云)
无需安装。通过URL直接连接。
Claude桌面配置
在克劳德桌面设置中,转到 “添加自定义连接器” 并输入:
- 姓名: 参议院-br-mcp
- 网址:
https://senado-br-mcp.up.railway.app/mcp
端点
| 端点 | 描述 |
|---|---|
GET / | 服务器信息和文档 |
GET /health | 健康检查 |
GET /stats | 使用统计 |
POST /mcp | MCP协议端点 |
速率限制
HTTP服务器每月有一个请求限制,以保持在免费层内:
- 警报以50%、80%和100%的使用率发送
- 当达到限制时,请使用npm版本
- 每月1日限额重置
可用工具
参议员(Senadores)
| 工具 | 说明 |
|---|---|
senado_listar_senadores | 列出在任或立法机构的参议员。过滤器:状态(UF)、参与方 |
senado_obter_senador | 获取参议员的详细信息(传记、授权书、委员会) |
senado_buscar_senador_por_nome | 按姓名搜索参议员 |
senado_votacoes_senador | 列出参议员是如何投票的。过滤器:年份、日期范围 |
立法事项(Legislative Matters)
| 工具 | 说明 |
|---|---|
senado_buscar_materias | 按类型(PEC、PL、PLP、MPV)、编号、年份、关键字、作者搜索账单 |
senado_obter_materia | 获取账单详细信息(摘要、作者、状态、报告员) |
senado_tramitacao_materia | 获取比尔的程序历史记录 |
senado_textos_materia | 通过下载URL获取账单文本(原始、替代、最终) |
senado_votos_materia | 获取法案的投票结果 |
投票(Votes)
| 工具 | 说明 |
|---|---|
senado_listar_votacoes | 按年份列出全体投票。过滤器:月份、日期范围 |
senado_obter_votacao | 获取参议员名义投票的投票详情 |
senado_votacoes_recentes | 获取最近投票(最近N天) |
委员会(Committees)
| 工具 | 说明 |
|---|---|
senado_listar_comissoes | 列出委员会名单。过滤器:类型(永久、临时、CPI)、活动 |
senado_obter_comissao | 获取委员会详细信息(主席、副主席、目的) |
senado_membros_comissao | 列出具有角色的委员会成员 |
senado_reunioes_comissao | 列出委员会会议及议程 |
议程
| 工具 | 说明 |
|---|---|
senado_agenda_plenario | 获取包含投票议程的全体会议日程 |
senado_agenda_comissoes | 获取委员会会议时间表 |
查找/辅助(辅助)
| 工具 | 说明 |
|---|---|
senado_legislatura_atual | 获取当前立法机构信息(编号、期间、日期) |
senado_tipos_materia | 列出有效的票据类型(PEC、PL、PLP、MPV等) |
senado_partidos | 列出有参议员人数的政党 |
senado_ufs | 列出有参议员人数的州 |
e-Cidadania(公民参与)
访问e-Cidadania数据的工具-参议院的公民参与平台。
公共咨询(公共咨询)
| 工具 | 说明 |
|---|---|
senado_ecidadania_listar_consultas | 列出与公民就未决法案进行投票的公众咨询 |
senado_ecidadania_obter_consulta | 获取咨询详细信息,包括投票、作者和评论 |
senado_ecidadania_consultas_polarizadas | 获得两极分化的协商(~50/50票)-有助于确定分歧问题 |
senado_ecidadania_consultas_consensuais | 获得双方同意的协商(单向>85%)-确定广泛的一致意见 |
立法思想(Legislative Ideas)
| 工具 | 说明 |
|---|---|
senado_ecidadania_listar_ideias | 列举公民提出的立法构想 |
senado_ecidadania_obter_ideia | 获取想法详细信息,包括完整描述和转换为账单 |
senado_ecidadania_ideias_populares | 获得最受支持的立法理念 |
互动活动(Eventos Interativos)
| 工具 | 说明 |
|---|---|
senado_ecidadania_listar_eventos | 列出互动活动(听证会、确认、直播) |
senado_ecidadania_obter_evento | 获取活动详情,包括议程、嘉宾和视频链接 |
senado_ecidadania_eventos_populares | 获取大多数公民评论和问题的活动 |
分析工具
| 工具 | 说明 |
|---|---|
senado_ecidadania_sugerir_tema_enquete | 人工智能辅助分析,根据参与指标为月度调查提供主题建议 |
注: e-Cidadania工具使用具有速率限制和缓存的网络抓取。如果e-Cidadania网站暂时不可用,API工具(参议员、法案、投票)仍在运行。
使用示例
圣保罗参议员名单
Use senado_listar_senadores with uf: "SP"2024年宪法修正案
Use senado_buscar_materias with sigla: "PEC", ano: 2024获取最近的投票
Use senado_votacoes_recentes with dias: 7按姓名查找参议员
Use senado_buscar_senador_por_nome with nome: "Randolfe"获取CCJ委员会成员
Use senado_membros_comissao with sigla: "CCJ"获得两极分化的公众咨询
Use senado_ecidadania_consultas_polarizadas with minimoVotos: 5000获得最受支持的公民想法
Use senado_ecidadania_ideias_populares with limite: 5查找即将举行的互动活动
Use senado_ecidadania_listar_eventos with status: "agendado"响应格式
所有工具都返回结构化的JSON响应:
成功响应
{
"success": true,
"data": { ... },
"metadata": {
"fonte": "Senado Federal - Dados Abertos",
"dataConsulta": "2024-01-15T10:30:00Z",
"endpoint": "/senador/lista/atual"
}
}错误响应
{
"success": false,
"error": {
"code": "SENADOR_NAO_ENCONTRADO",
"message": "Senator with code 99999 was not found",
"suggestion": "Use senado_buscar_senador_por_nome to find the correct code"
}
}发展
先决条件
- Node.js 18+
- npm
设置
npm install构建
# Build stdio version (npm package)
npm run build
# Build HTTP server version
npm run build:server
# Build both
npm run build:all发展模式
# stdio mode
npm run dev
# HTTP server mode
npm run dev:server类型检查
npm run typecheck使用MCP检查员进行测试
npm run inspect______________________________________________________________________
自托管HTTP服务器
您可以托管自己的HTTP服务器实例。
本地
npm run build:server
npm run start:server
# Server runs on http://localhost:3000铁路
- 分叉此存储库
- 将Railway连接到您的GitHub
- 部署(自动检测来自的配置
railway.json) - 设置环境变量:
- MONTHLY_REQUEST_LIMIT (默认值:10000) - ALERT_WEBHOOK_URL (可选,用于通知)
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
PORT | 服务器端口 | 3000 |
MONTHLY_REQUEST_LIMIT | 每月请求限额 | 10000 |
ALERT_WEBHOOK_URL | 用于警报的Webhook | - |
LOG_LEVEL | 日志级别 | 信息 |
数据源
API官方
- API: 联邦参议院 - 开放数据
- 文档:https://legis.senado.leg.br/dadosabertos/docs/
- 格式:JSON
- 认证:无(公共数据)
网页抓取(Web Scraping)
- 网站: 电子 公民
- 内容:公众咨询、立法构想、互动活动
- 方法:具有速率限制(1个要求/秒)和缓存(15分钟-24小时)的HTML抓取
- 后备方案:如果e-Cidadania不可用,API工具将继续工作
比尔类型(Bill Types)
| 代码 | 名称 | 描述 |
|---|
宪法修正案(Constitutional Amendment) 《普通法案》(Ordinary Law Bill) 《补充法案》(Complementary Law Bill) MPV 临时措施 PDL 立法法令草案 Legislative Decree Bill 参议院决议草案(Senate Resolution Bill) 众议院法案(Chamber of Deputies Bill)
许可证
麻省理工学院
作者
西德尼·达席尔瓦·佩雷拉·比索利
仓库
https://github.com/SidneyBissoli/senado-br-mcp
贡献
欢迎投稿!请随时提交拉取请求。
更新日志
1.1.0
- 添加了e-Cidadania集成(11个新工具)
- 具有速率限制和缓存的Web抓取基础架构
- 公众咨询分析(两极分化/共识)
- 立法思路跟踪
- 交互式事件监控
- 调查主题建议工具
1.0.0
- 初始版本
- 22种参议院数据访问工具
- 参议员、法案、投票、委员会、议程和查找工具
