Skip to content

docs(054): MCP security gateway hardening — umbrella spec (5 tracks)#521

Open
Dumbris wants to merge 2 commits into
mainfrom
054-mcp-security-gateway
Open

docs(054): MCP security gateway hardening — umbrella spec (5 tracks)#521
Dumbris wants to merge 2 commits into
mainfrom
054-mcp-security-gateway

Conversation

@Dumbris
Copy link
Copy Markdown
Member

@Dumbris Dumbris commented May 24, 2026

Umbrella spec to turn mcpproxy into the reference open-source MCP security gateway, decomposed into 5 independently-shippable tracks. Grounded in a subagent gap-analysis against existing features (not greenfield) — the Context section maps each track to the Spec it extends, with file pointers.

Track Builds on Status today
A (P1) Output-schema validation new; content_forward.go hook the only empty axis — zero output validation today
B (P2) Output sanitisation enforcement Specs 026, 035 signals computed but log-only, discarded before reaching the agent
C (P3) Per-tool / per-arg capability ACLs Spec 028 tokens scope per-server × per-operation only
D (P4) TOFU pinning hardening Spec 032 pins desc+inputSchema; misses outputSchema, annotations, provenance
E (P5) EU AI Act Art. 12-aligned audit logging Specs 016/021/024 strong log, no tamper-evidence; retention < 6-month floor

Key reframe: mcpproxy is already ~70% of a reference security gateway — most tracks close gaps on shipped features. Recommended sequencing A→E by leverage × effort; each track gets its own /speckit.plan when implementation starts.

Non-goals: no legal compliance certification (alignment/support only), no MCP protocol changes, no mandatory content mutation (sanitisation opt-in), personal edition unaffected by default.

Spec-only; no code. Quality checklist passes (no NEEDS CLARIFICATION). Plan to be run later.

Dumbris added 2 commits May 23, 2026 14:30
…g release.yml job

release.yml already has an 'mcp-registry' job that publishes server.json on every
tag via keyless GitHub OIDC (continue-on-error) — it has shipped 44 versions to
registry.modelcontextprotocol.io. The publish-mcp-registry.yml added in #517 was a
redundant duplicate that would have thrown 'cannot publish duplicate version' on
every release. Removes it and corrects docs/mcp-registry-publishing.md to reference
the existing automation instead of claiming publishing was manual.
Related #N/A

Umbrella spec decomposing the 'reference OSS MCP security gateway' roadmap into
5 independently-shippable tracks (output-schema validation, output sanitisation
enforcement, per-tool/per-arg capability ACLs, TOFU pinning hardening, EU AI Act
Article 12-aligned tamper-evident audit logging), each grounded in a gap analysis
against existing features (Specs 026/028/032/035, activity log).
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2134d99
Status: ✅  Deploy successful!
Preview URL: https://a0cdf4cd.mcpproxy-docs.pages.dev
Branch Preview URL: https://054-mcp-security-gateway.mcpproxy-docs.pages.dev

View logs

@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts

Workflow Run: View Run
Branch: 054-mcp-security-gateway

Available Artifacts

  • archive-darwin-amd64 (27 MB)
  • archive-darwin-arm64 (25 MB)
  • archive-linux-amd64 (16 MB)
  • archive-linux-arm64 (14 MB)
  • archive-windows-amd64 (27 MB)
  • archive-windows-arm64 (24 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (20 MB)
  • installer-dmg-darwin-arm64 (18 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 26351797912 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants