fleet-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | No | GitHub personal access token (alternative to gh auth login) | |
| MCP_AUTH_TOKEN | No | Auth token for HTTP mode | |
| DOCKER_SSH_TARGET | No | SSH target for running docker commands remotely |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_sshA | Run a shell command on the fleet server over SSH (FLEET_SSH_TARGET). Powerful and can change server state — prefer a specific tool when one exists. |
| site_statusA | Check one URL and return HTTP status code, total time, and the final URL after redirects. |
| check_all_sitesA | Check HTTP status for a list of URLs in parallel and return a summary table. |
| ssl_expiryA | Return the TLS certificate expiry date and days remaining for a domain. |
| disk_usageA | Show server disk usage (df -h /) and the largest vhost directories. |
| wpA | Run an arbitrary wp-cli command for a site over SSH. |
| wp_update_pluginsC | Update all plugins for a site (wp plugin update --all). |
| wp_purge_lscacheA | Purge the full LiteSpeed (LSCache) cache for a site. Note: restarting lsws is NOT the same as purging the cache. |
| wp_healthB | Quick health snapshot: site URL, core version, active plugin count, and PHP version reported by wp-cli. |
| wp_php_handlerB | Show the PHP handler configured in Plesk for a domain (FastCGI vs FPM, version). |
| cf_zone_statusA | Show a zone's status, plan, and nameservers by domain name. |
| cf_dns_listB | List DNS records for a zone (by domain). |
| cf_dns_addB | Create a DNS record in a zone. |
| cf_toggle_proxyB | Turn Cloudflare proxy (orange cloud) on or off for a specific record. |
| cf_export_recordsA | Export all DNS records for a zone as a BIND zone file (good for backups). |
| mysql_queryA | Run SQL against a database on the fleet server over SSH. Read-only by default — write statements are blocked unless allowWrite is true. |
| mysql_table_sizesA | List tables in a database ordered by size (MB), with row counts. |
| mysql_create_userA | Create a MySQL user (if absent) and grant all privileges on one database. Useful when a migrated site has a DB but no registered user. |
| mysql_dumpB | Dump a database to a timestamped gzip file on the server and return its path. |
| ghA | Run any GitHub CLI command. Pass arguments as an array (no shell parsing), e.g. ["repo", "view", "owner/name"]. |
| gh_pr_listC | List open pull requests for a repository. |
| gh_create_issueC | Open a new issue in a repository. |
| docker_psA | List running containers (or all with |
| docker_logsC | Show the last N log lines for a container. |
| docker_restartC | Restart a container by name or id. |
| docker_rawA | Run any docker subcommand. Pass arguments as an array, e.g. ["compose", "up", "-d"]. |
| coolify_serversB | List servers connected to your Coolify instance. |
| coolify_appsA | List applications managed by Coolify (name, status, uuid). |
| coolify_deployB | Trigger a deployment for an application by its uuid. |
| coolify_resourcesA | List all Coolify resources (apps, databases, services) across projects. |
| ojs_installA | Provision a fresh OJS install on an EXISTING Plesk subdomain/webspace: deploy files, create DB + user, run the CLI installer, patch config.inc.php (allowed_hosts/base_url/trust_x_forwarded_for), set perms and PHP handler. Generates admin + DB passwords and returns the access details. Prerequisite: the subdomain, its docroot and DNS must already exist. |
| ojs_create_journalA | Create the first (or another) journal on an existing OJS install via the CLI bootstrap recipe — handles the 3 known gotchas (loadAllPlugins throw, missing default section, per-context theme enable) so the frontend works immediately. |
| ojs_statusA | Quick health check of an OJS site: homepage HTTP code, whether config.inc.php exists and is installed, and the configured base_url / allowed_hosts. |
| dev_checkA | Auto-detect the stack in a directory and run its checks. Go: vet, build, test. Node/TS: optional install, then tsc --noEmit, lint, build (whatever exists). |
| scaffold_nextjsA | Create a new Next.js app (TypeScript, App Router) via create-next-app in the given directory. |
| scaffold_goA | Create a new Go module with a minimal main.go and verify it builds. |
| scaffold_ts_libB | Create a minimal strict-TypeScript library (package.json, tsconfig, src/index.ts). |
| dockerizeA | Write a production multi-stage Dockerfile into a project. Pairs with the docker_* and coolify_* tools to build and deploy the result on your server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 38 tools
Most tools have distinct purposes, but generic raw tools like 'run_ssh', 'docker_raw', and 'gh' overlap with the more specific tools, potentially causing an agent to misselect. The overlap is limited, so the score is still high.
Tool names mix conventions: some use prefixes (cf_, coolify_, docker_), others don't (dev_check, disk_usage). The verb-noun pattern is common but not universal, and some names like 'dockerize' stand out. This inconsistency makes it harder to predict tool names.
38 tools is on the high side. While the server covers many subsystems (DNS, Coolify, Docker, GitHub, MySQL, OJS, WordPress), the count borders on excessive. Some tools could be consolidated, and generic raw commands already provide flexible coverage.
The tool set covers essential operations for all domains (e.g., DNS CRUD, database management, WordPress health). Minor gaps like missing a dedicated GitHub PR creation tool are filled by raw commands, so common workflows are achievable.