Skip to main content
Glama

set_dashboard_theme

Set the server-side default dashboard theme to control first-visit appearance for new operators. Choose from built-in palettes or define a custom brand theme with 13 CSS color tokens.

Instructions

Set the server-side default dashboard theme (v2.2.1).

When to use: org-level theme defaults ('every new operator should land on dark'), or programmatically applying a brand palette via mode='custom'. Each individual operator's localStorage preference still beats this default for repeat visits, this only affects first-visit theming for newly-connecting clients.

Behavior: stores the chosen theme + optional custom_json in dashboard_prefs. Modes: 'catppuccin' (default Mocha palette), 'dark' (tool-neutral), 'light' (tool-neutral), 'custom' (requires custom_json with all 13 CSS color tokens). No WebSocket push, already-open dashboards adopt on full reload. Auth: dashboard-secret-equivalent capability (treated as an admin operation).

Returns: { success: true, theme, updated_at: ISO, note }.

Errors: AUTH_FAILED, INVALID_INPUT (custom mode missing required tokens), RATE_LIMITED.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYesTheme mode. catppuccin is the default; dark/light are tool-neutral; custom requires custom_json.
agent_tokenNoYour agent token (from register_agent response). Optional here — also resolvable from RELAY_AGENT_TOKEN env or X-Agent-Token header.
custom_jsonNoRequired when mode='custom'. JSON object with all 13 CSS-token fields (bg, panel, panel-2, border, text, muted, accent, online, stale, offline, critical, high, normal, low).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden and delivers richly: it states no WebSocket push exists (already-open dashboards need full reload), describes auth requirements as admin-level capability, enumerates all three error codes, and details what gets stored in dashboard_prefs. This far exceeds the minimal burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough and well-organized with clear labeled sections (When to use, Behavior, Returns, Errors), which aids agent scanning. It's somewhat longer than the TDQS high examples but every sentence earns its place given the behavioral complexity of custom mode and the absence of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 params (one nested object), no annotations, and no output schema, the description covers all bases: purpose, when/when-not, behavior, storage location, auth, error taxonomy, and return shape. Fully complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real value: it clarifies that catppuccin is the default, names the Mocha palette, and specifies that custom mode requires all 13 CSS tokens. It adds contextual meaning about mode semantics that the schema enum alone doesn't convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it sets the server-side default dashboard theme, with a specific verb+resource. It distinguishes this tool from siblings by explicitly targeting org-level theme defaults and first-visit theming, which none of the sibling tools (which are messaging, task, and agent-management focused) cover.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'When to use' section explicitly names the two scenarios (org-level defaults, brand palette via custom mode), and even explains the exclusion — that individual operator localStorage preferences override this default for repeat visits. This is explicit usage guidance with clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Maxlumiere/bot-relay-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server