Skip to content

Admin Dashboard

OpalServe includes a React single-page application for managing your team server through a web interface. The dashboard is served directly by the OpalServe HTTP API — no separate deployment needed.

Accessing the Dashboard

When OpalServe is running in team-server mode, the dashboard is available at:

http://your-server:3456/dashboard

Log in with your admin credentials (the same email and password you used during opalserve admin init).

Local mode

The dashboard is also available in local mode at http://127.0.0.1:3456/dashboard, but without authentication. It shows the same server and tool information, just without user management features.

Overview Page

The overview page gives you an at-a-glance view of your OpalServe deployment.

Key Metrics

MetricDescription
Total RequestsHTTP API requests in the selected time window
Tool CallsMCP tool invocations proxied through the gateway
Active UsersUsers who made at least one request in the window
Servers OnlineNumber of connected MCP servers vs. total registered
Avg LatencyMean response time for tool call proxying
Error RatePercentage of requests that returned errors

Charts

  • Requests over time — line chart showing request volume by hour/day
  • Tool usage distribution — bar chart of most-used tools
  • User activity — heatmap of when your team uses AI tools

Time Window

Use the dropdown to switch between 1h, 24h, 7d, and 30d views. All metrics and charts update accordingly.

Server Monitoring

The Servers page shows every registered MCP server with real-time status.

Server List

Each server card displays:

FieldDescription
NameServer identifier
Statusconnected, disconnected, or error
Transportstdio, sse, or streamable-http
ToolsNumber of tools discovered
UptimeTime since last successful connection
Last ErrorMost recent error message (if any)

Server Actions

  • Reconnect — disconnect and reconnect to the server
  • Disable — temporarily remove from the registry without deleting config
  • Remove — permanently delete the server and its tools
  • View Tools — expand to see all tools with descriptions

Adding Servers

Click Add Server to register a new MCP server through the dashboard. The form supports:

  • Server name and description
  • Transport type selection (stdio, SSE, Streamable HTTP)
  • Command and arguments (for stdio)
  • URL and headers (for remote transports)
  • Environment variables
  • Tags

User Management

The Users page lists all registered accounts.

User List

ColumnDescription
EmailUser's email address
Roleadmin, developer, or viewer
Statusactive, invited, or disabled
API KeysNumber of active API keys
Last ActiveTimestamp of last request
Requests (24h)Request count in the last 24 hours

User Actions

  • Edit Role — change between admin, developer, and viewer
  • Reset Password — send a password reset link
  • Disable — temporarily block access without deleting the account
  • Delete — permanently remove the user and their API keys
  • View Activity — see detailed request log for this user

Inviting Users

Click Invite User to generate an invitation. Enter the email and select a role. The dashboard displays the invite link that you can share.

API Key Management

Each user can have multiple API keys. Admins can manage keys for any user from the dashboard.

Creating an API Key

  1. Navigate to a user's profile or the API Keys section
  2. Click Create API Key
  3. Give the key a name (e.g., "CI/CD Pipeline", "Local Development")
  4. Set an optional expiry date
  5. Copy the key — it is only shown once

API key security

API keys are shown only once when created. Store them securely. If a key is compromised, revoke it immediately from the dashboard.

Key Permissions

API keys inherit the permissions of the user they belong to. A key created by a developer user has developer-level access.

Analytics

The Analytics page provides deeper usage insights than the overview.

Available Reports

  • Tool usage by user — which tools each team member uses most
  • Server load — requests per server over time
  • Peak hours — when your team uses AI tools most heavily
  • Error breakdown — errors by type, server, and user
  • Rate limit hits — which users are hitting their limits

Exporting Data

Click Export to download analytics data as CSV or JSON for further analysis.

Settings

The Settings page lets you configure team-wide options from the dashboard.

General

  • Team name
  • Default role for new users
  • Allow/disallow self-signup

Rate Limits

  • Global default limits (requests/window, tool calls/window)
  • Per-user overrides
  • Window duration

Security

  • Session TTL
  • Password policy
  • API key expiry defaults

Dashboard Configuration

Disabling the Dashboard

If you do not want the dashboard served:

bash
opalserve start --no-dashboard

Or in your config:

json
{
  "gateway": {
    "dashboard": false
  }
}

Custom Base Path

If OpalServe runs behind a reverse proxy with a path prefix:

json
{
  "gateway": {
    "basePath": "/opalserve"
  }
}

The dashboard will then be available at http://your-server/opalserve/dashboard.

CORS for Separate Dashboard Deployment

If you deploy the dashboard separately (e.g., on a different domain):

json
{
  "gateway": {
    "cors": ["https://dashboard.company.com"]
  }
}

Released under the MIT License.