Operator ETL
Provides tools for querying and managing a DuckDB data warehouse, allowing agents to access bronze, silver, and gold tables for verified insights and data exploration within bounded access controls.
Offers optional integration with Ollama for generating narrative insights using local LLM models, while preserving deterministic boundaries and fail-closed policies.
Offers optional integration with OpenAI-compatible APIs for generating narrative insights using LLM models, while preserving deterministic boundaries and fail-closed policies.
Integrates with a secure vault (e.g., HashiCorp Vault) to encrypt and store detected personally identifiable information (PII), ensuring sensitive data is isolated and never exposed through MCP tools.
Click on "Install 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., "@Operator ETLrun the FOIA intake pipeline for the EPA docket and show me the verified insight"
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.
Operator ETL
Agentic data intake for FOIA and public comments — a locally proven MVP with a deterministic Medallion warehouse, LangGraph orchestration, Model Context Protocol (MCP) allowlist, and a fail-closed PII policy plane.
Python and SQL decide what data exists. Agents orchestrate within typed boundaries. The Critic proves numeric claims.
Contents
Related MCP server: @actalumen/mcp-server
Status
Area | State |
Local FOIA MVP ( | IMPLEMENTED |
Medallion + LangGraph + MCP + critic | IMPLEMENTED |
Observability (sanitized OTel) + A2A task surface | IMPLEMENTED |
Multi-cloud Terraform (GCP / AWS / Azure) | Staging stacks present |
Live GCP / BigQuery E2E | PARTIAL |
Presidio PII engine | Optional ( |
Honest inventory: docs/FINAL-REVIEW.md · okf/models/implementation-status.md.
Who this is for: agencies and regulated teams exploring agentic FOIA / public-comment intake with proof gates, not a turnkey production FOIA deployment.
What we do not claim: FedRAMP / ATO, live cloud E2E as proven, or that verify.sh
green means production-ready FOIA software. See docs/PUBLIC-READINESS.md.
Features
Medallion warehouse — bronze → silver + quarantine → gold SQL marts (DuckDB local)
Fail-closed PII — scan before insight; encrypted vault (
0600); no vault decrypt via MCPCritic faithfulness — insight numbers must appear in gold metrics
MCP allowlist — three tools only; no raw SQL
Observability — OpenTelemetry / OpenInference metadata without raw PII in spans
A2A — JSON-RPC task surface with bearer auth and sanitized artifacts
Proof gate —
./scripts/verify.shruns OKF validate, pytest, and the FOIA demo
Architecture
Three planes keep generative intelligence away from raw operational data:
flowchart TB
subgraph control [Control plane]
LG[LangGraph state machine]
Critic[Critic audit]
HITL[HITL approval]
end
subgraph policy [Policy plane]
PII[PII scan]
Vault[AES vault]
MCP[MCP allowlist]
end
subgraph data [Data plane]
Bronze[Bronze raw]
Silver[Silver validated]
Quarantine[Quarantine]
Gold[Gold SQL marts]
end
LG --> MCP
MCP --> PII
PII --> Vault
Bronze --> Silver
Bronze --> Quarantine
Silver --> Gold
Gold --> CriticLayer | Stack | Invariant |
Data | Python 3.12+, DuckDB, SQL, Pydantic 2 | Deterministic transforms; quarantine preserves bad rows |
Control | LangGraph, MCP, SQLite / Postgres checkpoints | Resumable runs; critic gate |
Policy | Cryptography (Fernet), regex PII (Presidio optional) | No raw PII in insights, MCP, or OTel |
Packaging | uv, Docker (GHCR), GitHub Actions, MkDocs | Frozen lockfile; CI SAST/SCA/secrets/IaC |
Quickstart
Prerequisites
Python 3.12+ (or uv)
Verify in one command
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shInstalls uv if needed, syncs frozen deps, validates the OKF bundle, runs pytest, and
executes the FOIA demo on a fresh warehouse. Success ends with OPERATOR_ETL_VERIFY=PASS.
Expected demo metrics on sample data: status=complete, silver=10, quarantined=2.
Full guide: docs/QUICKSTART.md.
Run the FOIA graph
uv run etl-graph --source public_comments --pipeline public_commentsstatus=complete run_id=...
rows_in=12 silver=10 quarantined=2
pii_findings=3 critic_passed=Truepii_findings=3 is scanner groups (EMAIL, PHONE, US_SSN). Dashboard PII flagged ≥ 4
counts silver comments with PII — both are expected on the synthetic sample.
Dashboard (optional)
export OPERATOR_ETL_WAREHOUSE=".tmp/mvp-demo/operator.duckdb"
export OPERATOR_ETL_PIPELINE_NAME=public_comments
export OPERATOR_ETL_DOMAIN=gov
uv run streamlit run dashboard/app.pyScreenshots: docs/TOUR.md.
Configuration
Copy .env.example for local DuckDB runs. Common variables:
Variable | Purpose |
| DuckDB path (default |
| Pipeline id (e.g. |
|
|
|
|
| Optional A2A auth |
| Optional observability export |
Cloud secrets (PII_VAULT_KEY, API keys) live in
infra/env.example / Terraform examples — never commit .env or
terraform.tfvars.
Repository layout
src/operator_etl/ Data plane
src/operator_etl_graph/ LangGraph control plane
src/operator_etl_policy/ PII + vault
src/operator_etl_mcp/ MCP server
src/operator_etl_{gcp,aws,azure}/ Cloud adapters
src/a2a/ A2A JSON-RPC surface
src/telemetry/ Sanitized OTel
pipelines/ sql/ samples/ Registry, gold SQL, synthetic data
infra/{gcp,aws,azure}/ Terraform staging stacks
tests/ harness/ scripts/ Proof gate
okf/ skills/ docs/ Knowledge bundle, agent skills, wikiTesting
make test # pytest
make e2e # OKF + pytest + FOIA demo
make lint # ruff
make security # bandit + pip-auditEvery architectural invariant has automated coverage (ingest idempotency, quarantine, PII, critic, MCP deny, telemetry, A2A). Map: docs/TESTING.md · proof citations: docs/FOUNDATIONS.md.
Docker and packages
# Tagged release (see GitHub Releases for current version)
docker pull ghcr.io/khaosans/operator-etl:0.7.0
docker run --rm -it ghcr.io/khaosans/operator-etl:0.7.0 etl-graph --help
# Or :latest for the newest non-prerelease tag
docker pull ghcr.io/khaosans/operator-etl:latestpip install operator-etl --index-url https://pypi.pkg.github.com/khaosans/simple/Release SBOMs (CycloneDX) attach to GitHub Releases. Process: docs/RELEASING.md.
Documentation
Wiki: https://khaosans.github.io/operator-etl/
Document | Description |
One-command verify | |
Local operational tour | |
HTTP guards, vault, CI SAST/SCA | |
Runtime and cloud architecture | |
Agent task API contract | |
Full engineering spec (PDF) |
Contributing
See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
make e2e && make lint && make security
uv run pre-commit install # optional local hooksCI must be green before merge (e2e, docker, terraform, gitleaks, bandit, pip-audit, CodeQL, Trivy, Checkov). Ruleset setup: docs/PUBLIC-READINESS.md.
Security
Report vulnerabilities per SECURITY.md. Do not open public issues for sensitive disclosures.
Agent checklist: skills/operator-security/SKILL.md.
Support
Docs wiki and docs/index.md
GitHub Issues for bugs and questions
Changelog: CHANGELOG.md · Versioning: docs/VERSIONING.md
All sample intake records are synthetic.
License
Licensed under the Apache License 2.0.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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
AI agents for federal IT & pharma: alert triage, ICAM, helpdesk, incidents, ticket routing.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Official data with free samples, provenance, aggregations, freshness and agent-ready insights.
Related MCP Servers
AlicenseAqualityCmaintenanceEnable AI agents to work reliably - giving them secure access to structured data, tools to take action, and the context needed to make smart decisions.852,433422MIT
@actalumen/mcp-serverofficial
FlicenseAqualityCmaintenanceEnables AI agents to upload, verify, and chat about documents for compliance (e.g., SOC2, GDPR) with PII redacted server-side.87-- AlicenseBqualityCmaintenanceEnables AI agents to safely ingest, inspect, edit, and export manufacturing documents (Excel, PDF, Word, Markdown) with controlled patch workflows and MES entity extraction.23MIT
- AlicenseNot gradedqualityBmaintenanceEnables enterprise AI agents to query governed data lineage, PII-aware schema documentation, and semantic metadata from SQL logs via MCP, with role-based access and vector search.MIT
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