Releases: brunovicco/mcp-server-auth-template
Release list
mcp-server-auth-template v0.6.2
Summary
Corrects the Official MCP Registry OCI metadata discovered during the first manual publication
attempt, without changing the MCP authorization runtime.
Changes
- removes
packages[0].versionfrom the OCI Registry package; - keeps the released version exclusively in the canonical OCI
identifier; - rejects OCI
registryBaseUrl,versionandfileSha256in project-owned validation; - advances the immutable Registry publication candidate from
v0.6.1tov0.6.2; - updates Registry regression tests and EN/PT-BR documentation;
- adds ADR 0025 documenting the Registry validation gap and corrective release decision.
The existing multi-platform scan-before-publish release boundary, OAuth/OIDC behavior, MCP protocol
semantics and OCI ownership label remain unchanged.
This release does not automate Official MCP Registry publication. The first successful publication
remains a manual P2.3 operation performed only after the v0.6.2 release is independently verified.
mcp-server-auth-template v0.6.1
Summary
Makes the server image and repository metadata ready for the Official MCP Registry without changing
the MCP authorization runtime.
Changes
- adds
server.jsonfor theio.github.brunovicco/mcp-server-auth-templatenamespace; - describes the real OCI + Streamable HTTP package instead of a stdio launcher;
- adds the OCI ownership label required by the Official MCP Registry;
- adds fail-closed Registry metadata, version and image-label invariants;
- validates Registry metadata with checksum-verified
mcp-publisher; - documents the Registry contract in English and Brazilian Portuguese;
- records the integration decision in ADR 0024.
The existing multi-platform scan-before-publish release boundary remains unchanged.
mcp-server-auth-template v0.6.0
v0.6.0 — MCP Auth Server Template
v0.6.0 promotes the public-server presentation work and upgrades secure container publication to
a verified multi-platform OCI image.
Publish and verify this server release before publishing mcp-client-auth-template v0.6.0.
Highlights
- Public repository cleanup and presentation polish from PR #24.
- Real source-level and distributed-trace evidence in the README.
- Production Dockerfile support for
linux/amd64andlinux/arm64. - Native Apple Silicon consumption without AMD64 emulation.
- Continued Docker Desktop/WSL2 and x86_64 Linux compatibility through
linux/amd64. - Per-platform CycloneDX SBOM, Grype report and vulnerability-policy evidence.
- GHCR authentication only after both architecture policies pass.
- Exact scanned local images published under immutable architecture-specific version/commit tags.
- One final OCI version index and one commit index assembled from the canonical platform digests.
image-platforms.jsonbinds the final index to the exact AMD64 and ARM64 manifests.- Final-index build provenance plus per-platform SBOM attestations.
Security and supply chain
- Both architectures must pass vulnerability policy before the workflow receives a GHCR token.
- Publication uses the exact scanned local images; there is no post-scan rebuild.
- Version, commit and architecture-specific tags are never overwritten.
v0.6.0andsha-<commit>must resolve to the same two-platform OCI index.- Release validation rejects missing, duplicate, unexpected or drifted platform manifests.
- No
latesttag is published.
Compatibility
- Python:
>=3.13,<3.15 - MCP Python SDK:
>=2.0,<3 - MCP protocol reference:
2026-07-28 - Transport: Streamable HTTP
- Authentication: Microsoft Entra ID and generic OIDC
- Container platforms:
linux/amd64,linux/arm64
Upgrade notes
- OAuth validation, MCP request semantics and application APIs remain compatible with
v0.5.0. - Apple Silicon consumers can use the native ARM64 image.
- Windows Docker Desktop continues using the Linux AMD64 image through its Linux-container/WSL2
backend; this release does not introduce native Windows Server containers. - Prefer the immutable multi-platform index digest from
image-digest.txt. - Do not reuse
v0.6.0after a partial publication; prepare a new version instead.
mcp-server-auth-template v0.5.0
What's Changed
- P1.6a: Establish the supply-chain trust baseline by @brunovicco in #12
- P1.6b: Add SBOM and vulnerability evidence by @brunovicco in #13
- P1.6c: Add reproducible release provenance by @brunovicco in #14
- P1.6d: Add secure release publication by @brunovicco in #19
- Fix nondeterministic checksum corruption test by @brunovicco in #20
- chore(release): prepare v0.5.0 by @brunovicco in #21
- docs: align v0.5.0 documentation by @brunovicco in #22
- fix: finalize v0.5.0 MCP hardening by @brunovicco in #23
Full Changelog: v0.4.0...v0.5.0
v0.4.0 — MCP Auth Server Template
v0.4.0 — MCP Auth Server Template
v0.4.0 makes observability a real, shared client/server boundary and makes the repository easier
to evaluate before adoption.
Use this release with mcp-client-auth-template v0.4.0 for the tested cross-repository profile.
Highlights
a2a-otel-kit[mcp]0.6 at the production MCP Streamable HTTP ASGI boundary.- Metadata-only W3C trace-context continuation shared with the companion client.
- Hardened HTTP admission remains outside tracing; authentication and tool dispatch remain inside.
- Deterministic observability shutdown through the MCP server lifespan.
- Removal of the disconnected local OpenTelemetry lifecycle and duplicate sanitization policy.
- Reworked English and Brazilian Portuguese READMEs for developers, technical leaders, and
engineering reviewers.
Security and privacy
- Observability remains network-silent unless explicitly enabled with
A2A_OTEL_ENABLED=trueand
a complete OTLP traces endpoint. - Spans never capture authorization data, arbitrary headers or URLs, MCP arguments/results,
request/response bodies, baggage, or exception text. - Trace context remains correlation metadata and never participates in authentication or
authorization. - The server continues to validate issuer, audience, signature, expiry, identity class, and scopes
before tool dispatch.
Upgrade notes
- Install the normal locked dependency set with
uv sync --frozen --all-groups; the old
observabilityextra no longer exists. - Replace the previous
OTEL_*examples with the documentedA2A_OTEL_*settings if tracing is
enabled in your deployment. - Disabled observability remains a no-op with no exporter, worker, or telemetry network request.
Compatibility
- Python:
>=3.13,<3.15 - MCP Python SDK:
>=2.0,<3 - MCP SDK tested floor:
2.0.0 - MCP protocol reference:
2026-07-28 - Transport: Streamable HTTP
- Authentication: Microsoft Entra ID and generic OIDC
- Companion release:
mcp-client-auth-template v0.4.0
Validation
- Complete quality and security gate: 210 tests, 88.98% coverage
- Python 3.13 and 3.14 compatibility matrix
- MCP SDK 2.0.0 and latest compatible 2.x
- Container smoke and Kubernetes manifest checks
- Canonical cross-repository contract and companion OAuth/MCP E2E suite
v0.3.0 — MCP Auth Server Template
v0.3.0 — MCP Auth Server Template
v0.3.0 advances the authentication reference pair with executable MCP 2026 interoperability.
Use this release with mcp-client-auth-template v0.3.0 for the tested cross-repository profile.
Highlights
- MCP
2026-07-28modern request-envelope validation. - Sessionless Streamable HTTP semantics.
- Protocol-version and routing-envelope mismatch handling.
- Runtime scope step-up for protected MCP tools.
- Client ID Metadata Document-first interoperability.
- OAuth Client Credentials extension advertisement.
- Generic OIDC machine-to-machine authentication support at the resource-server boundary.
- Positive and negative cross-repository compatibility evidence.
- Architecture decisions documented in ADRs 0015 through 0018.
Security model
- Extension negotiation is capability discovery, not authorization.
- Access still requires a validated, audience-bound, issuer-bound, unexpired token with sufficient
scopes. - The MCP server does not issue tokens, receive client secrets, or persist OAuth credentials.
- Generic machine identities remain distinct from Microsoft Entra application principals.
- Protocol, request-envelope, credential, and authorization failures remain fail closed.
Compatibility
- Python:
>=3.13,<3.15 - MCP Python SDK:
>=2.0,<3 - MCP SDK tested floor:
2.0.0 - MCP protocol reference:
2026-07-28 - Transport: Streamable HTTP
- Authentication: Microsoft Entra ID and generic OIDC
- Companion release:
mcp-client-auth-template v0.3.0
Validation
- Complete quality and security gate
- Python 3.13 and 3.14 compatibility matrix
- MCP SDK 2.0.0 and latest compatible 2.x
- Cross-repository contract validation
- Companion OAuth/MCP E2E suite: 12 scenarios
v0.2.0 — MCP Auth Server Template
v0.2.0 — MCP Auth Server Template
v0.2.0 is the first coordinated GitHub release of the MCP authentication reference pair.
Use this release with mcp-client-auth-template v0.2.0 for the tested cross-repository profile.
Highlights
- Targets MCP
2026-07-28on the stable MCP Python SDK 2.x line. - OAuth 2.1 resource-server boundary for Microsoft Entra ID and generic OIDC.
- RFC 9728 Protected Resource Metadata and standards-shaped
WWW-Authenticatechallenges. - Request-scoped principals with delegated/application identity separation.
- Per-tool scope enforcement and
403 insufficient_scopestep-up challenges. - Hardened OIDC discovery and JWKS retrieval with SSRF/DNS, redirect, compression, and body-size controls.
- Exact issuer/audience validation, JWKS algorithm/key checks, caching, and bounded refresh behavior.
- Streamable HTTP admission controls, stateless MCP
2026-07-28, operational probes, and production startup preflight. - Container and Kubernetes deployment baseline with non-root/read-only hardening.
- Security audit events with minimized fields and no bearer-token passthrough.
- Executable Python 3.13/3.14 × MCP SDK floor/latest compatibility matrix.
- Executable Entra/generic OIDC × production HTTPS/IPv4 loopback/IPv6 loopback matrix.
- Versioned cross-repository compatibility contract shared with the client template.
Compatibility
- Python:
>=3.13,<3.15(3.13 and 3.14 exercised in CI) - MCP Python SDK:
>=2.0,<3 - MCP SDK tested floor:
2.0.0 - MCP protocol reference profile:
2026-07-28 - Transport: Streamable HTTP
- Authentication: Microsoft Entra ID and generic OIDC
- Production transport profile: HTTPS
- Local development/E2E profiles: explicit IPv4/IPv6 loopback HTTP only
Provider-specific live identity-provider interoperability is outside the deterministic local
compatibility contract.
Validation
The release is cut only after the repository quality gate passes on the release branch and again
on merged main. The companion client release additionally validates the pair contract and runs
the full local OAuth/MCP E2E flow against this server release.