pier-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PIER_TOKEN | Yes | Bearer token for authentication |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pier_list_appsA | List all apps/services deployed on the Pier server. Returns an array of services with IDs, names, status, and URLs. Call this first to discover app IDs, then use those IDs for all other operations. |
| pier_get_app_statusA | Check the current status of an app — whether it is running, stopped, or deploying, plus its public endpoints. Use this to health-check an app or discover its URLs. |
| pier_start_or_restart_appA | Start a stopped app, or restart a running one. Recreates the container — all non-volume state is lost. Use after ANY config change (env vars, ports, image, command) for the change to take effect. |
| pier_stop_appA | Stop an app and remove its container. Persistent volumes are kept. Temporary teardown — restart later with start_or_restart_app. |
| pier_delete_appA | Permanently delete an app and all its resources. This is UNRECOVERABLE — all data, config, and volumes are destroyed. |
| pier_rename_appA | Change the display name of an app. |
| pier_deploy_serviceA | Trigger a new deployment for an app. Rebuilds and restarts the container from its configured source (Git, Dockerfile, Compose, or image). |
| pier_get_env_varsA | Read the full set of environment variables for an app. |
| pier_set_env_varsA | Replace the entire environment variable set for an app. Any existing variables not included in the new array will be deleted. For a single variable change, use update_env_var instead. |
| pier_update_env_varA | Add or update a single environment variable without affecting other variables. Preferred over set_env_vars for individual changes. |
| pier_get_logsB | Fetch recent deployment logs for an app. Optionally limit to the last N lines. |
| pier_get_system_metricsA | Get server-level metrics: CPU, RAM, disk, and network usage. |
| pier_list_containersA | List all Docker containers on the server, including Pier-managed and standalone containers. |
| pier_get_container_logsB | Fetch logs from a specific Docker container. Requires the container ID. |
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 14 tools
Most tools target a distinct app or environment action, and descriptions explicitly clarify differences such as set_env_vars vs update_env_var. However, start_or_restart_app vs deploy_service and get_logs vs get_container_logs are close enough that an agent could misselect without careful reading.
All tools share the pier_ prefix and follow a consistent verb_noun snake_case pattern (list/get/start/stop/delete/rename/set/update + noun). Minor noun choices like service vs app don't break the predictable pattern.
14 tools is within the ideal range and each operation covers a distinct administrative need: app lifecycle, environment variables, logs, and server/container visibility. The count feels complete without bloating the surface.
The set covers app lifecycle management well: list, status, start/stop/restart, delete, rename, deploy, env vars, and logs. However, there is no explicit create-app operation and no way to update core app configuration such as ports, image, or command, which is a notable gap for a deployment server.