* Remove MCP credit quotas and improve MCP setup page
- Always show client setup snippets with placeholder keys
- Add View Docs link to MCP page header
- Remove monthly automation credit enforcement and UI
- Update plan feature text to reflect free MCP access
Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com>
* fix: address PR review feedback for MCP page changes
- Clear generatedSecret when revoking MCP keys
- Use Button link mode for View Docs with rel noopener noreferrer
- Update all dashboard locale files for MCP translations
- Make MCP rate-limit admission atomic with transactional reservations
- Wrap MCP route handlers with withMcpAutomationUsage helper
Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com>
* revert: remove atomic MCP rate-limit reservations
The transactional advisory-lock reservation was unnecessary complexity
for our MCP usage model. Restore the simpler check-then-record flow.
Also only clear generatedSecret when revoking the key it belongs to.
Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com>
* fix: address remaining MCP page bot review feedback
- Add blank lines after confirm guards in key handlers
- Skip showing rotated secret if key was revoked during rotation
- Fix vi keys_title and de rate_limits_title translations
Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com>
* fix: prevent late key rotation from un-revoking or exposing secrets
- Rotate only when revoked_at IS NULL at update time (DB)
- Reject rotate requests for already-revoked keys (API)
- Ignore stale rotate responses in automation client state
- Guard MCP UI against showing secrets for revoked keys
Co-authored-by: Rotimi Best <rotimi-best@users.noreply.github.com>
---------