npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@aredes.me/mcp-camara

v1.0.6

Published

Model Context Protocol server for Brazilian Chamber of Deputies (Câmara dos Deputados) Open Data API

Readme

MCP Câmara dos Deputados 🇧🇷

npm version npm downloads TypeScript Cloudflare Workers License: MIT

🏛️ 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 | English


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-camara

Ou execute diretamente com NPX:

npx @aredes.me/mcp-camara

Via 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:

  1. Deploy no Cloudflare Workers: npm run workers:deploy:prod
  2. Configure no ChatGPT:
    • URL do servidor: https://mcp-camara.your-subdomain.workers.dev
    • O ChatGPT detectará automaticamente os endpoints OAuth e MCP
  3. Configure API Key (opcional, via environment variables no Workers)

APIs REST disponíveis:

  • GET /deputados/{id} - Consulta dados de deputado
  • GET /proposicoes/{id} - Consulta dados de proposição
  • GET /votacoes/{id} - Consulta dados de votação
  • GET /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.js

Em 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:prod

Recursos 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

Deploy to Hostinger VPS

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.js

Opções de VPS recomendadas:

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

💼 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

👨‍💻 Autor

| Cristiano Aredes | |:---:| | Cristiano Aredes | | LinkedIn · [email protected] |


Made with ❤️ for transparency and civic engagement 🇧🇷