Operator ETL
Operator ETL
Recepción de datos agentiva para FOIA y comentarios públicos — almacén medallón determinista, orquestación LangGraph, superficie de herramientas MCP, plano de políticas de PII.
Python y SQL deciden qué datos existen. Los agentes orquestan dentro de límites tipados. Las pruebas demuestran los invariantes — no se requiere clave API de LLM para la demostración MVP.
Construido para agencias gubernamentales y organismos regulados que deben recibir comentarios públicos, detectar PII antes de la publicación, poner en cuarentena filas incorrectas y producir información defendible (cada número verificado contra el almacén).
Documentación
Wiki (buscable): https://khaosans.github.io/operator-etl/
Empiece aquí | Enlace |
Véalo en acción | Tour visual (capturas de pantalla) |
Primera ejecución | INICIO RÁPIDO — |
Para quién es | |
UI del producto (más tarde) | PRODUCT-UX — ESPECIFICADO, no esta demo |
Verificar en un comando
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shInstala uv si falta, sincroniza dependencias, ejecuta la puerta de prueba completa. El éxito termina con OPERATOR_ETL_VERIFY=PASS.
Esperado: 41 pruebas pytest pasan, la demo FOIA imprime status=complete y silver=10. Conjunto completo de capturas: docs/TOUR.md.



