Skip to content

Admin UI

MCP Gateway includes a built-in Admin UI for managing all entities in real time via a web browser.


πŸ–₯️ Accessing the UI

After launching the gateway (make serve or make podman-run), open your browser and go to:

http://localhost:4444/admin - or the corresponding URL / port / protocol (ex: https when launching with make podman-run-ssl)

Login using the BASIC_AUTH_USER and BASIC_AUTH_PASSWORD set in your .env.


🧭 UI Overview

The Admin UI is built with HTMX, Alpine.js, and Tailwind CSS, offering a dynamic, SPA-like experience without JavaScript bloat.

It provides tabbed access to:

  • Servers Catalog: Define or edit MCP servers (real or virtual)
  • Tools: Register REST or native tools, configure auth/rate limits, test responses
  • Resources: Add templated or static resources, set MIME types, enable caching
  • Prompts: Define Jinja2 prompt templates with argument schemas and preview rendering
  • Gateways: View and manage federated peers, toggle activity status
  • Roots: Register root URIs for agent or resource scoping
  • Metrics: Real-time usage and performance metrics for all entities
  • πŸ“Š Metadata Tracking: View comprehensive audit information in entity detail modals

✍️ Common Actions

Action How
Register a tool Use the Tools tab β†’ Add Tool form
Bulk import tools Use API endpoint /admin/tools/import (see Bulk Import)
View prompt output Go to Prompts β†’ click View
View entity metadata Click "View" on any entity β†’ scroll to "Metadata" section
Toggle server activity Use the "Activate/Deactivate" buttons in Servers tab
Delete a resource Navigate to Resources β†’ click Delete (after confirming)

All actions are reflected in the live API via /tools, /prompts, etc.


πŸ” Auth + JWT from UI

Upon successful login, the UI automatically sets a secure JWT token as an HTTP-only cookie (jwt_token).

This token is reused for all Admin API calls from within the UI.


πŸ”„ Live Reloading (Dev Only)

If running in development mode (DEV_MODE=true or make run), changes to templates and routes reload automatically.