MCP Senado联邦-巴西参议院人工智能助理开放数据
使用56个工具将Claude、Cursor、Windsurf和Continue.dev连接到巴西联邦参议院(Senado Federal)立法数据库,这些工具涵盖了参议员、法案、投票记录、委员会和全体会议。
   ](https://nodejs.org/) ](https://www.npmjs.com/package/@aredes.me/mcp-senado)
______________________________________________________________________
这是什么?
MCP Senado联邦 是一个模型上下文协议(MCP)服务器,它使人工智能助手可以直接访问官方 巴西联邦参议院开放数据API配置后,您可以向Claude(或任何兼容MCP的客户)询问有关巴西立法数据的自然语言问题,并从政府自己的API获得准确、实时的答案。
这是给谁的?
- 调查投票模式或立法提案的数据记者
- 研究巴西议会行为的学术研究人员
- 开发人员构建公民技术应用程序或政治仪表板
- 追踪特定法案或参议员的公民和活动家
______________________________________________________________________
特性
- 7个类别的56个工具 --参议员、提案、投票、委员会、政党、全体会议和参考数据
- 多运输 -stdio(本机MCP)和HTTP/REST API模式
- 生产就绪 --断路器、速率限制、内存LRU缓存、结构化日志记录和健康检查
- 可在任何地方部署 --通过npx、Docker在本地运行,或在Cloudflare Workers上全球部署(300多个边缘位置)
- 缺省安全 --Zod输入验证、可选的承载令牌身份验证、可配置的CORS、PII掩码、符合LGPD标准
- 类型安全 --带有严格模式的完整TypeScript 5.7;211项测试通过,覆盖率为73%
- 双语 --葡萄牙语和英语的文档和工具说明
______________________________________________________________________
可用的MCP工具
参考数据(10个工具)
| 工具 | 说明 |
|---|---|
ufs_listar | 列出巴西所有州(UF) |
legislaturas_listar | 列出参议院立法机构 |
tipos_materia_listar | 列出立法提案类型 |
situacoes_materia_listar | 列出账单处理状态 |
tipos_comissao_listar | 列出委员会类型 |
tipos_autor_listar | 列出作者类型 |
tipos_sessao_listar | 列出会话类型 |
tipos_votacao_listar | 列出投票类型 |
tipos_documento_listar | 列出文档类型 |
assuntos_listar | 列出主题分类 |
参议员(13工具)
| 工具 | 说明 |
|---|---|
senadores_listar | 按姓名、政党、州或立法机构搜索参议员 |
senador_detalhes | 特定参议员的完整细节和传记 |
senador_historico | 议会历史和以往任期 |
senador_votacoes | 带有过滤器的参议员投票记录 |
senador_materias | 参议员撰写的法案和提案 |
senador_discursos | 参议员的讲话 |
senador_licencas | 休假 |
senador_comissoes | 委员会成员 |
senador_liderancas | 曾任领导职务 |
senador_filiacao | 党籍历史 |
senador_profissoes | 申报职业 |
senador_apartes | 在地板上发出的感叹 |
senador_relatorias | 参议员与之建立融洽关系的法案 |
立法提案(12个工具)
| 工具 | 说明 |
|---|---|
materias_pesquisar | 高级搜索法案和提案 |
materia_detalhes | 具体提案的全部细节 |
materia_texto | 法案全文 |
materia_votacoes | 与提案相关的投票环节 |
materia_tramitacao | 处理历史和当前状态 |
materia_autores | 作者和合著者 |
materia_relacionadas | 相关法案 |
materia_emendas | 已提交的修正案 |
materia_pareceres | 委员会意见 |
materia_notas_tecnicas | 技术说明 |
materia_audiencias | 相关公开听证会 |
materia_documentos | 随附文件 |
投票(5个工具)
| 工具 | 说明 |
|---|---|
votacoes_listar | 使用筛选器列出投票会话 |
votacao_detalhes | 具体投票的全部细节 |
votacao_votos | 参议员个人投票选举会议 |
votacao_orientacoes | 政党/集团投票取向 |
votacao_resumo | 投票统计摘要 |
委员会(5个工具)
| 工具 | 说明 |
|---|---|
comissoes_listar | 列出所有委员会(常设和临时) |
comissao_detalhes | 委员会详情 |
comissao_membros | 委员会成员和组成 |
comissao_reunioes | 会议日程和议程 |
comissao_materias | 委员会审议中的法案 |
缔约方(5个工具)
| 工具 | 说明 |
|---|---|
partidos_listar | 列出所有政党和议会集团 |
partido_detalhes | 派对详情 |
partido_membros | 与该党有联系的参议员 |
partido_liderancas | 党的领导 |
blocos_listar | 议会集团和联盟 |
全体会议(6个工具)
| 工具 | 说明 |
|---|---|
sessoes_listar | 带过滤器的会话日历 |
sessao_detalhes | 特定会话的详细信息 |
sessao_votacoes | 会议期间举行的投票 |
sessao_discursos | 会议期间的发言 |
sessao_ordem_dia | 会议议程(日期顺序) |
sessao_expediente | 会话调度(快捷) |
______________________________________________________________________
安装
需求
- Node.js 18.x或更高版本
- npm 9.x或更高版本
选项1-npx(无需安装)
npx @aredes.me/mcp-senado选项2——全局安装
npm install -g @aredes.me/mcp-senado
mcp-senado选项3——克隆和构建
git clone https://github.com/cristianoaredes/mcp-senado.git
cd mcp-senado
npm install
npm run build______________________________________________________________________
用法——连接到AI助手
克劳德桌面
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"senado-federal": {
"command": "npx",
"args": ["-y", "@aredes.me/mcp-senado"],
"env": {
"MCP_LOG_LEVEL": "info"
}
}
}
}配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
光标/风帆
{
"mcpServers": {
"senado-federal": {
"command": "npx",
"args": ["-y", "@aredes.me/mcp-senado"]
}
}
}Continue.dev
{
"mcpServers": [
{
"name": "senado-federal",
"command": "npx",
"args": ["-y", "@aredes.me/mcp-senado"]
}
]
}示例提示
连接后,询问您的AI助手:
"List all senators from São Paulo"
"What is the voting record of Senator X on environmental bills?"
"Find all education bills introduced in 2024"
"What is the current status of PLS 123/2024?"
"Show the composition of the CCJ committee"
"How many senators does each party have?"______________________________________________________________________
HTTP服务器模式
将服务器作为web应用程序的独立REST API运行:
# Development
npm run dev:http
# Production
npm run build && npm run start:http
# Via npx
npx @aredes.me/mcp-senado-http基本URL: http://localhost:3000
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查和服务器状态 |
/mcp | POST | MCP JSON-RPC端点 |
/sse | GET | MCP客户端的服务器发送事件 |
/api/tools | GET | 列出所有可用工具 |
/api/tools/:name | GET | 获取工具详细信息 |
/api/tools/:name | POST | 调用工具 |
/api/categories | GET | 列出所有类别 |
/api/tools/category/:category | GET | 按类别列出的工具 |
示例——通过HTTP调用工具:
curl -X POST http://localhost:3000/api/tools/senadores_listar \
-H "Content-Type: application/json" \
-d '{"uf": "SP"}'______________________________________________________________________
码头工人
# Quick start
docker-compose up -d
# Manual build and run
docker build -t mcp-senado:latest .
docker run -d --name mcp-senado -p 3000:3000 mcp-senado:latest
# Check status
curl http://localhost:3000/health______________________________________________________________________
Cloudflare员工
部署到300多个全球边缘位置:
npm install -g wrangler
wrangler login
npm run build
npm run deploy:workers:production热装本地开发:
npm run dev:workers # starts at http://localhost:8787______________________________________________________________________
配置
创建一个 .env 文件或设置环境变量:
# API
SENADO_API_BASE_URL=https://legis.senado.leg.br/dadosabertos/
# Cache
MCP_CACHE_ENABLED=true
MCP_CACHE_TTL=300
# Rate limiting
MCP_RATE_LIMIT_ENABLED=true
MCP_RATE_LIMIT_MAX_REQUESTS=30
MCP_RATE_LIMIT_WINDOW_MS=60000
# HTTP server
HTTP_PORT=3000
HTTP_AUTH_ENABLED=false
HTTP_AUTH_TOKEN=
# Logging
MCP_LOG_LEVEL=info______________________________________________________________________
建筑
AI Assistants (Claude, Cursor, Windsurf, Continue.dev)
↓ MCP Protocol (stdio / HTTP / SSE)
Adapters Layer (CLI, HTTP Server, Cloudflare Workers)
↓
Core Layer (MCP Server, Tool Registry, Zod Validation)
↓
Tools Layer (Senator, Proposal, Voting, Committee, Party, Session, Reference)
↓
Infrastructure Layer (HTTP Client, LRU Cache, Circuit Breaker, Rate Limiter)
↓ HTTPS
Senado Federal Open Data API (legis.senado.leg.br/dadosabertos)______________________________________________________________________
贡献
欢迎捐款。看 贡献.md 了解指导方针、行为准则以及如何提交pull请求。
______________________________________________________________________
许可证
麻省理工学院——见 许可证 了解详情。
数据来源于 巴西联邦参议院开放数据API,由巴西政府维护的公共服务。
______________________________________________________________________
相关项目
- mcp camara --巴西众议院MCP服务器
- mcp 数据 --巴西公共数据集的MCP服务器
______________________________________________________________________
通过 克里斯蒂亚诺·阿雷德斯
