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.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (10)
- HIGH
- MEDIUMin eleicoes_buscar_candidato
- LOWin eleicoes_totais
- LOWin eleicoes_comparar_turnos
- LOWin eleicoes_timeline_divulgacao
- LOWin eleicoes_conferir_bu_impresso
- LOWin eleicoes_verificar_hash
- LOWin eleicoes_buscar_candidato
- LOWin connect
- INFOin eleicoes_buscar_candidato
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"eleicoes-mcp": {
"url": "https://api.mcp.ai/p_eleicoes"
}
}
}Remote-Endpunkte
https://api.mcp.ai/p_eleicoesstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"ano": {
"type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_version
Show the current MCP platform and adapter versions.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis