Skip to main content
Glama
mikesplore
by mikesplore

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for the HTTP server (default: 8000)
AGENT_IDNoRequired when using a Relay Secret (e.g. agt_783985743)
VELA_TOKENNoJWT token or Relay Secret
VELA_API_URLNoYour Vela API or VPS relay tunnel

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
count_toolsA

Count how many assistant tools are available on this host. Use when the user asks how many tools/capabilities/commands you have, or how many things you can do.

list_toolsA

List all assistant tool names available on this host, optionally filtered by a search term. Use when the user asks what tools/capabilities/commands you have, what you can do, or whether a specific capability exists.

get_system_infoA

Static hardware specs bundle: CPU model, RAM capacity, GPU model, disk partitions, OS version, USB devices, monitor config, and BIOS. Use when the user wants to know WHAT their machine is made of. Do NOT use for live usage — use get_snapshot for live metrics.

get_system_cpuA

Static CPU specs: model name, core/thread counts, base clock, architecture. Use when the user asks WHAT CPU they have. Do NOT use for live CPU load — use monitor_cpu for current usage.

get_system_ramA

Static RAM capacity: total installed memory and swap size. Use when the user asks how much RAM they have. Do NOT use for live memory usage — use monitor_ram for that.

get_system_gpuA

Static GPU info: GPU device names and models. Use when the user asks WHAT GPU they have. Do NOT use for live GPU load — use monitor_gpu for that.

get_system_diskA

Static disk layout: partition names, mount points, filesystem types, and total sizes. Use when the user asks about drive partitions or disk setup. Do NOT use for free space or usage stats — use get_disk_usage for that.

get_system_osA

OS identity: distro name, kernel version, hostname, current username. Use for OS/kernel-specific questions. For a full device summary including hardware vendor and model, use get_device_info instead.

get_system_usbB

Connected USB devices.

get_system_monitorsA

Static monitor hardware info: display names, resolutions, refresh rates. Use when the user asks about their monitor specs. Do NOT use to check if the monitor is on/off — use get_monitor_state for that.

get_system_biosB

BIOS vendor, version, release date, and motherboard.

get_device_infoA

High-level device identity: laptop model (e.g. ThinkPad X1 Carbon Gen 9), vendor (e.g. Lenovo), OS distro, kernel, architecture, hostname. Use when the user asks 'what device/laptop/computer is this'. For deeper hardware specs use get_system_info; for OS-only details use get_system_os.

get_network_ipA

Local and public IP addresses.

get_network_locationA

Public IP with geo-location: city, region, country, timezone, ISP, coordinates.

get_wifi_statusA

Current WiFi connection state only: connected/disconnected, active SSID, signal strength. Use when the user asks if they are connected or what network they are on. Do NOT use to browse nearby networks — use list_wifi_networks for that.

list_wifi_networksA

Scan and list all nearby WiFi networks with SSID and signal strength. Use when the user wants to see what networks are available nearby, not just their current connection.

connect_wifiC

Connect to a WiFi network.

disconnect_wifiB

Disconnect from the current WiFi network.

toggle_wifiB

Enable or disable the WiFi radio.

list_bluetooth_devicesA

List connected Bluetooth devices and paired devices available to connect.

pair_bluetooth_deviceC

Pair with a Bluetooth device.

unpair_bluetooth_deviceC

Unpair a Bluetooth device.

toggle_bluetoothA

Enable or disable the Bluetooth radio.

ping_hostB

Ping a host and return packet loss and average RTT.

get_snapshotA

Live system metrics snapshot: current CPU load, RAM usage, GPU usage, disk I/O rates, network I/O rates, temperatures, fan speeds, battery level, top processes. Use for 'how is my PC doing' or real-time status. Do NOT use for static hardware specs — use get_system_info for that.

monitor_cpuA

Live CPU usage: current load percentage overall and per core. Use when the user asks how loaded their CPU is right now. Do NOT use for CPU specs or model — use get_system_cpu for that.

monitor_ramA

Live memory usage: how much RAM and swap is currently used vs free. Use when the user asks how much memory is being used right now. Do NOT use for total RAM capacity — use get_system_ram for that.

monitor_gpuA

Live GPU usage: current GPU utilization percentage and VRAM used. Use when the user asks how hard their GPU is working right now. Do NOT use for GPU model info — use get_system_gpu for that.

monitor_disk_ioB

Per-disk I/O rates.

monitor_network_ioA

Network I/O rates per interface.

monitor_temperaturesC

Sensor temperature readings.

monitor_fansC

Fan speed sensor readings.

get_batteryA

Battery percentage, plugged state, and remaining seconds.

get_top_processesA

Top resource-consuming processes ranked by CPU and memory usage. Use when the user asks what is slowing down or eating up their system. Do NOT use to find a specific process by name — use list_processes for that.

get_volumeA

Current master volume level and mute state.

set_volumeA

Set audio volume to a specific percentage.

volume_upB

Increase the master volume by a step.

volume_downB

Decrease the master volume by a step.

mute_audioA

Mute or unmute the master audio channel.

audio_devicesA

List available audio sinks and sources.

set_output_deviceC

Switch the default audio output device.

get_currently_playing_songB

Current playback status, title, artist, album, album art URL, and position.

toggle_play_pauseA

Toggle media playback on or off.

next_trackA

Skip to the next media track.

previous_trackA

Skip to the previous media track.

seek_mediaA

Seek media playback to a position in seconds.

read_clipboardA

Read the current clipboard text.

write_clipboardA

Write text to the clipboard.

clear_clipboardA

Clear the clipboard contents.

display_screenshotA

Capture the current screen with flameshot to ~/Pictures and return it to the client as base64 image data (compressed for relay delivery when large). The AI model only receives a success confirmation — the image is delivered to the user interface separately.

display_recordB

Record a short screen clip and return MP4 as base64.

monitor_offA

Turn the monitor/screen off (blank the display). Use when the user says 'turn off the screen', 'blank the display', or similar.

monitor_onA

Turn the monitor/screen back on. Use when the user says 'turn on the screen', 'wake the display', or similar.

get_monitor_stateA

Check whether the monitor is currently on or off. Use before toggling monitor state if unsure of the current state.

get_display_brightnessA

Get the current screen brightness.

set_display_brightnessC

Set the screen brightness.

get_resolutionA

Get the current display resolution and refresh rate.

lock_screen_displayA

Lock the screen via the display manager (fast path, no fallbacks). Prefer lock_screen_security unless you specifically need the display-manager lock.

set_night_lightA

Enable or disable night light and set colour temperature.

list_filesC

List files and directories at a path.

download_fileA

Download a file from the local filesystem and send it to the user interface. Images are shown in the UI (not to the AI model) — you only get a success confirmation with path/size. Files larger than the configured limit are rejected with size details; do not retry the same path. Use for transferring a file the user asked to see or receive, not for reading file contents yourself.

upload_fileC

Upload a file to a destination path.

delete_pathB

Delete a file or directory.

make_directoryA

Create a new directory.

rename_pathC

Rename or move a file or directory.

search_filesA

Search files and directories by name under allowed directories. Prefer path under the user home (e.g. /home/). If path is / or omitted, search is automatically limited to configured allowed_base_dirs.

get_disk_usageA

Disk space usage: how much free and used space each mounted partition has. Use when the user asks how much space is left or available. Do NOT use for partition layout or filesystem type — use get_system_disk for that.

zip_pathsC

Create a zip archive from files and directories.

unzip_pathB

Extract a zip archive to a destination directory.

open_pathA

Open a file or directory with the default system application.

type_keyboardA

Type text at the current focused input.

press_keyboard_keysB

Press one or more keyboard keys or shortcuts.

list_processesA

Full list of all running processes with PIDs. Use when the user wants to find a specific process by name or get a PID to kill. Do NOT use to see what is consuming the most resources — use get_top_processes for that.

is_process_runningA

Check whether a process or app is currently running by name. Use FIRST when asked if an application/process is open — do NOT launch it just to check.

list_installed_applicationsA

List installed desktop applications from this machine (.desktop entries): display name, desktop id, exec binary. Use when the user asks what apps are installed, what browser/IDE they have, or before opening an ambiguous app name.

kill_processB

Kill a process by PID.

kill_process_by_nameB

Kill all processes matching a name.

schedule_jobC

Schedule a command at a specific time or on a cron schedule.

list_jobsB

List all scheduled tasks.

cancel_jobA

Cancel a scheduled task.

run_job_nowB

Trigger a scheduled task immediately.

open_applicationA

Open a desktop/GUI application. Accepts friendly names ('Chrome', 'firefox'), .desktop ids ('google-chrome.desktop'), or exec binaries — resolved against installed .desktop entries on this PC. Use list_installed_applications when unsure of the exact name.

close_applicationA

Close a desktop/GUI application. Accepts the same friendly names and .desktop resolution as open_application (e.g. 'Chrome', 'firefox'). Matches running processes by exec binary and process name.

active_windowA

Get the currently focused window title and app path.

