Eleições 2026: Dados Públicos do TSE
Brazil 2026 election data from the TSE: ballot box reports, logs, results, SHA-256 and source link.
사용해야 할까요
품질 및 안전성
발견 사항 (10)
- HIGH
- MEDIUMeleicoes_buscar_candidato에서
- LOWeleicoes_totais에서
- LOWeleicoes_comparar_turnos에서
- LOWeleicoes_timeline_divulgacao에서
- LOWeleicoes_conferir_bu_impresso에서
- LOWeleicoes_verificar_hash에서
- LOWeleicoes_buscar_candidato에서
- LOWconnect에서
- INFOeleicoes_buscar_candidato에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"eleicoes-mcp": {
"url": "https://api.mcp.ai/p_eleicoes"
}
}
}원격 엔드포인트
https://api.mcp.ai/p_eleicoesstreamable-http할 수 있는 일
도구 목록
도구 (21)
🟢eleicoes_consultar_secao(ano, turno, uf, municipio, zona, ...)
Boletim de urna (BU) oficial de uma seção eleitoral nas eleições 2026: votos por candidato, brancos, nulos, aptos, comparecimento, abertura e encerramento (hora local e de Brasília), biometria em contagem agregada, código de carga e, quando houver, o resumo do log da urna por hora. Traz o SHA-256 e o link oficial do arquivo do TSE.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"zona": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"secoes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"zona": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"required": [
"uf",
"municipio",
"zona",
"secao"
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_votos_por_horario(ano, turno, uf, municipio, de, ...)
Votos computados por faixa de horário (Brasília) no 2º turno, contados nos logs de urna, por UF, por município ou com uf 'BR' para todas as UFs lado a lado. Informa quantas seções têm log no acervo em cada UF: a soma cobre só essas seções. Lista os logs de origem com SHA-256.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"de": {
"type": "string"
},
"ate": {
"type": "string"
},
"intervalo_minutos": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 10
},
{
"type": "number",
"const": 15
},
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 60
}
]
}
},
"required": [
"uf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_totais(ano, turno, nivel, codigo, uf, ...)
Totais oficiais por candidato (votos, % dos válidos, brancos, nulos, comparecimento, abstenções, seções totalizadas) no Brasil, numa UF ou num município, da última versão coletada do arquivo de resultado do TSE.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"nivel": {
"type": "string",
"enum": [
"br",
"uf",
"municipio"
]
},
"codigo": {
"type": "string"
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"cargo": {
"type": "string",
"enum": [
"presidente",
"governador"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_comparar_turnos(ano, uf, municipio, zona, secao, ...)
1º e 2º turno lado a lado, só números: do Brasil, de uma UF ou de um município (totais oficiais) ou de uma seção (boletim de urna), com a subtração 2º − 1º em cada campo e a conferência de que as variações somam a variação do eleitorado. Sem interpretação.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"zona": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"cargo": {
"type": "string",
"enum": [
"presidente",
"governador"
]
}
},
"required": [
"uf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_timeline_divulgacao(ano, uf, cargo, agrupar, max_pontos, ...)
Linha do tempo da divulgação do 2º turno no Brasil ou numa UF: cada versão do arquivo de resultado publicada pelo TSE (ou uma linha por hora, com os votos ganhos na hora), com % de seções totalizadas, votos por candidato, número da versão e SHA-256. Diz a partir de que horário o acervo tem dados.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"uf": {
"type": "string"
},
"cargo": {
"type": "string",
"enum": [
"presidente",
"governador"
]
},
"agrupar": {
"type": "string",
"enum": [
"versao",
"hora"
]
},
"max_pontos": {
"type": "number"
},
"de": {
"type": "string"
},
"ate": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_conferir_bu_impresso(ano, codigo_carga, turno, uf, municipio, ...)
Devolve o boletim de urna oficial de uma seção, campo a campo, para comparar com um BU impresso. Localize pelo código de carga impresso no papel ou por UF + município + zona + seção. Não lê foto: a comparação é de quem consulta.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"codigo_carga": {
"type": "string"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"zona": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"codigo_carga": {
"type": "string"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"zona": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_verificar_hash(ano, sha256, arquivo, itens)
Diz se um SHA-256 é igual ao de um arquivo oficial do TSE no acervo e qual é o arquivo; ou, dado o nome do arquivo (ex.: o03221pr7691000660045-bu.dat, br-c0001-e006258-u.json), devolve o SHA-256 registrado.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"sha256": {
"type": "string"
},
"arquivo": {
"type": "string"
},
"itens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sha256": {
"type": "string"
},
"arquivo": {
"type": "string"
}
}
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_filtrar_secoes(ano, turno, uf, municipio, filtros, ...)
Filtra e agrega seções (presidente) sem SQL, no servidor: filtros {campo, op, valor} (ex.: encerramento > '18:00', votos_13, comparecimento, abstencao_pct, sem_biometria_pct, votos_log_desde_17h), agrupar_por (uf, municipio, zona, hora_encerramento, hora_abertura) e metricas (contagem, soma:<campo>, media:<campo>, min:<campo>, max:<campo>). Sem uf nem municipio só agrega. Sempre devolve total_encontrado; listagem paginada (padrão 50, máximo 500), com o sha256 do BU de cada seção do 2º turno.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"filtros": {
"type": "array",
"items": {
"type": "object",
"properties": {
"campo": {
"type": "string",
"enum": [
"municipio",
"zona",
"secao",
"aptos",
"comparecimento",
"abstencao_pct",
"abertura",
"encerramento",
"votos_13",
"votos_22",
"votos_outros",
"brancos",
"nulos",
"compareceram_sem_biometria",
"sem_biometria_pct",
"votos_log_desde_17h",
"tem_log"
]
},
"op": {
"type": "string",
"enum": [
"=",
"!=",
">",
">=",
"<",
"<=",
"entre",
"em",
"contem"
]
},
"valor": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
]
}
},
"required": [
"campo",
"op",
"valor"
]
}
},
"agrupar_por": {
"type": "string",
"enum": [
"uf",
"municipio",
"zona",
"hora_encerramento",
"hora_abertura"
]
},
"metricas": {
"type": "array",
"items": {
"type": "string"
}
},
"ordenar": {
"type": "object",
"properties": {
"campo": {
"type": "string"
},
"direcao": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"campo"
]
},
"limite": {
"type": "number"
},
"cursor": {
"type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_exportar_csv(ano, turno, uf, municipio, filtros)
Mesmo recorte de filtrar_secoes, numa UF (opcionalmente um município), exportado como CSV completo: devolve um link que expira em 24 h, o sha256 do CSV e as linhas. Até 200 mil linhas por exportação. Para abrir no Excel ou no Python.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"uf": {
"type": "string"
},
"municipio": {
"type": "string"
},
"filtros": {
"type": "array",
"items": {
"type": "object",
"properties": {
"campo": {
"type": "string",
"enum": [
"municipio",
"zona",
"secao",
"aptos",
"comparecimento",
"abstencao_pct",
"abertura",
"encerramento",
"votos_13",
"votos_22",
"votos_outros",
"brancos",
"nulos",
"compareceram_sem_biometria",
"sem_biometria_pct",
"votos_log_desde_17h",
"tem_log"
]
},
"op": {
"type": "string",
"enum": [
"=",
"!=",
">",
">=",
"<",
"<=",
"entre",
"em",
"contem"
]
},
"valor": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
]
}
},
"required": [
"campo",
"op",
"valor"
]
}
}
},
"required": [
"uf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_esquema(ano)
Tabelas e colunas públicas do banco SQL deste MCP (secoes, municipios, totais_municipio, candidatos, votos_por_minuto, fontes), com o significado de cada coluna, 5 consultas de exemplo e os arquivos do TSE de origem (sha256). Chame antes de eleicoes_consulta_sql.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_consulta_sql(ano, sql, limite)
Executa UM SELECT (ou WITH … SELECT) somente leitura nas tabelas públicas da eleição (veja eleicoes_esquema antes). Um pré-voo pelo plano do SQLite estima as linhas lidas e recusa acima de 5 milhões sem executar, com sugestões para estreitar. Timeout de 5 s; até 1.000 linhas (padrão 100), com o SQL executado, o tempo e as linhas lidas.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"sql": {
"type": "string"
},
"limite": {
"type": "number"
}
},
"required": [
"sql"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_estimar_sql(ano, sql)
Só o pré-voo da eleicoes_consulta_sql, sem executar: valida o SELECT, mostra o plano, as linhas estimadas por tabela e se seria recusado (limite de 5 milhões de linhas lidas).
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"sql": {
"type": "string"
}
},
"required": [
"sql"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_buscar_candidato(ano, termos, cargo, uf)
Candidatos de todos os cargos de 2026 (presidente, governador, senador, deputados) por nome de urna ou número: partido, cargo, UF, situação e votos do 1º turno somados dos boletins de urna, com os municípios onde mais teve voto quando a busca acha um só. Presidente e governador trazem também o 2º turno oficial. Só dados públicos de candidatura (sem CPF, nascimento ou e-mail).
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"termos": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"cargo": {
"type": "string",
"enum": [
"presidente",
"governador",
"senador",
"deputado federal",
"deputado estadual",
"deputado distrital"
]
},
"uf": {
"type": "string"
}
},
"required": [
"termos"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_cobertura(ano, turno)
Quanto do acervo existe: seções com boletim de urna (BU) e com log de urna por UF, sobre o total de seções do TSE, e a hora da última sincronização. Use antes de tirar conclusão de dado por seção ou por horário; os totais oficiais da divulgação não dependem disso.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
},
"turno": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eleicoes_como_ler(ano)
Glossário curto e neutro: boletim de urna, log de urna, código de carga, por que algumas seções fecham depois das 17h, prorrogação, fuso, biometria agregada, versões do arquivo e SHA-256. Mostra também a cobertura do acervo.
입력 스키마
{
"type": "object",
"properties": {
"ano": {
"type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_version
Show the current MCP platform and adapter versions.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡report_bug(message, context, conversation)
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
입력 스키마
{
"type": "object",
"properties": {
"message": {
"type": "string"
},
"context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
}
},
"required": [
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢connect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡marketplace(action, query, mcp_id, limit, tier_slug, ...)
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
입력 스키마
{
"type": "object",
"properties": {
"action": {
"default": "search",
"type": "string",
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
]
},
"query": {
"default": "",
"type": "string"
},
"mcp_id": {
"default": "",
"type": "string"
},
"limit": {
"default": 10,
"type": "number"
},
"tier_slug": {
"default": "",
"type": "string"
},
"immediate": {
"default": false,
"type": "boolean"
},
"cancel_reason": {
"type": "string",
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
]
},
"cancel_comment": {
"default": "",
"type": "string"
},
"message": {
"default": "",
"type": "string"
},
"report_context": {
"default": "",
"type": "string"
},
"conversation": {
"default": "[]",
"type": "string"
},
"request_name": {
"default": "",
"type": "string"
},
"request_details": {
"default": "",
"type": "string"
},
"tool_id": {
"default": "",
"type": "string"
},
"arguments": {
"default": "{}",
"type": "string"
},
"prompt_slug": {
"default": "",
"type": "string"
},
"prompt_vars": {
"default": "{}",
"type": "string"
},
"prompt_category": {
"default": "",
"type": "string"
},
"prompt_tool": {
"default": "",
"type": "string"
},
"prompt_title": {
"default": "",
"type": "string"
},
"prompt_description": {
"default": "",
"type": "string"
},
"prompt_body": {
"default": "",
"type": "string"
},
"prompt_targets": {
"default": [],
"type": "array",
"items": {
"type": "string",
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡authenticate(token)
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
입력 스키마
{
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거