Skip to main content
Glama
karnagge

MCP DivulgaCandContas Server

by karnagge

consultar_prestador_contas

Retrieve Brazilian candidate campaign finance accountability information by providing election year, municipality, and candidate details.

Instructions

Consulta informações sobre prestação de contas de um candidato

Input Schema

NameRequiredDescriptionDefault
anoYesAno da eleição (ex: 2020)
candidatoYesCódigo do candidato
cargoYesCódigo do cargo
eleicaoYesCódigo da eleição
municipioYesCódigo do município

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" }, "cargo": { "description": "Código do cargo", "type": "number" }, "eleicao": { "description": "Código da eleição", "type": "number" }, "municipio": { "description": "Código do município", "type": "number" } }, "required": [ "eleicao", "ano", "municipio", "cargo", "candidato" ], "type": "object" }

Implementation Reference

  • Handler function for the 'consultar_prestador_contas' tool. Parses input parameters using ConsultaPrestadorSchema, fetches data from the API endpoint `/prestador/consulta/...`, and returns formatted response content.
    case "consultar_prestador_contas": { const params = ConsultaPrestadorSchema.parse(args); const data = await handleApiRequest(() => httpClient.get(`/prestador/consulta/${params.eleicao}/${params.ano}/${params.municipio}/${params.cargo}/90/90/${params.candidato}`) ); return { content: [ { type: "text", text: `Informações de prestação de contas:\n\n` + `Candidato: ${data.nomeCompleto || 'N/A'}\n` + `Partido: ${data.nomePartido || 'N/A'} (${data.siglaPartido || 'N/A'})\n` + `CNPJ: ${data.cnpj || 'N/A'}\n` + `Total Recebido: R$ ${data.dadosConsolidados?.totalRecebido || 0}\n` + `Total Despesas: R$ ${data.despesas?.totalDespesasPagas || 0}\n\n` + `Detalhes completos:\n${JSON.stringify(data, null, 2)}` } ] }; }
  • Zod schema used for input validation in the 'consultar_prestador_contas' tool handler.
    const ConsultaPrestadorSchema = z.object({ eleicao: z.number().int(), ano: z.number().int().min(2000).max(new Date().getFullYear()), municipio: z.number().int(), cargo: z.number().int(), candidato: z.number().int() });
  • src/index.ts:205-236 (registration)
    Tool registration in the ListToolsRequest handler, defining name, description, and input schema matching the Zod schema.
    { name: "consultar_prestador_contas", description: "Consulta informações sobre prestação de contas de um candidato", inputSchema: { type: "object", properties: { eleicao: { type: "number", description: "Código da eleição" }, 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" }, cargo: { type: "number", description: "Código do cargo" }, candidato: { type: "number", description: "Código do candidato" } }, required: ["eleicao", "ano", "municipio", "cargo", "candidato"] } }
  • Helper function used by the tool handler to make API requests and handle errors uniformly.
    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