Skip to content

feat(mcp-gateway): add management dashboard#3722

Draft
pandemicsyn wants to merge 20 commits into
feat/mcp-gateway-implementationfrom
feat/mcp-gateway-dashboard
Draft

feat(mcp-gateway): add management dashboard#3722
pandemicsyn wants to merge 20 commits into
feat/mcp-gateway-implementationfrom
feat/mcp-gateway-dashboard

Conversation

@pandemicsyn
Copy link
Copy Markdown
Contributor

@pandemicsyn pandemicsyn commented Jun 4, 2026

Summary

  • Add an admin-gated MCP Gateway management dashboard for personal and organization scopes, including connection discovery, setup, connect URL management, assignments, credentials, and provider sign-in controls.
  • Introduce an app-owned dashboard tRPC/control-plane surface while preserving the existing two-plane architecture: apps/web manages configuration and OAuth workflows, and services/mcp-gateway remains responsible for runtime token verification and credential-injecting proxy behavior.
  • Harden gateway lifecycle boundaries exposed by the dashboard: scope-bind management mutations, persist initial static provider credentials atomically, normalize DB timestamps at the tRPC boundary, reject OAuth client authentication-method changes without a secret lifecycle, and require confirmations for destructive connection actions.
  • Move resource-specific OAuth registration under /api/mcp-gateway/oauth/register/resource/... to avoid Next.js dynamic route conflicts while retaining the specified registration capability.

Verification

see demo in slack

Visual Changes

Before After
MCP Gateway dashboard unavailable (screenshot pending) Personal connection list and setup flow (screenshot pending)
Organization MCP Gateway management unavailable (screenshot pending) Organization detail, assignment, and credential management surface (screenshot pending)

Reviewer Notes

  • This is stacked on feat/mcp-gateway-implementation / PR feat(mcp-gateway): implement OAuth runtime gateway #3717; review this PR as the dashboard and follow-up hardening layer rather than the underlying gateway implementation.
  • Dashboard visibility is intentionally gated behind user.is_admin during rollout.
  • Focus areas: OAuth/provider sign-in setup behavior, tenant-scoped management mutations, destructive action lifecycle semantics, and the moved resource-specific registration route.

@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from d2955ad to 50013ae Compare June 4, 2026 18:29
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from 50013ae to de28cbc Compare June 4, 2026 19:41
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from de28cbc to 2350f58 Compare June 4, 2026 20:32
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from 2350f58 to 285818e Compare June 4, 2026 20:56
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from 285818e to 9db9de1 Compare June 4, 2026 21:35
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from 9db9de1 to a1ee590 Compare June 4, 2026 23:19
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-dashboard branch from a1ee590 to d7bc8e4 Compare June 5, 2026 00:58
@pandemicsyn pandemicsyn force-pushed the feat/mcp-gateway-implementation branch from 281a2e3 to e7235c0 Compare June 5, 2026 01:24
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.

1 participant