minimize_windowC

Minimize a window by window ID.

close_windowB

Close a window by window ID.

get_power_profileA

Get the current power profile (performance, balanced, power-saver).

set_power_profileC

Set the power profile.

lock_screen_securityA

Lock the screen with multiple fallbacks (most reliable). Use this when the user says 'lock', 'lock the screen', or 'lock my computer'. Prefer this over lock_screen_display.

logout_userA

Log out the current user session.

disable_webcamA

Disable the webcam by unloading the kernel module.

enable_webcamA

Enable the webcam by loading the kernel module.

webcam_snapshotA

Capture a webcam image and return it as base64 PNG.

disable_micA

Mute the default microphone source.

enable_micA

Unmute the default microphone source.

login_historyA

Get recent login events from system auth logs.

ssh_sessionsA

List active SSH sessions.

send_notificationC

Send a desktop notification.

clear_notificationsA

Clear all desktop notifications.

read_notificationsA

Read only the notifications that were sent by this agent in the current session. Do NOT use for system-wide notification history — use list_notifications for that.

list_notificationsA

List all desktop notification history system-wide (all apps). Use when the user asks to see recent notifications or missed alerts.

clear_cacheA

Clear /tmp and user cache directories.

get_logsA

Get the last N lines of a systemd service log.

check_updatesA

Check for available system updates.

run_updateA

Run a full system update (requires confirmation).

sync_timeA

Sync the system clock via NTP.

list_servicesA

List systemd services and their status. Use filter to narrow results and scope=system|user|all for system vs user units (Vela runs as user services). Do NOT use to answer whether one specific service is running — use get_service_status instead.

get_service_statusA

Check whether a specific systemd service is running, failed, or stopped. Use FIRST when the user asks if a service is up/running/active. Do NOT start or restart the service to answer a status question.

list_failed_servicesB

List failed systemd units from the current boot.

list_timersA

List systemd timers and when they next run.

check_package_installedB

Check whether a package is installed (apt/dnf/pacman).

get_boot_errorsA

Recent error-level journal entries from the current boot.

restart_serviceB

Restart a systemd service. Use only when the user asks to restart/fix it — not to check status.

stop_serviceC

Stop a systemd service.

start_serviceA

Start a systemd service. Use get_service_status first when the user asks if it is running; only start when they ask to start it or it is down and they want it fixed.

get_docker_infoA

Check whether Docker is installed and the daemon is running.

list_docker_containersA

List Docker containers. Use when the user asks what containers are running or to find a container by name/image.

get_container_statusA

Detailed status for one Docker container. Use FIRST when asked if a container is running.

get_container_logsB

Recent logs from a Docker container.

start_containerA

Start a Docker container. Check status first unless the user explicitly asked to start it.

stop_containerB

Stop a Docker container.

restart_containerC

Restart a Docker container.

compose_statusB

List services from a Docker Compose project.

speed_testA

Run a network speed test (download, upload, ping).

check_portA

Find what process is listening on a TCP port on this machine. Use when the user asks what service/app uses a port, what's on port X, or if a port is open (e.g. 8765 for the local Vela API). Returns PID, process name, and command line.

health_checkC

Probe an HTTP(S) URL and report whether it responds.

get_firewall_statusA

Get ufw firewall status when installed.

get_vpn_statusA

Check whether a VPN interface or NetworkManager VPN connection is active.

monitor_battery_healthA

Get detailed battery health information (cycle count, capacity, health percent).

get_uptimeA

Get system uptime: how long the laptop has been running since last boot, returned as seconds, minutes, hours, days, and a human-readable formatted string.

get_system_configA

Get system configuration (home directory, username).

get_directory_treeB

Get directory tree structure for folder navigation.

beep_audioA

Play a simple notification beep sound.

check_alert_statusA

Check the monitoring system status: whether spike alerts and daily summaries are scheduled, alerts today, and recipient email from .env. No email input needed — reads RECIPIENT_EMAIL from .env.

send_test_spike_alertA

Manually check CPU/memory and send an alert email if thresholds are exceeded. Email goes to RECIPIENT_EMAIL from .env (no prompt). Optional: cpu_threshold (default 80%), memory_threshold (default 85%).

send_daily_summary_nowA

Send the daily system summary email right now. Includes CPU, memory, vnstat network stats, top processes. Goes to RECIPIENT_EMAIL from .env — no email prompt.

send_test_emailA

Send a test spike alert email to RECIPIENT_EMAIL (from .env) to verify Resend is working. Always sends regardless of CPU/memory. No email input needed.

