MCP Zero Trust Layer 0.1.0
Pre-release
Pre-release
MCP Zero Trust Layer 0.1.0
Initial developer preview of MCP Zero Trust Layer, an open-source and self-hosted Zero Trust policy enforcement layer for MCP servers. MCPZT runs in front of existing MCP servers and gives teams a place to enforce policy, approvals, argument validation, output controls, audit and observability without rewriting the upstream MCP server.
This release is marked as a draft pre-release while PyPI Trusted Publishing is configured. Publishing the release later will trigger the PyPI workflow.
Highlights
- HTTP proxy runtime for MCP Streamable HTTP POST requests.
- Stdio wrapper runtime for command-based MCP servers.
- Multi-MCP routing with per-server policy isolation through
/mcp/{server_name}. - Deterministic policy engine with
allow,deny,hide,require_approval,redact,limit,transformandlogeffects. mcpzt policy explainfor debugging matched policies, skipped policies and selected decisions.- Parameter-level policy controls through native
inputblocks. - Built-in validators for SQL, filesystem paths, URLs, email, regex, required/forbidden fields and field sizes.
- Human approval flow with approval binding to identity, server, capability, policy and argument hash.
- Output enforcement for JSON-RPC
resultanderrorpayloads. - Capability discovery, diffing and deterministic security scanning.
- JSONL audit logging with recursive secret redaction and hash-chain verification.
- Prometheus-format decision metrics.
- Auth modes for none, static token, API key, JWT and OIDC/JWKS.
- Secret references with
env:,${VAR},file:,op://,aws-sm://andvault://. - Optional OPA policy adapter.
- Dockerfile, production Docker Compose recipe and Helm starter chart.
- Public docs for multi-MCP use cases, production operations and PyPI release flow.
Try It Locally
From a checkout:
python -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[dev]"
mcpzt version
mcpzt init --config mcpzt.yaml --force
mcpzt config validate --config mcpzt.yamlFrom the attached wheel:
python -m venv /tmp/mcpzt-wheel-smoke
/tmp/mcpzt-wheel-smoke/bin/python -m pip install ./mcp_zero_trust_layer-0.1.0-py3-none-any.whl
/tmp/mcpzt-wheel-smoke/bin/mcpzt versionWith Docker:
docker build -t mcpzt:local .
docker run --rm mcpzt:local versionRelease Artifacts
mcp_zero_trust_layer-0.1.0.tar.gzmcp_zero_trust_layer-0.1.0-py3-none-any.whl
The source distribution was inspected to ensure internal planning files, local audit files, approval stores, secrets, virtual environments, caches and generated build directories are excluded.
Validation
ruff check .passed.pytest -qpassed with 82 tests.python -m buildpassed.twine check dist/*passed.- GitHub Actions CI passed on
main.
Known Notes
- This is a developer preview, not a 1.0 stability promise.
- HTTP GET SSE streams are not implemented in this release; the HTTP endpoint returns 405 for GET.
- Request-scoped upstream SSE passthrough is intentionally left for a later release because streaming needs a separate security design.
- The local approval store is file-backed. Horizontal production deployments should use storage with correct locking semantics or wait for a shared approval backend.