Skip to main content
Glama
karnagge

MCP DivulgaCandContas Server

by karnagge

consultar_candidato

Retrieve detailed information about a specific candidate using election year, municipality code, election code, and candidate ID to access Brazilian electoral data.

Instructions

Consulta informações detalhadas sobre um candidato específico

Input Schema

NameRequiredDescriptionDefault
anoYesAno da eleição (ex: 2020)
candidatoYesCódigo do candidato
eleicaoYesCódigo da eleição (ex: 2030402020 para eleições municipais de 2020)
municipioYesCódigo do município (ex: 35157 para São Paulo)

Input Schema (JSON Schema)

{ "properties": { "ano": { "description": "Ano da eleição (ex: 2020)", "maximum": 2025, "minimum": 2000, "type": "number" }, "candidato": { "description": "Código do candidato", "type": "number" }, "eleicao": { "description": "Código da eleição (ex: 2030402020 para eleições municipais de 2020)", "type": "number" }, "municipio": { "description": "Código do município (ex: 35157 para São Paulo)", "type": "number" } }, "required": [ "ano", "municipio", "eleicao", "candidato" ], "type": "object" }

Implementation Reference

  • Handler for the 'consultar_candidato' tool: parses input arguments using ConsultaCandidatoSchema, makes API request to fetch candidate details, formats response with key info and full JSON.
    case "consultar_candidato": { const params = ConsultaCandidatoSchema.parse(args); const data = await handleApiRequest(() => httpClient.get(`/candidatura/buscar/${params.ano}/${params.municipio}/${params.eleicao}/candidato/${params.candidato}`) ); return { content: [ { type: "text", text: `Informações do candidato:\n\n` + `Nome: ${data.nomeCompleto || data.nomeUrna || 'N/A'}\n` + `Número: ${data.numero || 'N/A'}\n` + `Partido: ${data.partido?.nome || 'N/A'} (${data.partido?.sigla || 'N/A'})\n` + `Cargo: ${data.cargo?.nome || 'N/A'}\n` + `Situação: ${data.descricaoSituacao || 'N/A'}\n\n` + `Detalhes completos:\n${JSON.stringify(data, null, 2)}` } ] }; }
  • Zod schema defining input parameters for consultar_candidato: ano, municipio, eleicao, candidato.
    const ConsultaCandidatoSchema = z.object({ ano: z.number().int().min(2000).max(new Date().getFullYear()), municipio: z.number().int(), eleicao: z.number().int(), candidato: z.number().int() });
  • src/index.ts:120-147 (registration)
    Registration of the 'consultar_candidato' tool in the ListTools response, providing name, description, and input schema.
    { name: "consultar_candidato", description: "Consulta informações detalhadas sobre um candidato específico", inputSchema: { type: "object", properties: { ano: { type: "number", description: "Ano da eleição (ex: 2020)", minimum: 2000, maximum: new Date().getFullYear() }, municipio: { type: "number", description: "Código do município (ex: 35157 para São Paulo)" }, eleicao: { type: "number", description: "Código da eleição (ex: 2030402020 para eleições municipais de 2020)" }, candidato: { type: "number", description: "Código do candidato" } }, required: ["ano", "municipio", "eleicao", "candidato"] } },
  • Helper function used by the handler to make API requests and handle errors gracefully.
    async function handleApiRequest(request: () => Promise<any>): Promise<any> { try { const response = await request(); return response.data; } catch (error) { if (axios.isAxiosError(error)) { if (error.response?.status === 404) { throw new Error("Dados não encontrados para os parâmetros informados"); } throw new Error(`Erro na API: ${error.response?.status} - ${error.response?.statusText}`); } throw new Error(`Erro inesperado: ${error}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/karnagge/mcpcand'

If you have feedback or need assistance with the MCP directory API, please join our Discord server