check_vnstat_statusA

Check if vnstat is installed, its version, and which network interfaces it's monitoring.

get_vnstat_dataA

Get network usage from vnstat for a specific period. period: 'day' (today — default), 'month' (this month), 'hour' (current hour). Use when the user asks about their data usage or bandwidth.

get_system_statsA

Get current system stats on demand: CPU usage, memory, vnstat network (today + month), top processes, uptime. Use when the user asks 'how's my system', 'give me stats', 'show system status'.

send_push_notificationA

Send a push notification to the user's registered mobile devices.

search_and_playA

Search Spotify for a song and immediately play it. If no active device is available, Vela opens the local Spotify app and registers this PC as a playback device before retrying. Use when the user wants to hear a specific song.

spotify_devicesA

Get list of available Spotify playback devices (speakers, computers, phones). Use when the user asks what devices are available for playback.

spotify_authA

Start Spotify account linking. Returns an auth URL the user must open in a browser to sign in and approve access. After approving, Spotify redirects to the configured callback URL and Vela finishes linking automatically — the browser should show a success or failure page.

spotify_callbackA

Legacy/manual completion of Spotify linking with an authorization code. Prefer the automatic browser redirect to /spotify/callback; only use this if the redirect could not finish linking.

gatekeeper_list_projectsA

List all Gatekeeper client projects (slug, name, domain, status, due date, amount due). Use for billing/access overview across hosted clients.

gatekeeper_get_projectA

Get one Gatekeeper project with payment history and audit log. Use when the user asks about a specific client site or slug.

gatekeeper_create_projectA

Create a new Gatekeeper project registration. PREREQUISITE: Docker container must already exist and be running (use gatekeeper_create_container first). DEPLOYMENT ORDER: This is step 2 of 4. 1) gatekeeper_check_image_status → gatekeeper_create_container → ensure running 2) gatekeeper_create_project (this step) 3) gatekeeper_nginx_wizard_context → gatekeeper_nginx_enable 4) gatekeeper_install_certificate. Use for onboarding new clients.

gatekeeper_update_projectA

Update Gatekeeper project fields for an existing client project. PATCH semantics: provide slug to target the project plus ONLY the fields the user asked to change — every body field is optional but at least one is required. Editable fields: name, domain, containerName, type (frontend|backend), clientName, clientEmail, amountDue (number), currency (e.g. KES/USD), dueDate (YYYY-MM-DD, or null to clear), gracePeriodDays (integer). Do NOT send fields the user did not ask to change.

gatekeeper_delete_projectA

Archive a Gatekeeper project (soft delete). Preserves payments and audit log. Use when removing a client while keeping historical data.

gatekeeper_list_overdueA

List active Gatekeeper projects past their due date, sorted by days overdue. Use for payment triage — who is late and when auto-block kicks in.

gatekeeper_list_paymentsA

List payments across all Gatekeeper projects with optional filters: status (pending/success/failed/abandoned/reversed), project_slug, from/to dates, limit, offset.

gatekeeper_revenue_reportB

Gatekeeper revenue summary: total this month, last month, and monthly breakdown. Optional input: period (default month), months (default 6).

gatekeeper_list_auditA

Recent Gatekeeper audit log entries across all projects (block/unblock/payments).

gatekeeper_get_project_auditA

Get audit log for a specific project.

gatekeeper_initialize_paymentA

Generate a Paystack payment link for a project. Requires slug and email. Creates a pending payment and returns a checkout URL.

gatekeeper_block_projectA

Manually block a Gatekeeper client project (gates their site/API). Requires slug and a non-empty reason. Confirmation gate applies.

gatekeeper_unblock_projectA

Manually unblock a Gatekeeper client project after payment or agreement. Requires slug and a non-empty reason. Confirmation gate applies.

gatekeeper_nginx_wizard_contextA

Wizard helper: fetch project + nginx context to drive a step-by-step UI (status, container hints, certificate options).

gatekeeper_nginx_validateB

Wizard helper: validate nginx enable inputs and return a config preview without applying changes.

gatekeeper_nginx_statusB

Check if a project has an nginx site configured and enabled, and whether SSL is set up.

gatekeeper_nginx_enableA

Generate and enable an nginx site config for a project. PREREQUISITE: Project must exist and container must be running. DEPLOYMENT ORDER: This is step 3 of 4. Use gatekeeper_nginx_wizard_context first to fetch project details and validate. After enabling, proceed to gatekeeper_install_certificate for SSL.

gatekeeper_nginx_disableA

Disable (unlink) an nginx site without removing the config file.

