jev-norma-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jev-norma-mcphaz triaje de esta política y marca riesgos: politica.html"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jev-norma
Triaje normativo LatAm con Jev (System One) como gate. Toma una política de
tratamiento de datos / términos en español (Ley 1581 de 2012, Colombia), normaliza las
cláusulas con heurística 0-IA (sin palabras, determinista), y clasifica cada cláusula
con Jev en choice [obligacion | riesgo | sin_accion] + confidence calibrada, con una
cola de revisión humana fail-open (confianza < 0.8 → humano; nunca matar por Jev solo).
El núcleo es una decisión tipada de Jev (System 1), no generar texto. Jev corre
40-200x más rápido y es órdenes de magnitud más barato que un LLM frontier
($0.00002/cláusula medido).
¿Qué resuelve?
El buyer es pymes / legal-tech LatAm que deben auditar políticas de privacidad y términos
ante la SIC (Colombia) / AEPD (España). Hoy eso es revisión legal manual cara. jev-norma
convierte el documento crudo en un tablero de obligaciones + banderas de riesgo, y solo
enruta a humano lo genuinamente ambiguo.
Related MCP server: genpark-personal-communication-triage-sentinel-skill
Pipeline
documento (HTML/PDF) ──> cláusulas (heurística 0-IA) ──> gate Jev (choice+confidence)
│
confianza < 0.8 ─┴─> cola de revisión humanaNormalizador 0-IA (
jev_norma.normalizer): extracción posicional de contenido (<main>><article>><body>, sin chrome nav/header/footer),<h1..h6>y líneas cortas en mayúsculas como cabeceras de sección, merge de<p>+<li>, descarte de boilerplate (NIT/dirección/www/©/email). Funciona con cualquier CMS (Webflow, WordPress, Drupal…). PDF con capa de texto víapypdf; PDF escaneado vía--ocr(WU11).Gate Jev (
jev_norma.gate): cada cláusula se embebe en la instrucción de su pregunta (self-contained) — regla de state engineering verificada empíricamente. Chunking para respetar el presupuesto de contexto (~32k) y el timeout.Reporte fail-open (
jev_norma.pipeline):choice+confidence+gate_humano.
Instalación
pip install jev-norma # CLI + MCP (stdlib puro, 0-deps)
pip install jev-norma[pdf] # + soporte PDF (pypdf)
pip install jev-norma[ocr] # + OCR PDFs escaneados (pymupdf + visión OpenRouter)Requiere TYPESAFE_API_KEY en ~/.hermes/.env o en el entorno (leída del proceso,
nunca impresa).
CLI
jev-norma --selftest # tests unitarios (sin API)
jev-norma politica.html --no-api # solo normalización (sin gate)
jev-norma politica.html [--sample 12] # normaliza + gate Jev real
jev-norma politica.pdf --output reporte.json
jev-norma politica_escaneada.pdf --ocr --sample 6 # PDF escaneado: OCR visión + gate
jev-norma escaneada.pdf --ocr --ocr-workers 8 # OCR paralelo (WU12) + gate
jev-norma --url https://…/politica.html # fetch resiliente a WAF + normaliza + gate--ocr detecta PDFs sin capa de texto (escaneados/imagen), los transcribe página a
página con un VLM barato vía OpenRouter (z-ai/glm-5.3-flash, visión) y vuelve a
alimentar el pipeline normal sin más cambios; requiere OPENROUTER_API_KEY en
~/.hermes/.env y pip install jev-norma[ocr] (WU11).
--ocr-workers N (default 4) transcribe las páginas de un escaneado en paralelo
(la llamada a la visión es I/O-bound: ~6–19 s/página), preservando siempre el orden
de página en el texto. Medido sobre un escaneado real de 5 páginas: 3.9× más rápido
(82.0 s → 21.2 s) con N=5 (WU12). --ocr-workers 1 reproduce el comportamiento serial.
--url descarga el documento con un fetcher resiliente (User-Agent de navegador real,
rotación de UA ante 403/5xx, reintento de fallos transitorios, declinación clara en 404)
— el patrón con el que se evita el bot-protection que responde 403/000 a urllib pelado
en bancos/SIC/superintendencias colombianas. Luego corre el mismo pipeline local.
MCP server
jev-norma-mcp expone el pipeline como la tool triage sobre stdio (MCP 2024-11-05,
JSON-RPC 2.0, stdlib puro), para que un agente (Hermes/Claude) lo consuma sin UI:
{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"triage","arguments":{"source":"politica.html","sample":12,"api":true}}}Tests
pip install -e .[dev]
pytestCosto medido (API real, 2026-09/10)
Fuente | Cláusulas | Acierto | Costo | Latencia |
Sintético (WU1) | 12 | 11/12 (0.917) | $0.00017 | 12.9s (2 chunks) |
Nequi real (WU2) | 12 | 12/12 (1.0) | $0.00022 | 377 ms |
Banrep real no-Webflow (WU4/WU5) | 23 | gate fail-open | $0.00019 | 411 ms |
Licencia
MIT. Proyecto open-source — tracción/redistribución, no venta directa.
This server cannot be deployed
Maintenance
Related MCP Connectors
Claim-level provenance preflight for sanitized nonfiction passages; automated triage only.
Deterministic trust gate for AI output: leaked-secret, prompt-injection & PII in one call.
Typed-question decisions from Jev: classify, moderate, route models and guard tool calls.
Calibrated judgments for text: yes/no probabilities, picks from your options, or scores.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables MCP-compatible agent hosts to interact with TypeSafe AI's Jev System One API through dependency-free STDIO tools for classification, scoring, verification, gating, routing, review, and health checks.937 PyPIMIT
- FlicenseNot gradedqualityBmaintenanceEnables agents to triage personal communications and email through multi-factor urgency scoring, VIP filtering, and context-aware executive auto-drafting. Runs deterministically as a zero-dependency MCP server over JSON-RPC stdio, avoiding LLM round-trips for routine triage tasks.7-
- AlicenseNot gradedqualityBmaintenanceEnables maintainers to batch-triage local Issue JSON, optionally invoke the Jev model, and calibrate plus held-out evaluate a policy that gates which predictions may be auto-accepted versus sent to human review. Also supports task and usage checks with call limits, without editing issues, applying labels, or posting comments.1MIT
- AlicenseNot gradedqualityAmaintenanceExposes three decision tools over MCP stdio that return typed judgments — yes/no, choice, and score — with calibrated probabilities instead of prose. Runs on an offline mock unless a live provider credential is supplied, with a per-feature egress report printed to stderr.66 npmApache 2.0