Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Câmara BRbuscar deputados do estado de São Paulo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🏛️ MCP Câmara BR
Servidor MCP (Model Context Protocol) completo para a API de Dados Abertos da Câmara dos Deputados do Brasil.
Visão Geral
O mcp-camara-br é um servidor MCP que expõe todas as funcionalidades da API de Dados Abertos da Câmara dos Deputados através de tools tipadas, validadas e otimizadas para uso com Large Language Models (LLMs).
Características
✅ Cobertura Completa - Mapeia os principais endpoints da API da Câmara
✅ Validação Rigorosa - Inputs validados com Zod
✅ Cache Inteligente - Sistema de cache em camadas com TTL diferenciado
✅ Rate Limiting - Proteção contra sobrecarga da API
✅ Circuit Breaker - Resiliência a falhas
✅ Métricas - Observabilidade completa (Prometheus-ready)
✅ Type-Safe - 100% TypeScript
✅ Docker Ready - Containerizado e pronto para deploy
🚀 Início Rápido (5 minutos)
1. Instalar dependências
2. Compilar
3. Configurar no Claude Desktop
Edite o arquivo de configuração:
macOS:
Windows:
Linux:
Adicione a configuração:
macOS/Linux:
Windows (use barras duplas
⚠️ Importante para Windows: Use barras duplas ( nos caminhos. Veja o Guia Windows para mais detalhes.
4. Reiniciar Claude Desktop
Feche e abra o Claude Desktop novamente.
Requisitos
Node.js >= 20.0.0
npm ou yarn
📖 Guias de Instalação Detalhados
Escolha o guia apropriado para seu sistema operacional:
Windows 11/10: Veja o Guia de Instalação para Windows
macOS/Linux: Continue com as instruções abaixo ou veja o Guia de Instalação Completo
Início Rápido: Para desenvolvedores experientes, veja Início Rápido
Instalação Completa
Uso com Docker
Uso via HTTP (API REST)
O servidor também pode ser executado em modo HTTP, expondo uma API REST:
Endpoints HTTP
GET /- Informações da APIGET /api/tools- Lista todas as ferramentas disponíveisPOST /api/tools/:toolName- Executa uma ferramentaGET /health- Health checkGET /metrics- Métricas PrometheusGET /metrics/json- Métricas em JSON
Exemplo de Uso HTTP
Configuração
Edite o arquivo .env para personalizar as configurações:
🛠️ Tools Disponíveis (57 tools)
Tools de Ajuda
sugerir_ferramentas- Sugere quais tools usar para uma consultadiagnosticar_consulta- Analisa objetivo e sugere fluxo completo de tools
Deputados (9)
buscar_deputados- Busca deputados por nome, UF, partido, etc.detalhar_deputado- Informações detalhadas de um deputadodespesas_deputado- Despesas da cota parlamentardiscursos_deputado- Discursos proferidoseventos_deputado- Eventos que participoufrentes_deputado- Frentes parlamentares das quais é membroocupacoes_deputado- Histórico de ocupações na Câmaraorgaos_deputado- Órgãos dos quais é membroprofissoes_deputado- Profissões declaradas
Proposições (7)
buscar_proposicoes- Busca proposições legislativas (PLs, PECs, MPs, etc.)detalhar_proposicao- Informações detalhadas de uma proposiçãoautores_proposicao- Lista os autores de uma proposiçãotramitacoes_proposicao- Histórico de tramitaçãovotacoes_proposicao- Votações da proposiçãorelacionadas_proposicao- Proposições relacionadastemas_proposicao- Temas/assuntos da proposição
Votações (5)
buscar_votacoes- Busca votações por período ou proposiçãodetalhar_votacao- Resultado geral de uma votaçãovotos_votacao- Voto individual de cada deputadoorientacoes_votacao- Orientação dos partidosultimas_votacoes- Votações mais recentes
Eventos (6)
buscar_eventos- Busca reuniões e sessões por períododetalhar_evento- Informações de um eventodeputados_evento- Deputados presentespauta_evento- Pauta do eventovotacoes_evento- Votações realizadasorgaos_evento- Órgãos participantes
Órgãos (5)
buscar_orgaos- Busca comissões e órgãosdetalhar_orgao- Informações de um órgãomembros_orgao- Composição atualeventos_orgao- Eventos do órgãovotacoes_orgao- Votações do órgão
Partidos (4)
buscar_partidos- Lista partidosdetalhar_partido- Informações de um partidomembros_partido- Deputados do partidolideres_partido- Liderança do partido
Frentes Parlamentares (3)
buscar_frentes- Busca frentes parlamentaresdetalhar_frente- Informações de uma frentemembros_frente- Membros da frente
Blocos (2)
buscar_blocos- Busca blocos partidáriosdetalhar_bloco- Informações de um bloco
Legislaturas (3)
buscar_legislaturas- Lista legislaturasdetalhar_legislatura- Informações de uma legislaturamesa_legislatura- Mesa Diretora
Referências (5)
situacoes_proposicao- Situações possíveis de proposiçõestipos_proposicao- Tipos de proposições (PL, PEC, etc.)tipos_orgao- Tipos de órgãos da Câmaratipos_evento- Tipos de eventosufs- Unidades Federativas
Análises (6)
analise_presenca- Taxa de presença de deputadosranking_proposicoes- Ranking de proposiçõesanalise_despesas_partido- Despesas agregadas por partidocomparativo_votacoes- Compara votaçõestimeline_tramitacao- Timeline de tramitaçãoexportar_dados- Exporta dados para CSV/JSON
💬 Exemplos de Uso
Buscar Deputados de SP do PT
Ou via JSON:
Buscar Proposições sobre Educação
Ou via JSON:
Frentes Parlamentares de um Deputado
Análise Completa de um Deputado
Despesas de um Deputado
Ou via JSON (usando ID):
Monitoramento
Métricas
O servidor expõe métricas no formato Prometheus:
Logs
Os logs são estruturados em JSON (padrão) ou formato pretty para desenvolvimento:
📁 Estrutura do Projeto
Desenvolvimento
⚡ Performance
O servidor implementa várias otimizações:
Cache em Camadas: Diferentes TTLs por tipo de dado
Rate Limiting: Token bucket algorithm
Circuit Breaker: Previne cascata de falhas
Request Queue: Controla concorrência
Retry Logic: Exponential backoff com jitter
🔄 CI/CD
O projeto possui workflows automatizados do GitHub Actions:
CI (Integração Contínua)
✅ Type checking (TypeScript)
✅ Linting (ESLint)
✅ Formatação (Prettier)
✅ Testes automatizados
✅ Build em Node.js 20.x e 21.x
✅ Build Docker
Release (Publicação)
🚀 Criação automática de releases no GitHub
🚀 Build de imagens Docker em tags
📦 Preparado para publicação no npm (requer configuração)
Configuração:
Os workflows estão em .github/workflows/:
ci.yml- Executado em push/PR para main/developrelease.yml- Executado ao criar tags (v*)
📚 Documentação Completa
Guias
Início Rápido - Comece em 5 minutos
Guia de Instalação e Uso - Instalação e configuração completas
Exemplos e Testes
Exemplos Práticos - Casos de uso com LLMs
Exemplos de Testes - Validação e testes
Especificações
Especificação Técnica Completa - Documentação técnica detalhada
Integrações
Sistema Multi-Agentes n8n - Arquitetura de orquestração de agentes especialistas
Para Desenvolvedores
Guia de Contribuição - Como contribuir com o projeto
Guia para IA (CLAUDE.md) - Instruções para assistentes de IA
Índice Completo
Documentação Organizada - Índice completo de toda documentação
🤝 Contribuindo
Contribuições são muito bem-vindas! Este projeto segue boas práticas de desenvolvimento e possui diretrizes claras para contribuidores.
Antes de contribuir, leia:
CONTRIBUTING.md - Guia completo de contribuição com padrões de código, workflow e boas práticas
Resumo rápido:
Fork o projeto
Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature)Siga os padrões de código (TypeScript strict, ESLint, Prettier)
Escreva testes para novas funcionalidades
Commit usando Conventional Commits (
feat:,fix:, etc.)Push para a branch (
git push origin feature/MinhaFeature)Abra um Pull Request com descrição detalhada
Scripts úteis para desenvolvimento:
Licença
MIT License - veja o arquivo LICENSE para detalhes.
🔗 Links
Suporte
Para reportar bugs ou solicitar features, abra uma issue.
Desenvolvido com ❤️ para democratização de dados públicos