gatekeeper_nginx_removeA

Remove an nginx site completely (both sites-available file and sites-enabled symlink).

gatekeeper_list_certificatesA

List installed SSL certificates found under /etc/letsencrypt/live.

gatekeeper_install_certificateA

Install an SSL certificate for a domain using certbot. DEPLOYMENT ORDER: This is step 4 of 4 — do this last. PREREQUISITE: nginx site must be enabled (use gatekeeper_nginx_enable first). Requires domain and email. This completes the deployment.

gatekeeper_remove_certificateB

Remove an SSL certificate for a domain.

gatekeeper_check_certificate_statusA

Check whether an SSL certificate is installed for a domain.

gatekeeper_check_image_statusA

Wizard helper: check whether an image is available locally before attempting container creation.

gatekeeper_create_containerA

Create and start a new Docker container with custom configuration. DEPLOYMENT ORDER: This is step 1 of 4 — do this first. Requires image. Optional: name, projectSlug, ports, env, network, volumes, restartPolicy. If the user provides .env variables, pass them in the env field. If the user says the env vars are already in a local .env file on the Docker host, prefer passing envFilePath (absolute path) so Gatekeeperd can load it server-side. After creation, verify the container is running before proceeding to project creation.

gatekeeper_containers_wizard_contextA

Wizard helper: fetch Docker container-creation context (networks + internal network info).

gatekeeper_containers_wizard_ports_checkB

Wizard helper: check whether host ports are already in use on the Docker host.

gatekeeper_containers_wizard_validateB

Wizard helper: validate and normalize a CreateContainerRequest without applying changes.

gatekeeper_list_containersA

List all Docker containers visible to Gatekeeperd on the host.

gatekeeper_get_containerA

Get details for a single container by name or ID prefix.

gatekeeper_start_containerC

Start a stopped container.

gatekeeper_stop_containerB

Stop a running container.

gatekeeper_restart_containerC

Restart a container.

gatekeeper_delete_containerB

Delete a container permanently.

gatekeeper_get_container_healthB

Get container health/running state.

gatekeeper_list_networksA

List Docker networks.

gatekeeper_pull_imageC

Pull a Docker image from a registry.

gatekeeper_delete_imageA

Delete a Docker image from the local Docker host.

Prompts

Interactive templates invoked by user choice

NameDescription
deploy-clientFull client onboarding: pull image → create container → create Gatekeeper project → enable nginx → install SSL cert. Use when the user wants to deploy a new client site or app (e.g. 'deploy image X for domain Y').
billing-triagePayment runbook for the hosting business: list overdue projects, review revenue, generate payment links for late clients, and block/unblock as needed. Use when the user asks who is late on payment, what to do about overdue clients, or to review billing health.
system-diagnoseSystem health/performance diagnosis: snapshot metrics, top processes, disk usage, battery, and temperatures embedded as live context. Use when the user reports the PC is slow, sluggish, overheating, or they want to know what's wrong.
network-troubleshootNetwork troubleshooting: WiFi status, data usage, firewall and VPN state embedded as live context, plus ping and speed-test steps. Use when the user reports slow internet, disconnects, no connectivity, or wants their network checked.
security-auditSecurity review briefing: recent login history, active SSH sessions, firewall status, failed services, and boot errors rendered as a briefing. Use when the user asks for a security check, whether anyone unauthorised has logged in, or to review the machine's security state.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 183 tools

Disambiguation4/5

Descriptions are unusually careful with cross-references ('Do NOT use X for Y'), which makes most tools easy to tell apart. Still, some clusters overlap enough to cause misselection, such as Docker container tools vs. Gatekeeper container tools, and lock_screen_display vs. lock_screen_security.

Naming Consistency4/5

The overwhelming majority of tools use a clear snake_case verb_noun pattern (list_, get_, set_, monitor_, start_, stop_, etc.). A few outliers like audio_devices, active_window, login_history, and health_check break the pattern but do not make the set chaotic.

Tool Count1/5

183 tools is an extreme count for any MCP server, far beyond the 50+ threshold for a low score. Even with a broad all-in-one device-management scope, this volume creates heavy context overhead and makes tool selection expensive.

Completeness4/5

Within the domains the server targets, coverage is quite thorough: files, processes, services, Docker, Gatekeeper deployment, media, notifications, and network monitoring all have lifecycle-oriented operations. Minor gaps exist, such as no Compose up/down, no per-PID process details beyond listing, and no explicit payment-success recording, but these are workable.

Maintenance

ActivityMaintained
ResponsivenessNo issues