MCP DivulgaCandContas Server
Click on "Deploy 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 DivulgaCandContas Server list candidates for mayor in São Paulo 2020"
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 DivulgaCandContas Server
Um servidor MCP (Model Context Protocol) que implementa todos os serviços da API DivulgaCandContas do TSE (Tribunal Superior Eleitoral), permitindo consultas sobre candidaturas e prestação de contas eleitorais.
Funcionalidades
Este servidor implementa as seguintes ferramentas (tools) baseadas na API oficial do TSE:
🏛️ Candidaturas
listar_candidatos_municipio: Lista todos os candidatos em um município específico
consultar_candidato: Consulta informações detalhadas de um candidato
🗳️ Eleições
listar_anos_eleitorais: Lista anos eleitorais disponíveis
listar_eleicoes_ordinarias: Lista eleições ordinárias disponíveis
listar_eleicoes_suplementares: Lista eleições suplementares por estado/ano
listar_cargos_municipio: Lista cargos em disputa em um município
💰 Prestação de Contas
consultar_prestador_contas: Consulta informações de prestação de contas de candidatos
Related MCP server: Certidão de Crimes Eleitorais (TSE)
Instalação e Uso
Script de Gerenciamento (Recomendado)
Este projeto inclui um script de gerenciamento que facilita todas as operações:
# Tornar o script executável (apenas uma vez)
chmod +x mcp-server.sh
# Ver todas as opções disponíveis
./mcp-server.sh help
# Construir o projeto
./mcp-server.sh build
# Executar localmente
./mcp-server.sh run
# Construir e executar com Docker
./mcp-server.sh build-docker
./mcp-server.sh run-docker
# Executar testes
./mcp-server.sh test
# Ver configuração para Claude Desktop
./mcp-server.sh config
# Limpar arquivos gerados
./mcp-server.sh clean📦 Imagem Docker
A imagem Docker está disponível no Docker Hub:
🔗 Docker Hub: karnagge/mcp-divulgacandcontas
📋 Tags disponíveis:
latest- Versão mais recentev1.0.0- Versão estável 1.0.0
💾 Tamanho: ~227MB (otimizada com Alpine Linux)
🔧 Uso rápido:
docker run -it --rm karnagge/mcp-divulgacandcontas:latestVia Docker
Opção 1: Usar imagem pré-construída (Recomendado)
# Baixar e executar diretamente do Docker Hub
docker run -it --rm karnagge/mcp-divulgacandcontas:latest
# Ou executar como daemon
docker run -d --name mcp-server -p 3000:3000 karnagge/mcp-divulgacandcontas:latestOpção 2: Build local
Clone o repositório:
git clone https://github.com/karnagge/mcpcand.git cd mcpcandBuild da imagem:
docker build -t mcp-divulgacandcontas .Execute o container:
docker run -p 3000:3000 mcp-divulgacandcontas
Instalação Local
Instalar dependências:
npm install
# OU usando o script
./mcp-server.sh buildCompilar TypeScript:
npm run buildExecutar servidor:
npm start
# OU usando o script
./mcp-server.sh runModo Desenvolvimento
npm run dev
# OU usando o script para desenvolvimento contínuo
npm run watch # Em um terminal
./mcp-server.sh run # Em outro terminalConfiguração com Claude Desktop
Para usar este servidor com Claude Desktop, adicione a seguinte configuração ao seu claude_desktop_config.json:
Usando Docker
{
"mcpServers": {
"divulgacandcontas": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"mcp-divulgacandcontas-server:latest"
]
}
}
}Usando Node.js Local
{
"mcpServers": {
"divulgacandcontas": {
"command": "node",
"args": ["/caminho/absoluto/para/build/index.js"]
}
}
}Usando NPX (se publicado)
{
"mcpServers": {
"divulgacandcontas": {
"command": "npx",
"args": ["-y", "mcp-divulgacandcontas-server"]
}
}
}Uso das Ferramentas
Exemplo: Listar candidatos de São Paulo em 2020
// Parâmetros necessários
{
"ano": 2020,
"municipio": 35157, // Código de São Paulo
"eleicao": 2030402020, // Eleições municipais 2020
"cargo": 11 // Prefeito
}Exemplo: Consultar informações de um candidato
{
"ano": 2020,
"municipio": 35157,
"eleicao": 2030402020,
"candidato": 123456 // Código do candidato
}Exemplo: Listar eleições suplementares em São Paulo
{
"ano": 2020,
"uf": "SP"
}API Base
Este servidor consulta a API oficial do TSE:
Base URL:
https://divulgacandcontas.tse.jus.br/divulga/rest/v1Documentação: Swagger da API
Estrutura do Projeto
mcp-divulgacandcontas-server/
├── src/
│ └── index.ts # Servidor MCP principal
├── build/ # Código compilado (gerado)
├── Dockerfile # Configuração Docker
├── docker-compose.yml # Configuração Docker Compose
├── package.json # Dependências e scripts
├── tsconfig.json # Configuração TypeScript
└── README.md # Esta documentaçãoDesenvolvimento
Scripts Disponíveis
npm run build- Compila TypeScriptnpm run start- Executa servidor compiladonpm run dev- Compila e executa em modo desenvolvimentonpm run watch- Monitora mudanças e recompila automaticamentenpm run clean- Remove arquivos compilados
Dependências Principais
@modelcontextprotocol/sdk: SDK oficial do MCP
zod: Validação de schemas
axios: Cliente HTTP para chamadas à API do TSE
Segurança e Limitações
✅ Dados públicos oficiais do TSE
✅ Timeout configurado (30s) para requisições
✅ Validação rigorosa de parâmetros com Zod
✅ Tratamento de erros da API
⚠️ Sujeito a limitações de rate limit da API do TSE
⚠️ Dados disponíveis conforme cronograma do TSE
Códigos Úteis
Códigos de Eleição Comuns
2030402020: Eleições Municipais 20202030402024: Eleições Municipais 20242030602022: Eleições Gerais 2022
Códigos de Cargo Comuns
11: Prefeito13: Vice-prefeito51: Vereador1: Presidente3: Governador5: Senador6: Deputado Federal7: Deputado Estadual
Estados (UF)
Use a sigla de 2 letras: SP, RJ, MG, RS, etc.
Suporte
Este servidor implementa todos os endpoints documentados na API DivulgaCandContas do TSE. Para problemas ou dúvidas:
Verifique se os parâmetros estão corretos (ano, códigos de município, etc.)
Consulte a documentação oficial da API do TSE
Verifique se o serviço do TSE está disponível
Licença
MIT License - veja o arquivo LICENSE para detalhes.
Nota: Este é um projeto independente que utiliza a API pública do TSE. Não possui afiliação oficial com o Tribunal Superior Eleitoral.
Available Tools
7 toolsconsultar_candidatoC
Consulta informações detalhadas sobre um candidato específico
Inputs: ano (required), municipio (required), eleicao (required), candidato (required).
consultar_prestador_contasC
Consulta informações sobre prestação de contas de um candidato
Inputs: eleicao (required), ano (required), municipio (required), cargo (required), +1 more.
listar_anos_eleitoraisB
Lista todos os anos eleitorais disponíveis no sistema
Inputs: no named parameters.
listar_candidatos_municipioB
Lista todos os candidatos para eleições em um município específico
Inputs: ano (required), municipio (required), eleicao (required), cargo (required).
listar_cargos_municipioC
Lista os cargos em disputa em um município específico
Inputs: eleicao (required), municipio (required).
listar_eleicoes_ordinariasB
Lista todas as eleições ordinárias disponíveis para consulta
Inputs: no named parameters.
listar_eleicoes_suplementaresC
Lista eleições suplementares em um estado e ano específicos
Inputs: ano (required), uf (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Every tool has a clearly distinct purpose with no overlap. The tools target different resources (candidates, accounts, years, municipalities, positions, elections) and actions (consult, list), making misselection unlikely. For example, consultar_candidato retrieves detailed candidate info while listar_candidatos_municipio lists candidates by municipality.
Tool names follow a perfectly consistent verb_noun pattern in Portuguese (consultar_X, listar_X). All tools use snake_case uniformly, with clear verb choices (consultar for detailed queries, listar for enumerations). This predictability helps agents understand tool purposes at a glance.
Seven tools is well-scoped for an electoral data server, covering core queries without bloat. Each tool earns its place by addressing distinct aspects like candidates, accounts, years, municipalities, positions, and election types. This count allows comprehensive coverage while remaining manageable.
The toolset provides strong coverage for querying electoral data, with tools for candidates, accounts, years, municipalities, positions, and elections. A minor gap exists in update/delete operations, but this is reasonable for a read-only public data server. Agents can retrieve comprehensive information without dead ends.
Related MCP Connectors
Tribunal TSE: Situação Eleitoral, official-source lookup. Platform-hosted, pay per query with prepai
Tribunal TSE: Título Eleitoral, official-source lookup. Platform-hosted, pay per query with prepaid
Tribunal TSE: Doadores e Fornecedores, official-source lookup. Platform-hosted, pay per query with p
Looks up a person's voter ID and polling place at the Electoral Court (TSE) from the name, CPF, vote
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables querying a person's electoral situation in Brazil (TSE) using name, birth date, CPF and voter ID. Allows checking if the voter registration is regular or irregular.MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying the Brazilian Superior Electoral Court (TSE) for electoral crimes certificates of individuals using personal data like name, CPF, voter ID, and birth date.MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying and retrieving Brazilian electoral clearance certificates (Certidão de Quitação Eleitoral) from the TSE using CPF, name, voter ID, birth date, and filiation. It provides a single read-only tool via MCP for integration with AI assistants.MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Brazilian voter registration (título eleitoral) information from the official TSE source through a single read-only MCP tool.MIT