@aredes.me/mcp-camara
v1.0.6
Published
Model Context Protocol server for Brazilian Chamber of Deputies (Câmara dos Deputados) Open Data API
Maintainers
Readme
MCP Câmara dos Deputados 🇧🇷
🏛️ Servidor Model Context Protocol (MCP) para acesso aos Dados Abertos da Câmara dos Deputados do Brasil — Integre informações legislativas completas diretamente em Claude Desktop, Cursor, Windsurf, Continue.dev e outros assistentes de IA.
🚀 Implantação multiplataforma: Pacote NPM, Cloudflare Workers, Smithery.
Português
🇧🇷 Servidor MCP para consulta de dados legislativos da Câmara dos Deputados do Brasil. Acesse informações sobre deputados, proposições, votações, comissões, partidos e eventos legislativos em minutos através de Claude Desktop, Cursor, Windsurf, Continue.dev e qualquer cliente compatível com MCP.
⚡ Instalação Rápida
npm install -g @aredes.me/mcp-camaraOu execute diretamente com NPX:
npx @aredes.me/mcp-camaraVia Smithery (1 clique)
npx -y @smithery/cli install @aredes.me/mcp-camara --client claude🔌 Configuração por IDE / Cliente MCP
🤖 Claude Desktop
{
"mcpServers": {
"camara": {
"command": "npx",
"args": ["@aredes.me/mcp-camara"]
}
}
}Localização: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
🎯 Cursor IDE
{
"mcpServers": {
"camara": {
"command": "npx",
"args": ["@aredes.me/mcp-camara"]
}
}
}🏄 Windsurf IDE
{
"mcpServers": {
"camara": {
"command": "npx",
"args": ["@aredes.me/mcp-camara"]
}
}
}🔄 Continue.dev
{
"mcpServers": [
{
"name": "camara",
"command": "npx",
"args": ["@aredes.me/mcp-camara"]
}
]
}🤖 ChatGPT MCP
Para usar com ChatGPT, configure o servidor Cloudflare Workers como endpoint remoto:
- Deploy no Cloudflare Workers:
npm run workers:deploy:prod - Configure no ChatGPT:
- URL do servidor:
https://mcp-camara.your-subdomain.workers.dev - O ChatGPT detectará automaticamente os endpoints OAuth e MCP
- URL do servidor:
- Configure API Key (opcional, via environment variables no Workers)
APIs REST disponíveis:
GET /deputados/{id}- Consulta dados de deputadoGET /proposicoes/{id}- Consulta dados de proposiçãoGET /votacoes/{id}- Consulta dados de votaçãoGET /eventos/{id}- Consulta dados de evento
✅ Teste rápido:
Pode buscar informações sobre o deputado com ID 220593?🛠️ Ferramentas Disponíveis
👥 Deputados (15 ferramentas)
Obtenha informações completas sobre deputados federais brasileiros:
- 🔍
deputados_listar— Lista deputados com filtros (nome, partido, UF, legislatura) - 📋
deputados_obter— Detalhes completos incluindo biografia e contato - 💰
deputados_despesas— Despesas e reembolsos com detalhamento completo - 🎤
deputados_discursos— Discursos em plenário e intervenções parlamentares - 📅
deputados_eventos— Participação em eventos e registros de presença - 📊
deputados_frentes— Frentes parlamentares e bancadas temáticas - 🏛️
deputados_orgaos— Participação em órgãos e comissões - 📜
deputados_profissoes— Lista de profissões declaradas por deputados - 📄
deputados_ocupacoes— Ocupações profissionais - 🎓
deputados_historico— Histórico legislativo e mandatos - 📸
deputados_foto— URL da fotografia oficial - 🗳️
deputados_mesa— Cargos ocupados na Mesa Diretora - 📋
deputados_liderancas— Posições de liderança - 🏅
deputados_cargos— Cargos atuais e anteriores - 📊
deputados_votacoes— Registro de votações e posicionamentos
📜 Proposições (10 ferramentas)
Acesse propostas legislativas, projetos de lei e emendas:
- 🔍
proposicoes_listar— Lista proposições com filtros avançados (tipo, ano, autor, situação) - 📋
proposicoes_obter— Detalhes completos incluindo texto integral e situação - 👥
proposicoes_autores— Autores e coautores de proposições - 📄
proposicoes_relacionadas— Proposições relacionadas e dependências - 🗳️
proposicoes_votacoes— Todas as votações de uma proposição - 📝
proposicoes_tramitacoes— Histórico de tramitação e situação atual - 🏛️
proposicoes_temas— Classificação temática - 📎
proposicoes_arquivos— Documentos e arquivos anexados - 🔗
proposicoes_referencias— Referências legais e citações - 📊
proposicoes_tipos— Tipos de propostas legislativas
🗳️ Votações (4 ferramentas)
- 🔍
votacoes_listar— Lista votações - 📋
votacoes_obter— Detalhes de uma votação - 👥
votacoes_votos— Votos individuais - 📊
votacoes_orientacoes— Orientações de bancadas
🏛️ Comissões (5 ferramentas)
- 🔍
orgaos_listar— Lista comissões e órgãos - 📋
orgaos_obter— Detalhes de uma comissão - 👥
orgaos_membros— Membros da comissão - 📅
orgaos_eventos— Eventos da comissão - 🗳️
orgaos_votacoes— Votações da comissão
🎯 Partidos (6 ferramentas)
Analise partidos políticos e blocos parlamentares:
- 🔍
partidos_listar— Lista todos os partidos políticos registrados - 📋
partidos_obter— Detalhes do partido incluindo ideologia e liderança - 👥
partidos_membros— Membros atuais e filiações partidárias - 🤝
blocos_listar— Lista blocos parlamentares e coligações - 📋
blocos_obter— Composição e partidos membros do bloco - 🏛️
partidos_liderancas— Posições de liderança partidária
📅 Eventos (7 ferramentas)
Acompanhe o calendário e atividades legislativas:
- 🔍
eventos_listar— Lista todos os eventos legislativos com filtros de data e tipo - 📋
eventos_obter— Informações detalhadas incluindo local e participantes - 🏛️
eventos_orgaos— Eventos organizados por comissões ou órgãos específicos - 👥
eventos_deputados— Eventos com participação de deputado específico - 📜
eventos_pauta— Pauta e itens de discussão do evento - 📝
eventos_situacoes— Situação do evento (agendado, em andamento, concluído, cancelado) - 🎯
eventos_tipos— Tipos de eventos legislativos
📚 Dados de Referência (15 ferramentas)
Acesse tabelas de referência e sistemas de classificação:
- 🏛️
referencias_legislaturas— Lista todas as legislaturas com períodos - 🎯
referencias_situacoes_deputado— Códigos de situação de deputados (ativo, licenciado, etc.) - 📊
referencias_situacoes_evento— Classificações de situação de eventos - 🗳️
referencias_situacoes_proposicao— Códigos de situação de proposições - 📋
referencias_tipos_proposicao— Tipos de propostas legislativas (PL, PEC, etc.) - 🏛️
referencias_tipos_orgao— Tipos de órgãos legislativos - 📅
referencias_tipos_evento— Classificações de tipos de eventos - 🗳️
referencias_tipos_votacao— Tipos e procedimentos de votação - 🎓
referencias_escolaridades— Níveis de escolaridade - 🌍
referencias_ufs— Estados e territórios brasileiros - 🏙️
referencias_municipios— Municípios por estado - 📊
referencias_situacoes_orgao— Códigos de situação de comissões - 🎯
referencias_situacoes_membro— Códigos de situação de membros - 📜
referencias_cargos_orgao— Tipos de cargos em comissões - 🏅
referencias_tipos_lideranca— Tipos de posições de liderança
🧪 Testes em Linha de Comando
Servidor HTTP + SSE local
npm run build
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 node build/lib/bin/mcp-camara.jsEm outro terminal:
# Listar ferramentas
curl http://localhost:3000/mcp -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
# Buscar deputado
curl http://localhost:3000/deputados/220593
# Listar proposições
curl http://localhost:3000/mcp -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "proposicoes_listar", "arguments": {"siglaTipo": "PL", "ano": 2024}}}'Health check rápido
curl -i http://localhost:3000/health🌐 Deploy Web (Opcional)
Opções de Hospedagem
Cloudflare Workers: Implante como API globalmente distribuída (serverless)
VPS/Cloud Server: Hospede em servidor dedicado para controle total
Cloudflare Workers (Serverless)
# 1. Instalar dependências
npm install
# 2. Build do projeto
npm run build
# 3. Criar namespaces KV
npm run workers:kv:create
# 4. Deploy para desenvolvimento
npm run workers:deploy:dev
# 5. Deploy para produção
npm run workers:deploy:prodRecursos do Workers:
- 🔗 REST API:
/deputados/{id}·/proposicoes/{id}·/votacoes/{id}·/eventos/{id} - 🤖 OpenAPI:
/openapi.json - 📊 Health:
/health - 🔐 API Key Authentication: Protegido contra abuso (opcional)
- ⚡ Rate Limiting: Configurável via KV
- 💾 Cache: LRU cache com TTL configurável
Smithery: smithery.yaml para deploy single-click.
🚀 Para ChatGPT MCP
# 1. Deploy no Cloudflare
npm run build
npm run workers:deploy:prod
# 2. Configure no ChatGPT:
# - Server URL: https://your-subdomain.workers.dev
# - O ChatGPT detectará automaticamente OAuth + MCP endpoints🔒 Segurança (Cloudflare Workers)
API Key Authentication:
- Protegidos: Endpoints REST (
/deputados/*,/proposicoes/*,/votacoes/*,/eventos/*) - Não protegidos: Protocolo MCP (
/mcp,/sse) - para compatibilidade com AI assistants
# Configure API key
wrangler secret put MCP_API_KEY
# Use via headers (apenas para endpoints REST):
curl -H "X-API-Key: your-key" https://your-worker.workers.dev/deputados/220593
# ou
curl -H "Authorization: Bearer your-key" https://your-worker.workers.dev/deputados/220593
# Endpoints MCP não precisam de autenticação:
curl -X POST https://your-worker.workers.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'Rate Limiting:
- Configurável via environment variables
- KV-based para escalabilidade
- Desativável com
MCP_DISABLE_RATE_LIMIT=true
VPS/Cloud Server
Para deploy em servidor VPS (Node.js nativo):
# Clone o repositório
git clone https://github.com/cristianoaredes/mcp-camara.git
cd mcp-camara
# Instale dependências
npm install
# Build
npm run build
# Configure variáveis de ambiente
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=3000
# Execute o servidor
node build/lib/bin/mcp-camara.jsOpções de VPS recomendadas:
- 🚀 Hostinger VPS KVM - A partir de 2 vCPU, 4GB RAM
Configuração com PM2 (recomendado):
# Instalar PM2
npm install -g pm2
# Iniciar com PM2
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 pm2 start build/lib/bin/mcp-camara.js --name mcp-camara
# Configurar para iniciar no boot
pm2 startup
pm2 save📚 Documentação
- Guia de Configuração — Variáveis de ambiente e configurações
- Exemplos de Uso — Casos práticos e exemplos
- Documentação da API — Referência completa de ferramentas
- Deploy Cloudflare — Guia de implantação
- Transporte HTTP — Documentação do servidor HTTP
- Transporte SSE — Server-Sent Events
- Solução de Problemas — Problemas comuns
💼 Casos de Uso
- 📊 Análise Legislativa — Acompanhe proposições, votações e atividade parlamentar
- 🔍 Pesquisa Política — Investigue histórico de deputados e partidos
- 📰 Jornalismo de Dados — Extraia dados para reportagens investigativas
- 🎓 Pesquisa Acadêmica — Analise comportamento legislativo e padrões de votação
- 👥 Transparência Pública — Monitore gastos e atividades de deputados
- 🤖 Chatbots Cívicos — Crie assistentes para informação legislativa
🤝 Contribuição
Contribuições são bem-vindas! Por favor, leia CONTRIBUTING.md para detalhes sobre nosso código de conduta e processo de submissão de pull requests.
📄 Licença & Créditos
- MIT License — LICENSE
- Dados fornecidos pela API de Dados Abertos da Câmara dos Deputados
- Baseado no Model Context Protocol
👨💻 Autor
| Cristiano Aredes |
|:---:|
|
|
| LinkedIn · [email protected] |
Made with ❤️ for transparency and civic engagement 🇧🇷
