v0.3.4 — MCP OAuth consent screen & CSRF hardening
Security
- MCP OAuth consent screen + login CSRF (#417): the MCP authorization login page now shows which client and which redirect destination is being authorized before credentials are entered, with an explicit Cancel/deny action that aborts the flow. This closes a consent-phishing vector where a client registered via open Dynamic Client Registration could obtain a user's organization-scoped authorization code with no informed consent. Adds double-submit CSRF protection to the login form. Active only under
MCP_AUTH_MODE=oauth2/both; inert in the default self-hostedlegacyconfiguration.
Features
- Optional per-tool
responseMapping.followUpworkflow hint (#416) - Connectors: expose
LOGIN_TOKENauth and custom headers in the GUI - Connectors: GTIN/barcode lookup adapter (#386)
- Cloud: Stripe billing portal — manage your subscription from the app
Fixes
- Cloud: unblock the Deutsche Bahn connector (dbweb profile + Zyte egress) (#402)
- Email: workspace-SMTP UX — timeouts, delivery fallback, invite reuse, editable config; org-aware SMTP with system fallback
- Deploy: raise healthcheck
start_periodso live deploys stop reporting false failures
Notes
This release also folds in the previously-unreleased 0.3.1–0.3.3 changes since v0.3.0, plus 21 dependency updates.
Verification: backend typecheck clean; src/auth 50/50 tests pass (7 new for consent/CSRF); lint clean; CI green on merge.