Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCPDACTYL_TOOLSNoWhich API surface to expose: client, admin, or all. Default client.client
MCPDACTYL_PANELSNoJSON seed of panels read at boot, never written to disk. Example: [{"name":"prod","baseUrl":"https://panel","clientKey":"ptlc_…"}]
MCPDACTYL_SEALEDNoSet to 1 to hide the credential arguments and the panel-switching tools.
MCPDACTYL_HTTP_HOSTNoHTTP transport host. Bind to a public host only behind auth/TLS.
MCPDACTYL_HTTP_PORTNoHTTP transport port.
MCPDACTYL_STATELESSNoSet to 1 to disable persistence; every call must carry inline credentials.
MCPDACTYL_TRANSPORTNoTransport to use: http or stdio. Default stdio.stdio
MCPDACTYL_CONFIG_DIRNoOverride the config directory (default ~/.config/mcpdactyl).
MCPDACTYL_HTTP_TOKENNoSet to require Authorization: Bearer <token> on every request to the HTTP endpoint.

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
panel_addA

Register a Pterodactyl panel by name with its base URL and API key(s). Persisted locally (chmod 600). Re-adding the same name updates it.

panel_removeC

Delete a registered panel by name.

panel_useB

Set the active panel for this session. Tools called without an explicit panel arg use it.

panel_listA

List registered panels. API keys are masked.

panel_testB

Check which API keys work for a panel by making a lightweight request to each API.

server_listB

List servers the client API key can access on the selected panel.

server_getB

Get details for one server by its short identifier or UUID.

server_resourcesB

Current state and CPU / memory / disk / network usage for a server.

server_powerC

Send a power signal to a server: start, stop, restart, or kill.

server_commandC

Send a command to a running server's console. The server must be online.

server_activityC

Get the server's activity log.

server_startup_getB

Get the server's startup command and configurable variables.

server_set_variableC

Set the value of a startup environment variable.

server_renameC

Change the server's name and optionally its description.

server_reinstallB

Trigger a server reinstall. This can wipe server files; use with care.

server_docker_imageB

Change the server's Docker image (must be one allowed by its egg).

files_listC

List files and directories at a path on the server.

files_readA

Read the raw contents of a file. Use for text/config files; large or binary files are better downloaded.

files_writeB

Write raw content to a file, creating or overwriting it.

files_renameC

Rename or move a file/directory within the server. Paths are relative to root.

files_copyC

Copy a file or directory. The copy is placed next to the original.

files_mkdirC

Create a new folder under a root directory.

files_deleteC

Delete one or more files/directories under a root directory.

files_compressC

Create an archive from one or more files/directories under a root.

files_decompressC

Extract an archive file under a root directory.

files_chmodC

Set the mode (e.g. 644, 755) of a file under a root directory.

files_pullC

Download a remote URL directly onto the server.

files_download_urlB

Return a one-time signed URL to download a file (binary-safe). Fetch it outside the model context.

files_upload_urlB

Return a one-time signed URL to upload files to the server. directory is appended to the signed URL, because Wings reads the target folder from it and the panel's own response ignores it.

db_listC

List the server's databases.

db_createC

Create a new database on the server.

db_rotate_passwordC

Generate a new password for a database.

db_deleteC

Delete a database from the server.

schedule_listC

List the server's scheduled tasks.

schedule_getC

Get one schedule and its tasks.

schedule_createC

Create a schedule with a cron expression.

schedule_updateC

Update a schedule. Pterodactyl requires the full cron expression and name on update.

schedule_deleteC

Delete a schedule and its tasks.

schedule_executeC

Trigger a schedule to run immediately.

schedule_task_createC

Add a task. action is command, power, or backup; payload is the command, power signal, or ignored globs.

schedule_task_updateD

Update a task within a schedule.

schedule_task_deleteC

Remove a task from a schedule.

network_listC

List the server's network allocations (IP/port assignments).

network_assignB

Request a new allocation. With no ip/port the next available one is auto-assigned.

network_set_primaryC

Mark an allocation as the server's primary.

network_set_notesC

Update the notes on an allocation.

network_deleteC

Unassign an allocation from the server.

backup_listC

List the server's backups.

backup_createC

Start a new backup. ignored is a newline-separated list of glob patterns to exclude.

backup_getC

Get details for one backup.

backup_download_urlB

Return a one-time signed URL to download a backup. Fetch it outside the model context.

backup_restoreB

Restore a backup to the server. truncate wipes existing files first.

backup_toggle_lockB

Lock or unlock a backup (locked backups cannot be deleted or rotated out).

backup_deleteC

Delete a backup from the server.

subuser_listC

List users with access to the server.

subuser_getC

Get one subuser and their permissions.

subuser_createB

Add a user to the server by email with a set of permission keys (see permissions_list).

subuser_updateC

Replace a subuser's permission set.

subuser_set_filesA

Set which files and directories a subuser may not touch, on panels carrying the sftp-permissions addon. This is a route of its own: the fields are read back by subuser_list but sending them to subuser_update does nothing. Patterns are gitignore syntax, matched by wings — '.jar' matches at any depth, a trailing slash means a directory, and '!' re-allows a path. Note that wings anchors every negation to the server root, so an exception has to name its full path: '!/plugins/AxVaults/messages.yml' works where '!/messages.yml' does not. A root admin bypasses the list entirely.

subuser_deleteC

Remove a user's access to the server.

account_getB

Get the authenticated user's account details.

account_activityC

Get the account activity log.

permissions_listA

List all available subuser permission keys (use with subuser_create).

account_2fa_getB

Get the TOTP secret / QR image URL to enable two-factor authentication.

account_2fa_enableB

Enable two-factor authentication by confirming a TOTP code. Returns recovery tokens.

account_2fa_disableC

Disable two-factor authentication with the account password.

account_update_emailB

Change the account email. Requires the current password.

account_update_passwordC

Change the account password.

account_apikey_listB

List the account's client API keys.

account_apikey_createB

Create a new client API key. The secret is only returned once.

account_apikey_deleteC

Revoke a client API key by its identifier.

account_sshkey_listC

List the account's SSH keys.

account_sshkey_createC

Add an SSH public key to the account.

account_sshkey_removeC

Remove an SSH key from the account by fingerprint.

server_console_tailA

Open the console WebSocket, replay recent output and collect live output for a few seconds, then return it as text. The server should be running.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.6/5.0

Scored across 75 tools

Disambiguation4/5

Tools are generally cleanly separated by resource and action, and adjacent tools like subuser_update vs subuser_set_files are explicitly distinguished. A few pairs remain close enough to require description-checking (files_pull vs files_upload_url, backup_download_url vs files_download_url, panel_list vs panel_test), but most boundaries are clear.

Naming Consistency4/5

Names consistently use snake_case and a resource-prefixed pattern (backup_*, files_*, schedule_*, account_*). Minor deviations exist where the action is implicit or noun-like, such as server_resources, server_power, server_activity, and files_mkdir, but the convention remains readable and predictable.

Tool Count1/5

At 75 tools, this surface is far beyond a reasonable tool count for an agent-facing MCP server and creates a heavy selection burden. The broad Pterodactyl management scope justifies many operations, but not this many in a single toolset.

Completeness4/5

Coverage is extensive across files, backups, schedules, network allocations, subusers, panels, and account management, with full lifecycle operations for most resources. Minor gaps remain around server-level creation/deletion or transfer/admin operations, but core workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues