onpe-mcp (oscarzamora/onpe-mcp) is an MCP server listed on the M8ven Trust Index. It scores 69 out of 100, grade C. It declares 58 tools. No publisher has claimed this listing.

C
Limited view
69/100

onpe-mcp

MCP server for querying Peruvian electoral data (ONPE) including mesa results, candidate votes, and regional statistics. Enables natural language queries about the 2026 presidential election with local SQLite cache and live API fallback.

Limited view. Automated analysis covers part of this stack. Findings reflect what we verified. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

Limited view: static analysis for Python is partially covered.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

oscarzamora

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configONPE_SCRAPER_REPO_URL
configONPE_SOURCE_DIR$ONPE_SCRAPER_ROOT/source_data Datos crudos del scraper 1V
configONPE_OUTPUT_DIR$ONPE_SCRAPER_ROOT/output Datos procesados del scraper 1V
configONPE_DATA_DIR./data Directorio de la base SQLite y eventos
configONPE_LOG_LEVELINFO Nivel de logging
configONPE_MAX_BATCH_SIZE200 Límite de lote en onpe_get_mesas_batch
configONPE_CACHE_TTL_SECONDS900 TTL del cache individual de mesa (segundos)
configONPE_GEO_QUERY_CACHE_TTL_SECONDS300 TTL del cache de queries geográficas (segundos)
configONPE_AUTO_SYNC_FOREIGN_CATALOG_ON_DEMANDfalse Sincroniza catálogo extranjero bajo demanda (requiere desactivar local-only)
configONPE_LOCAL_ONLYtrue Modo estricto local-only: deshabilita lecturas live de ONPE y sync live
configONPE_BOOTSTRAP_ON_STARTUPtrue Refresca desde scraper al arrancar
configONPE_BOOTSTRAP_INCLUDE_VOTEStrue Incluye votos en el snapshot
configONPE_AUTO_HYDRATE_ON_DEMANDfalse Hidrata mesas faltantes bajo demanda (requiere desactivar local-only)
configONPE_AUTO_HYDRATE_MAX_MESAS20 Máximo de mesas a hidratar bajo demanda por consulta
configONPE_ATU_MANERA_BOOTSTRAPfalse Fuerza descarga CSV ATuManera al inicio
configONPE_ATU_MANERA_CSV_PATH_(opcional)_ Ruta local al CSV ATuManera (evita descarga)
configONPE_SV_OUTPUT_DIR$ONPE_SV_SCRAPER_ROOT/output Mesas, votos, ubicaciones, reasignados 2V 2026
configONPE_SV_RESUMEN_DIR$ONPE_SV_SCRAPER_ROOT/resumen Agregados pre-computados nacional/depto/provincia 2V 2026
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

58/58 tools missing one or more hints — onpe_get_mesa (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); onpe_get_mesas_batch (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); onpe_health (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +55 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

46/58 tool handlers declare input schemas (79%)

Declare an inputSchema with zod/joi/yup on every tool definition.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/oscarzamora/onpe-mcp)](https://m8ven.ai/mcp/oscarzamora/onpe-mcp)
Shows your grade and updates automatically. Prefer no grade? Append ?variant=verified to the badge URL.
commit: 4adeeba097af9dd6633fccbf2e6f58ca9df9771e
code hash: 52c6488030eae8b270d254b97eb30b7946b4eb04f1f04d0b80b1bae3a20516c2
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client