flowchart LR
Verify[verify.sh] --> UV[uv sync]
UV --> E2E[e2e gate]
E2E --> Pass[OPERATOR_ETL_VERIFY=PASS]¿Ya tienes uv? make e2e · Detalles: docs/QUICKSTART.md · Paso a paso: docs/WALKTHROUGH.md
flowchart LR
subgraph problem [The usual demo]
A[Chatbot + SQL] --> W[(Warehouse)]
A --> M[Memo with KPIs]
end
subgraph fail [Three failures]
F1[PII in context]
F2[Hallucinated counts]
F3[No replay audit]
end
M --> failOperator ETL separa el ETL determinista de los agentes acotados. PII nunca llega a herramientas sin restricciones; el crítico rechaza números de información que no están en oro; bronce te da una pista de auditoría inmutable.
Inmersión profunda: docs/WHY.md · Flujo de trabajo de agencia: docs/FOIA-Public-Comments-Guide.md
Cómo funciona — tres planos
flowchart TB
subgraph data [Data plane]
direction TB
CSV[CSV intake] --> Bronze[bronze_raw]
Bronze --> Silver[silver validated]
Bronze --> Quarantine[quarantine]
Silver --> Gold[gold SQL marts]
end
subgraph policy [Policy plane]
PII[PII scan + vault]
Bronze --> PII
end
subgraph control [Control plane]
Graph[LangGraph]
MCP[MCP allowlist]
Critic[critic]
Graph --> MCP --> Gold
Graph --> Critic --> Insight[verified insight]
endPlano | Rol |
Datos | Bronce (inmutable) → plata (validado) → oro (marts SQL) + cuarentena. Python y SQL ejecutan; sin LLM en filas crudas. |
Políticas | Escaneo de PII, bóveda cifrada, cierre ante fallo antes de la información. La bóveda nunca se expone a través de MCP. |
Control | Pipeline LangGraph, herramientas permitidas en MCP, crítico verifica cada número en el borrador de información. |
Detalles: docs/HOW-IT-WORKS.md · okf/models/three-planes.md
¿Por qué no darle al chatbot tu almacén?
Confianza y prueba
Pregunta | Respuesta |
¿Funciona localmente? |
|
¿Qué prueba la CI? | La misma puerta en cada push (insignia arriba) |
¿Qué no se prueba en CI? | Despliegue en vivo en GCP, Presidio PII, información generada por LLM — ver auditoría honesta |
Matriz de prueba: docs/FOUNDATIONS.md · Auditoría completa: docs/FINAL-REVIEW.md
Lo que acabas de probar
Métrica | Esperado |
Comentarios de muestra | 12 (expedientes EPA/FCC) |
Plata (válidos) | 10 |
En cuarentena | 2 |
Estado del gráfico |
|
Crítico | pasar |
Detalles: okf/models/mvp-demo.md
Compensaciones de ingeniería
Decisión | Elegimos | Beneficio | Costo | Cuándo cambiar |
Almacén local | DuckDB | Prueba de cero infra en laptop | No multiinquilino | Escenario L3 BigQuery — SCALING.md |
Detección de PII | Regex MVP | Simple, comprobable, sin dependencias de ML | Omite nombres, direcciones | Presidio para producción |
Generación de información | Plantilla + crítico | Sin clave API; determinista | Menos flexibilidad narrativa | Nodo LLM cuando la agencia lo apruebe |
Acceso de agentes a datos | Lista permitida de MCP (3 herramientas) | Mínimo privilegio | Sin exploración SQL ad-hoc | No relajar para FOIA de producción |
Fallos de calidad | Cierre ante fallo | KPI confiables | Bloquea información hasta que se arregle | Evitar carteles de advertencia y mostrar |
Matriz de prueba completa: docs/FOUNDATIONS.md
Para quién es
Rol | Empiece aquí |
Oficial FOIA | |
Ingeniero de datos | |
Arquitecto / revisor | POR QUÉ → FUNDAMENTOS → |
Agente de IA (MCP) | AGENTS.md · |
Escalera de adopción
flowchart LR
L0[L0 Prove make e2e] --> L1[L1 Run locally]
L1 --> L2[L2 Extend source]
L2 --> L3[L3 GCP staging]
L3 --> L4[L4 Production HITL]Nivel | Acción | Documentación |
0 — Probar |
| |
1 — Ejecutar localmente | MCP, panel de control | |
2 — Extender | Nueva fuente CSV | |
3 — Staging GCP | Terraform + Cloud Run | |
4 — Producción | Presidio, HITL, BQ en vivo, UX de producto |
Comandos comunes
Comando | Acción |
| Primera ejecución — instala uv si es necesario + puerta de prueba completa |
| Igual que verify.sh |
| Puerta de prueba completa del MVP (OKF + pruebas + demo FOIA) |
| Solo demo FOIA |
| pytest (41 pruebas) |
| Pipeline agentivo FOIA |
| Streamlit — pestañas Gobierno + Pedidos |
| Servidor MCP para agentes Cursor |
| Regenerar paquete de compartición PDF |
Ejecute make help para todos los objetivos.
Arquitectura
Plano | Paquete | Estado |
Datos |
| IMPLEMENTADO |
Control |
| IMPLEMENTADO |
Políticas |
| IMPLEMENTADO |
MCP |
| IMPLEMENTADO |
GCP |
| PARCIAL |
Matriz en vivo: okf/models/implementation-status.md
Límites del alcance
Esta demo prueba: Pipeline FOIA local · Escaneo de PII · Límite MCP · calidad de cierre ante fallo · 41 pruebas + CI
No incluido: Presidio de producción · Adaptador de Regulations.gov · E2E en vivo en GCP/BQ · UX de oficial de producción (responsivo, streaming, UI generativa) — docs/PRODUCT-UX.md
La UI de la demo es Streamlit. La UX del producto está ESPECIFICADA, no este MVP.
Antes de afirmaciones de producción: lista de verificación previa a escala de REVISIÓN FINAL
Documentación
Documento | Por qué abrirlo |
Wiki humana buscable — empiece aquí | |
Capturas de verify, CLI, Streamlit | |
Para quién es la demo | |
Backlog de UI del producto (ESPECIFICADO) | |
Primera ejecución — | |
Instalación, MCP, variables de entorno | |
Prueba paso a paso | |
Streamlit Gobierno / Pedidos | |
Información opcional con Ollama local / compatible con OpenAI | |
DuckDB → GCP | |
Citas + matriz de prueba | |
Qué prueba cada prueba | |
Índice completo por persona |
También: CÓMO FUNCIONA · POR QUÉ · documento técnico
Compartir y presentar
Código abierto: https://github.com/khaosans/operator-etl — clone y ejecute make e2e.
Para entrevistas, LinkedIn o propuestas, adjunte PDFs de docs/share/ (una página, documento técnico, diapositivas):
make share # regenerates docs/share/latest/ after e2eContribuir · Licencia · Seguridad
Con licencia Apache License 2.0. Los datos de muestra son sintéticos: no confirme registros reales de FOIA.
docs/RELEASING.md — actualizaciones seguras y flujo de trabajo de dependencias
Se aceptan propuestas de issues y PRs.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
US public-records intelligence for AI agents — companies, SEC, courts, spending, licenses.
Deterministic compliance and vertical knowledge bases for autonomous agents. Free 24hr trial.
Responsible-AI guardrails for agents: scoring with policy, injection & PII detection, DPDP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/khaosans/operator-etl'
If you have feedback or need assistance with the MCP directory API, please join our Discord server